C#反射获取变量的值
使用反射可以获取变量的值,具体步骤如下:
-
获取变量的类型 首先需要获取变量所在的类型,可以使用对象的GetType()方法获取,也可以使用Type类的静态方法GetType()获取。
-
获取变量的FieldInfo对象 使用Type类的GetField()或GetFields()方法获取变量对应的FieldInfo对象。
-
使用FieldInfo对象获取变量值 使用FieldInfo对象的GetValue()方法获取变量的值。
示例代码:
class MyClass
{
public int MyInt = 10;
public string MyString = "Hello";
}
class Program
{
static void Main(string[] args)
{
MyClass myObj = new MyClass();
// 获取变量的类型
Type myObjType = myObj.GetType();
// 获取MyInt变量的值
FieldInfo myIntField = myObjType.GetField("MyInt");
int myIntValue = (int)myIntField.GetValue(myObj);
Console.WriteLine("MyInt = {0}", myIntValue);
// 获取MyString变量的值
FieldInfo myStringField = myObjType.GetField("MyString");
string myStringValue = (string)myStringField.GetValue(myObj);
Console.WriteLine("MyString = {0}", myStringValue);
}
}
``
原文地址: https://www.cveoy.top/t/topic/cJjR 著作权归作者所有。请勿转载和采集!