- 34
- 0
- 约3.25千字
- 约 4页
- 2021-01-10 发布于天津
- 举报
Fieldl nfo.GetValue 方法
在派生类中被重写时,返回给定对象支持的字段的值。
命名空间: System.Reflection
程序集: mscorlib (在 mscorlib.dll 中)
如果该字段是静态的,则忽略 obj。对于非静态字段,obj应是继承或声明该字段的
类的实例。请注意,GetValue 的返回类型为 Object。例如,如果此字段包含一个 Boolean
基元值,则返回带有相应 Boolean 值的Object 的实例。在返回该值以前,GetValue 将
检查用户是否有访问权限。
静态字段: obj.GetType().GetField( 字段名).GetValue(null);
实例非静态字段:typeof(类名).GetField( 字段名,BindingFlags 标识).GetValue( 对象实例变量);
示例:获取静态字段的值
{publicstaticString val =
{
public
static
String val =
public
static
void Main()
{
FieldInfo myf =
typeof
class MyClass
(MyClass).GetField( val);
test
Console.WriteLine(myf.GetValue( null ));
val = hi;
Console.WriteLine(myf.GetValue( null ));
}
}
示例:获取对象实例的字段值
public class MyClass
{
public string myFieldA;
public string myFieldB;
public MyClass()
{
myFieldA = A public field
myFieldB = Another public field
}
}
public class Fieldlnfo_GetValue
{
public static void Main()
MyClass mylnstance = new MyClass();
Type myType = typeof (MyClass);
try
{
// Get the FieldInfo of MyClass.
Fieldlnfo[] myFields = myType.GetFields(BindingFlags.Public
| BindingFlags」n stance);
Console.WriteLine( \n 显示{0}类型实例各字段的值.\n , myType);
for (int i = 0; i myFields.Length; i++)
{
Console.WriteLine( The value of {0} is: {1} ,
myFields[i].Name, myFields[i].GetValue(mylnstance));
}
}
catch (Exception e)
{
Console.WriteLine( Exception : {0} , e.Message);
}
}
}
下面举一个很实用的例子
有一个控件对象,它拥有Click事件,用户给Click事件添加了事件响应函数 (EventHandler)。
现在需要用一个扩展的自定义控件来通过代码方式动态替换现有控件。 这样,即需要将原控
件的事件处理函数复制过来。而事件对象不能被复制,只能通过反射的方式来实现。
深入分析:控件的Click事件定义方式可能如下。其中 Events为EventHandlerList类型的
集合对象,用来存储所有事件 (在System.ComponentModel.Component中定义)。EventClick 为object类型的对象,作为区分各类 Event的key。
订阅和取消事件的实现方式如下
public event EventHandler Click
{
add { base .Events.AddHandler(EventClick, value); }
remove { base .Events.RemoveHandler(EventClick, value); }
}
Even tClick定义如下
internal static readonly object EventClick;
EventHandlerList类中有一个特殊的方法: Find,定义如下
public sealed class EventHandlerList :... {
private ListEntry Find( object key);
private sealed class ListE
您可能关注的文档
最近下载
- 人教版八年级地理下册第六章第二节《“白山黑水”——东北三省》课件.pptx VIP
- 人教版初中地理八年级下册第六章第二节白山黑水东北三省第1课时课件.pptx VIP
- 哈尔的移动城堡(世界的约定).docx VIP
- 2026年江苏师范单招试题必考题.docx VIP
- 7.2.2 从“北大荒”到“北大仓” 自然资源与工业发展 课件 2025-2026学年度人教版地理八年级下册.pptx
- 人教版八年级下册地理上课课件第二节 第2课时 从北大荒到北大仓自然资源与工业发展.pptx VIP
- 福建农林大学2024-2025学年第1学期《高等数学(上)》期末考试试卷(B卷)附参考答案.pdf
- 杯具消毒操作规范.doc VIP
- 福建农林大学2024-2025学年第1学期《高等数学(上)》期末考试试卷(A卷)附参考答案.pdf
- 组织生活会程序培训课件.ppt VIP
原创力文档

文档评论(0)