天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

C#中訪問私有成員

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

private string name;
public string Name
{
get
{
return name;
}
set
{
name = value;
}
}

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

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

1、得到私有字段的值:

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

2、得到私有屬性的值:

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

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

public static void SetPrivateField(this object instance, string fieldname, object value)
{
BindingFlags flag
= BindingFlags.Instance | BindingFlags.NonPublic;
Type type
= instance.GetType();
FieldInfo field
= type.GetField(fieldname, flag);
field.SetValue(instance, value);
}

NET技術(shù)C#中訪問私有成員,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 99在线观看免费 | 亚洲欧美偷拍视频一区 | 野花高清影视免费观看 | 中文字幕亚洲乱码熟女在线 | 床伴在线观看免费高清完整泰剧第四集 | 久久亚洲视频 | 国产福利不卡在线视频 | swag合集120部 | 久久国语露脸精品国产 | 亚洲精品黄色 | 江苏电台在线收听 | 女子扒开腿让男生桶爽 | 免费果冻传媒2021在线观看 | 菠萝菠萝蜜在线观看视频 | 久热久热精品在线观看 | 色欲AV亚洲午夜精品无码 | 97人视频国产在线观看 | 亚洲 制服 欧美 中文字幕 | 99久热这里精品免费 | 国产精品69人妻无码久久久 | 亚洲高清无在码在线电影 | 无止侵犯高H1V3无止侵犯 | 在线中文字幕视频 | 国产h视频在线观看网站免费 | 亚洲国产日韩a精品乱码 | 亚洲地址一地址二地址三 | 伊人久久中文字幕久久cm | 国产爱豆剧果冻传媒在线 | 福利一区福利二区 | 亚洲 欧美 中文 日韩 视频 | 暖暖直播免费观看韩国 | 亚洲午夜久久久无码精品网红A片 | 国产传媒在线播放 | 漂亮的保姆5电影免费观看完整版中文 | 亚洲福利电影一区二区? | 亚洲第一页视频 | 国语对白嫖老妇胖老太 | 亚洲AV无码乱码国产精品品麻豆 | 我要色色网 | 亚洲精品国产A久久久久久 亚洲精品国产AV成人毛片 | jizz黑丝 |