Razor中的動(dòng)態(tài)匿名類型會(huì)導(dǎo)致RuntimeBinderException我得到了以下錯(cuò)誤:“Object”不包含“RatingName”的定義當(dāng)您查看匿名動(dòng)態(tài)類型時(shí),它顯然有RatingName。我意識(shí)到我可以用一個(gè)元組來完成這個(gè)任務(wù),但是我想了解為什么會(huì)出現(xiàn)錯(cuò)誤消息。
3 回答

qq_花開花謝_0
TA貢獻(xiàn)1835條經(jīng)驗(yàn) 獲得超7個(gè)贊
原因是控制器內(nèi)部傳遞匿名類型,因此只能從聲明它的程序集中訪問它。由于視圖是單獨(dú)編譯的,所以動(dòng)態(tài)綁定程序會(huì)抱怨它無法越過該程序集邊界。
但是,考慮一下,來自動(dòng)態(tài)綁定的限制實(shí)際上是相當(dāng)人工的,因?yàn)槿绻褂盟接蟹瓷?,沒有什么可以阻止您訪問這些內(nèi)部成員(是的,它甚至在中等信任中工作)。因此,默認(rèn)的動(dòng)態(tài)綁定程序正在采取強(qiáng)制執(zhí)行C#編譯規(guī)則的方法(不能訪問內(nèi)部成員),而不是讓您執(zhí)行CLR運(yùn)行時(shí)允許的操作。
- 3 回答
- 0 關(guān)注
- 749 瀏覽
添加回答
舉報(bào)
0/150
提交
取消