国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - C# - C#訪問及調用類中私有成員與方法示例代碼

C#訪問及調用類中私有成員與方法示例代碼

2022-02-24 14:07cnc C#

訪問一個類的私有成員不是什么好做法,大家也都知道私有成員在外部是不能被訪問的,這篇文章主要給大家介紹了關于C#訪問及調用類中私有成員與方法的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下

開發背景

開發工具:vs2017

語言:c#

dotnet版本:.net framework 4.0及以上

系統:win10 x64

一、首先建立一個控制臺app,并命名為consoleapp,如下圖所示:

C#訪問及調用類中私有成員與方法示例代碼

二、新建一個person類

并在類里面添加兩個成員,一個是name字段,另外一個是display方法,該方法帶有一個“前綴”輸入參數prefix,用于加在name字段前面,如下代碼所示:

?
1
2
3
4
5
6
7
8
class person
 {
  string name;
  void display(string prefix)
  {
   console.writeline($"{prefix},{name}");
  }
 }

三、將system.reflection引用進來,這里是本隨筆的關鍵所在

如下圖所示:

?
1
using system.reflection;

四、如何設置及訪問name字段?

在這里我們使用反射技術,使用type類里的反射機制進行訪問,

1)公用部分,具體代碼如下:

?
1
2
3
4
person person = new person();
type type = typeof(person);
bindingflags flags = bindingflags.nonpublic | bindingflags.instance;
fieldinfo finfo = type.getfield("name", flags);

2)設置name字段,設置方法如下代碼所示:

?
1
finfo.setvalue(person,"cnxy");

3)訪問name字段,訪問方法如下代碼所示:

?
1
var name = finfo.getvalue(person);

4)name字段結果如下:

C#訪問及調用類中私有成員與方法示例代碼

說明:

bindingflags.nonpublic:搜索非公有方法的成員;

bindingflags.instance:搜索成員實例,包括字段及方法等。

五、如何訪問display私有方法?

同樣,借用第四部分代碼(person及flags),具體代碼如下:

?
1
2
methodinfo minfo = type.getmethod("display",flags);
minfo.invoke(person, new object[] { "hello" });

輸出結果如下:

C#訪問及調用類中私有成員與方法示例代碼

說明:

invoke用于調用方法,后面的參數使用數組的方法,如有一個參數,則輸入一個參數的object數組,如有多個參數,則輸入多個參數的object數組。

六、源代碼如下:

consoleapp.rar

七、實際用處

system.windows.forms下面有一個類,名叫notifyicon,其設置的text只能是63個字符,所想輸入大于63個字符,如下設置方法是行不通的,代碼如下:

?
1
2
notifyicon ni = new notifyicon();
ni.text = "64個字符(實際有64個字符,這里并沒有達到個數,僅作展示)";

那么,我們必須另外的方法來繞過notifyicon的限制,這里使用了反射技術(也就是以上所說的),代碼如下:

?
1
2
3
4
5
6
7
notifyicon ni = new notifyicon();
string text = "大于63個字符,小于127個字符的字符串";
if (text.length >= 128) throw new argumentoutofrangeexception("text limited to 127 characters");
type t = typeof(notifyicon);
bindingflags hidden = bindingflags.nonpublic | bindingflags.instance;
t.getfield("text", hidden).setvalue(ni, text);
if ((bool)t.getfield("added", hidden).getvalue(ni)) t.getmethod("updateicon", hidden).invoke(ni, new object[] { true });

以上的限制個數為大于63個,小于127個。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對服務器之家的支持。

原文鏈接:https://www.cnblogs.com/cncc/p/8249768.html

延伸 · 閱讀

精彩推薦
  • C#C#通過KD樹進行距離最近點的查找

    C#通過KD樹進行距離最近點的查找

    這篇文章主要為大家詳細介紹了C#通過KD樹進行距離最近點的查找,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    帆帆帆6112022-01-22
  • C#C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    這篇文章主要介紹了C# 實現對PPT文檔加密、解密及重置密碼的操作方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下...

    E-iceblue5012022-02-12
  • C#Unity3D實現虛擬按鈕控制人物移動效果

    Unity3D實現虛擬按鈕控制人物移動效果

    這篇文章主要為大家詳細介紹了Unity3D實現虛擬按鈕控制人物移動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一...

    shenqingyu060520232410972022-03-11
  • C#C#裁剪,縮放,清晰度,水印處理操作示例

    C#裁剪,縮放,清晰度,水印處理操作示例

    這篇文章主要為大家詳細介紹了C#裁剪,縮放,清晰度,水印處理操作示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    吳 劍8332021-12-08
  • C#C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    這篇文章主要介紹了C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題,簡單描述了訪問者模式的定義并結合具體實例形式分析了C#使用訪問者模式解決長...

    GhostRider9502022-01-21
  • C#深入解析C#中的交錯數組與隱式類型的數組

    深入解析C#中的交錯數組與隱式類型的數組

    這篇文章主要介紹了深入解析C#中的交錯數組與隱式類型的數組,隱式類型的數組通常與匿名類型以及對象初始值設定項和集合初始值設定項一起使用,需要的...

    C#教程網6172021-11-09
  • C#C#實現XML文件讀取

    C#實現XML文件讀取

    這篇文章主要為大家詳細介紹了C#實現XML文件讀取的相關代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    Just_for_Myself6702022-02-22
  • C#WPF 自定義雷達圖開發實例教程

    WPF 自定義雷達圖開發實例教程

    這篇文章主要介紹了WPF 自定義雷達圖開發實例教程,本文介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下...

    WinterFish13112021-12-06
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 黄色日本视频 | 欧美国产日韩在线 | 久久99国产精品久久99大师 | 精品视频在线播放 | 精品国产三级 | 国产精品美女久久久久久久久久久 | 91成人看片 | 国产日韩一区二区三免费高清 | 精品国偷自产在线 | 一区二区在线视频 | 久久久综合网 | 亚洲精品成人av | 欧美精品在欧美一区二区少妇 | 精品久久久久久亚洲综合网 | 亚洲品质自拍视频网站 | 亚洲成人av片 | 亚洲久久久久 | 精品国产一二三区 | 日韩 在线| 国产精品正在播放 | 色狠狠久久av五月综合 | 亚洲成人网一区 | 国产一区二区三区 | 免费大片黄在线观看 | 日本在线免费观看 | 欧美黄色一区 | 久久手机免费视频 | 一区二区欧美在线 | 99热新| 精品福利av导航 | 日韩精品久久久久 | 一区二区在线视频 | 成年人在线看 | 欧美大片免费高清观看 | 国产一区二区av在线 | 一区二区日韩 | 龙珠z中文版普通话 | 欧美女人性 | 中文字幕黄色 | 日本成人片网站 | 亚洲成人av在线 |