亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

詳解C#中訪問私有成員的方法

2023-05-08 19:02:31
字體:
供稿:網(wǎng)友

首先訪問一個類的私有成員不是什么好做法。大家都知道私有成員在外部是不能被訪問的。一個類中會存在很多私有成員:如私有字段、私有屬性、私有方法。對于私有成員造訪,可以套用下面這種非常好的方式去解決。


 
  1. private string name;  
  2. public string Name  
  3. {  
  4.     get 
  5.     {  
  6.         return name;  
  7.     }  
  8.     set 
  9.     {  
  10.         name = value;  
  11.     }  

但是有時候,源代碼是別人的,只提供給你dll?;蛘吣闳ゾS護(hù)別人的代碼,源代碼卻有丟失。這樣的情況或許你想知道私有成員的值,甚至去想直接調(diào)用類里面的私有方法。那怎么辦呢?在.net中訪問私有成員不是很難,這篇文章提供幾個簡單的方法讓你如愿以償。

為了讓代碼用起來優(yōu)雅,使用擴(kuò)展方法去實現(xiàn)。

1、得到私有字段的值:


 
  1. public static T GetPrivateField<T>(this object instance, string fieldname)  
  2. {  
  3.     BindingFlags flag = BindingFlags.Instance | BindingFlags.NonPublic;  
  4.     Type type = instance.GetType();  
  5.     FieldInfo field = type.GetField(fieldname, flag);  
  6.     return (T)field.GetValue(instance);  

2、得到私有屬性的值:


 
  1. public static T GetPrivateProperty<T>(this object instance, string propertyname)  
  2. {  
  3.     BindingFlags flag = BindingFlags.Instance | BindingFlags.NonPublic;  
  4.     Type type = instance.GetType();  
  5.     PropertyInfo field = type.GetProperty(propertyname, flag);  
  6.     return (T)field.GetValue(instance, null);  

3、設(shè)置私有成員的值:


 
  1. public static void SetPrivateField(this objectinstance, stringfieldname, objectvalue)   
  2. {   
  3.     BindingFlagsflag = BindingFlags.Instance | BindingFlags.NonPublic;   
  4.     Typetype = instance.GetType();   
  5.     FieldInfofield = type.GetField(fieldname, flag);   
  6.     field.SetValue(instance, value);   
  7. }  

4、設(shè)置私有屬性的值:


 
  1. public static void SetPrivateProperty(this objectinstance, stringpropertyname, objectvalue)   
  2. {   
  3.     BindingFlagsflag = BindingFlags.Instance | BindingFlags.NonPublic;   
  4.     Typetype = instance.GetType();   
  5.     PropertyInfofield = type.GetProperty(propertyname, flag);   
  6.     field.SetValue(instance, value, null);   
  7. }  

5、調(diào)用私有方法:


 
  1. public static T CallPrivateMethod<T>(this object instance, string name, params object[] param)  
  2. {  
  3.     BindingFlags flag = BindingFlags.Instance | BindingFlags.NonPublic;  
  4.     Type type = instance.GetType();  
  5.     MethodInfo method = type.GetMethod(name, flag);  
  6.     return (T)method.Invoke(instance, param);  

測試:

下面我們使用一個測試類,進(jìn)行測試。新建一個類庫項目,測試的類代碼如下:


 
  1. public class TestClass  
  2. {  
  3.  
  4.     public TestClass()  
  5.     {  
  6.         privatefield1 = 1;  
  7.         privatefield2 = 99;  
  8.         PrivateFieldA = "Lo";  
  9.         PrivateFieldB = "ve";  
  10.     }  
  11.  
  12.     private int privatefield1;  
  13.     private int privatefield2;  
  14.     
  15.  
  16.     private string PrivateFieldA  
  17.     {  
  18.         get;  
  19.         set;  
  20.     }  
  21.     private string PrivateFieldB  
  22.     {  
  23.         get;  
  24.         set;  
  25.     }  
  26.  
  27.  
  28.     private int Add()  
  29.     {  
  30.         return privatefield1 + privatefield2;  
  31.     }  
  32.     private string Join()  
  33.     {  
  34.         return PrivateFieldA + PrivateFieldB;  
  35.     }  

將上面類庫的dll引入控制臺項目中。使用下面代碼去使用這個類的私有成員:


 
  1. TestClass obj = new TestClass();  
  2. System.Console.WriteLine("私有字段");  
  3. System.Console.WriteLine(obj.GetPrivateField<int>("privatefield1"));  
  4. System.Console.WriteLine(obj.GetPrivateField<int>("privatefield2"));  
  5.  
  6. System.Console.WriteLine("私有屬性");  
  7. System.Console.WriteLine(obj.GetPrivateProperty<string>("PrivateFieldA"));  
  8. System.Console.WriteLine(obj.GetPrivateProperty<string>("PrivateFieldB"));  
  9.  
  10. System.Console.WriteLine("私有方法");  
  11. System.Console.WriteLine(obj.CallPrivateMethod<int>("Add",null));  
  12. System.Console.WriteLine(obj.CallPrivateMethod<string>("Join"null));  
  13.  
  14. System.Console.WriteLine("修改私有屬性");  
  15. obj.SetPrivateProperty("PrivateFieldA""hello");  
  16. obj.SetPrivateProperty("PrivateFieldB""world");  
  17. System.Console.WriteLine(obj.CallPrivateMethod<string>("Join"null));  
  18. System.Console.Read(); 

結(jié)果如下:

hhh

總結(jié):實現(xiàn)對類私有成員的訪問。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
欧美一二三四区在线| 日本中文字幕不卡免费| 日韩激情毛片| 黑人巨大精品欧美| 久久国产欧美日韩精品| 日韩久久久久久久久久| 91丝袜一区二区三区| 亚洲视频一区在线| eeuss影院18直达| 在线看国产视频| 亚洲桃色在线一区| 欧美性极品xxxx做受| 日韩一区二区三区免费| 99久久久精品免费观看国产| 免费视频一二三区| 18videosex性欧美麻豆| 热久久视久久精品18亚洲精品| 色婷婷久久久亚洲一区二区三区| 九九在线观看视频| 精品人妻一区二区三区免费看| 在线看片欧美| 国产一区二区三区天码| 久久人妻无码一区二区| 一区二区在线免费播放| 奇米777国产一区国产二区| 四季av一区二区凹凸精品| 欧美一区二区性| 日本一区二区三区在线免费观看| 你懂的视频在线一区二区| 91理论电影在线观看| 国产强被迫伦姧在线观看无码| 成人在线观看亚洲| 国产一区二区在线视频播放| 日韩欧国产精品一区综合无码| 色综合久久中文综合久久牛| 国产激情在线免费观看| 亚洲午夜久久久久久久国产| 香蕉视频亚洲一级| 麻豆成人在线视频| 黑森林福利视频导航| 国产在线视频资源| 91精品国产电影| 久久九九久精品国产免费直播| 99re热这里只有精品视频| 国产精品30p| 亚洲资源视频| 亚洲成人黄色| 国精产品久拍自产在线网站| 精品国产av色一区二区深夜久久| 丝袜美腿诱惑一区二区三区| 性欧美videos| 麻豆九一精品爱看视频在线观看免费| 99国产视频在线| 国产精品久久一区二区三区| 国产精品久久777777| 日本sm残虐另类| 欧美一级视频在线播放| av电影高清在线观看| 91精品人妻一区二区三区四区| 日韩国产伦理| 久久夜色精品国产欧美乱| 欧美香蕉大胸在线视频观看| 欧亚成年男女午夜| 国产伦精品一区| 欧美成人精品在线| 亚洲激情自拍视频| xxxx日本黄色| 福利91精品一区二区三区| 国产一级做a爰片久久| 精品久久人人做人人爽| 国产精品五月天| 成人免费淫片在线费观看| 特大黑人巨人吊xxxx| 日本精品免费一区二区三区| 欧美午夜精品理论片a级按摩| 日韩视频中午一区| 91精品综合久久久久久久久久久| 国产原创在线观看| 久久久久久久国产视频| 国产精品你懂的在线欣赏| 久久在线免费视频| 开心激情五月网| 国产精品热视频| 欧美成人亚洲成人| 九九视频精品在线| 国产成人h网站| 久久人人88| 免费不卡av在线| 成人av综合在线| 日韩黄色高清视频| 青青操在线视频| 国产老头老太做爰视频| 亚洲精品欧美日韩专区| 久热99视频在线观看| 又色又爽又黄18网站| 橘梨纱av一区二区三区在线观看| 欧美日韩另类国产亚洲欧美一级| 美女扒开腿让男人桶爽久久动漫| 国产精品1024久久| jizzjizzjizz美国| 亚洲黄色a级片| 欧美日韩成人一区| 日本三级免费看| 99免费视频观看| 国产激情欧美| 伊人久久在线| 欧美大肚乱孕交hd孕妇| 天海翼中文字幕| 狠狠久久亚洲欧美| 波多野结衣一区二区| 在线观看黄网| 精品自拍一区| 秋霞午夜av一区二区三区| 日本午夜免费一区二区| 国产成人视屏| 久久综合久久88| 免费亚洲电影在线| 国产精品视频中文字幕91| 欧美国产禁国产网站cc| 久久久久久国产精品免费无遮挡| 国产视频999| 国产精品国产三级国产普通话蜜臀| 68精品久久久久久欧美| www插插插无码免费视频网站| 国产一区二区三区国产精品| 日韩精品成人在线观看| 在线观看三级视频欧美| 超碰97av在线| 亚洲精品理论片| 欧美肥妇毛茸茸| 久久综合色播| 欧美在线观看视频| 亚洲香蕉在线观看| 亚洲精品在线播放| 亚洲欧美偷拍三级| 人人人妻人人澡人人爽欧美一区| 中文字幕 在线观看| 亚洲色图色老头| 国产九色在线| 91精品国产91久久久久久青草| 成av人电影在线观看| 精品在线手机视频| 美女精品视频在线| 国产一区二区无遮挡| 久久韩剧网电视剧| 成人免费观看网址| 国外亚洲成av人片在线观看| 一级性生活免费视频| 在线观看免费国产小视频| 91亚洲精品国产| 欧美精品一区二区三区蜜桃| 国产日韩欧美亚洲| 久久久久精彩视频| 综合久久2023| 亚洲欧美日韩国产成人综合一二三区| 日韩伦理一区二区三区av在线| 国产调教打屁股xxxx网站| 欧美第一黄网| 国产亚洲一卡2卡3卡4卡新区| 写真福利理论片在线播放| 女人十八岁毛片| 亚洲天堂网在线观看视频| 日韩黄在线观看| 日韩欧美国产免费播放| 夜夜操天天干| 国外av网站| 欧美色图自拍| 六月丁香久久丫| 日本三级很黄试看120秒| 国产伦精品一区二区三区免费| 五月天中文字幕在线| 亚洲an天堂an在线观看| 国产免费一级片| 天堂av在线免费观看| 东京干手机福利视频| 人妻熟女aⅴ一区二区三区汇编| 国产ts变态重口人妖hd| 国产精品久久久久久久久粉嫩av| 国产影视一区| 亚洲视频图片小说| 久久免费高清| 精品少妇人欧美激情在线观看| 性欧美video另类hd3| 国语自产精品视频在线看| 在线观看xxxxvideo| 日产欧产美韩系列久久99| 中文在线最新版天堂| 艳妇荡乳欲伦69影片| 91精品国产高清久久久久久久久| 精品三级av在线导航| 欧美老女人性视频| 欧美成人精品二区三区99精品| 久久手机精品视频| 中文字幕亚洲自拍| 国产日韩精品入口| gv天堂gv无码男同在线观看| 97成人超碰视| 国产精品乱码妇女bbbb| 男女av免费观看| 快射视频在线观看| 亚洲图区一区| 亚洲国产女人aaa毛片在线| 欧美日韩电影在线| 日本黄色入口| 在线最新版中文在线| 欧美黄色录像| 久久aimee| 羞羞网站免费观看| 在线亚洲一区| 天天综合天天操| 天天操天天插天天射| 69堂视频在线观看国产| 午夜一区二区视频| 亚洲精品一区二区三区99| 亚洲日韩欧美视频| 国产美女www爽爽爽| 日本一二三不卡| 狠狠躁夜夜躁av无码中文幕| 麻豆视频在线看| 三级网站在线看| 九七影院97影院理论片久久| 激情五月色综合国产精品| 日韩av片永久免费网站| 亚洲成人免费看| 欧美性xxxxx| 欧美一区二区三区……| 成人性生交大片| 在线免费观看中文字幕| 欧美成人vr18sexvr| 亚洲欧洲国产精品一区| 亚洲女人****多毛耸耸8| 男女午夜激情视频| 欧洲av一区二区三区| 国产一区亚洲二区| 欧美日韩亚洲国产| 中文字幕第38页| 精品欧美国产一区二区三区不卡| 久久精品不卡| 国产欧美一区二区三区在线看蜜臂| 黑人性受xxxx黑人xyx性爽| 99久久99久久精品免费看小说.| 亚洲天堂av免费在线观看| 青青草成人免费视频| 四虎影视2018在线播放alocalhost| 国产精品一二三在线| 理论片鲁丝二区爱情网| 国产极品模特精品一二| 91精品国产自产在线| 麻豆中文一区二区| 少妇视频在线| 亚洲精品中文字幕99999| 美国av一区二区| 欧美日韩看片| 日韩激情视频在线| 黄色的视频在线观看| 亚洲爆乳无码专区| 日本一区二区不卡| 伊人久久综合网另类网站| 国产九九九九九| 国产精品久av福利在线观看| 国产成人亚洲精品播放器下载| 自拍视频在线看| 秋霞成人午夜鲁丝一区二区三区| 国内精品二区| 国产男女爽爽爽| 在线观看欧美理论a影院| 又黄又免费的网站| 日韩av不卡在线观看| 五月天免费网站| 免费观看日批视频| 日本乱码一区二区三区不卡| 久久99精品久久久久久秒播放器| 国产夫绿帽单男3p精品视频| 青花影视在线观看免费高清| 6080日韩午夜伦伦午夜伦| 91精品国产高久久久久久五月天| 欧美男男激情freegay| 日韩一区二区三区高清| 欧美日韩国产精品一区二区| 91精品国产综合久久久久久久久| 亚洲一区二区三区视频| 日韩免费在线免费观看| 国一区二区在线观看| 人妻无码视频一区二区三区| 欧美视频你懂的| 妓院一钑片免看黄大片| 亚洲自拍小视频| 一本色道久久综合狠狠躁篇的优点| 亚洲视频tv| 麻豆一区二区在线观看| 亚洲人体一区| 自拍偷拍免费精品| 亚洲av成人精品日韩在线播放| 久草手机在线视频| 九九热国产精品视频| 成人观看网址| 中文字幕乱码亚洲精品一区| 日韩激情一二三区| 日韩免费电影在线观看| 午夜视频www| 欧美日韩国产网站| 国产日韩欧美在线观看| 亚洲老板91色精品久久| 91精品国产乱码久久久久久久久| 大桥未久女教师av一区二区| 91精品国产综合久久小美女| 一插菊花综合| 国产精品国产福利国产秒拍| 日韩欧美国产精品综合嫩v| 亚洲av综合一区| 国产伦精品一区二区三区精品视频| 加勒比av一区二区| 亚洲欧美激情在线| 亚洲狠狠婷婷综合久久蜜桃| www.老鸭窝.com| 天天射天天操天天干| 国产精品久久久久久久久久| 日韩精品久久久免费观看| 美女撒尿一区二区三区| 在线免费观看一区二区| 午夜久久av| 欧美日韩亚洲丝袜制服| 深夜福利一区二区三区| 永久免费网站视频在线观看| 欧美最猛性xxxxx亚洲精品| 你懂的网站在线观看网址| 国产精品av在线| www.com在线观看|