第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我可以使用反射更改C#中的私有只讀字段嗎?

我可以使用反射更改C#中的私有只讀字段嗎?

慕俠2389804 2019-07-20 10:21:59
我可以使用反射更改C#中的私有只讀字段嗎?我想知道,由于很多事情都可以使用反射來完成,所以在構(gòu)造函數(shù)完成它的執(zhí)行之后,我可以更改私有只讀字段嗎?(注意:只是好奇)public class Foo{ private readonly int bar; public Foo(int num) {  bar = num; } public int GetBar() {  return bar; }}Foo foo = new Foo(123);Console.WriteLine(foo.GetBar()); // display 123// reflection code here...Console.WriteLine(foo.GetBar()); // display 456
查看完整描述

3 回答

?
墨色風(fēng)雨

TA貢獻(xiàn)1853條經(jīng)驗 獲得超6個贊

你可以:

typeof(Foo)
   .GetField("bar",BindingFlags.Instance|BindingFlags.NonPublic)
   .SetValue(foo,567);


查看完整回答
反對 回復(fù) 2019-07-20
?
寶慕林4294392

TA貢獻(xiàn)2021條經(jīng)驗 獲得超8個贊

我同意其他答案,因為它有效。一般特別是與E.Lippert的評論,這不是記錄的行為,因此不是未來的證明代碼。

然而,我們也注意到了另一個問題。如果在權(quán)限受限的環(huán)境中運(yùn)行代碼,則可能會出現(xiàn)異常。

我們剛剛遇到了一種情況,我們的代碼在機(jī)器上正常工作,但是我們收到了一個VerificationException當(dāng)代碼在受限的環(huán)境中運(yùn)行時。罪魁禍?zhǔn)资菍χ蛔x字段設(shè)置者的反射調(diào)用。當(dāng)我們移除那個字段的只讀限制時,它就起了作用。


查看完整回答
反對 回復(fù) 2019-07-20
  • 3 回答
  • 0 關(guān)注
  • 784 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號