C# 使用反射获取继承类属性
要获取继承类的属性,可以使用 C# 中的反射机制。下面是一个示例代码:
using System;
using System.Reflection;
class BaseClass
{
public int BaseProp { get; set; }
}
class DerivedClass : BaseClass
{
public int DerivedProp { get; set; }
}
class Program
{
static void Main()
{
// 创建DerivedClass对象
var obj = new DerivedClass();
// 获取DerivedClass对象的类型信息
Type type = obj.GetType();
// 获取所有公共属性
PropertyInfo[] props = type.GetProperties(BindingFlags.Public | BindingFlags.Instance);
// 遍历所有属性
foreach (var prop in props)
{
Console.WriteLine(prop.Name);
}
}
}
上面的代码中,我们首先定义了一个基类'BaseClass'和一个继承自'BaseClass'的派生类'DerivedClass',并在两个类中分别定义了一些属性。然后在'Main'方法中,我们创建了一个'DerivedClass'对象,并使用'GetType'方法获取了该对象的类型信息。接着,使用'GetProperties'方法获取了该类型的所有公共属性,并遍历输出了属性名称。
在这个示例中,输出结果为:
BaseProp
DerivedProp
可以看到,我们成功获取了'DerivedClass'的所有属性,包括继承自'BaseClass'的属性。
原文地址: https://www.cveoy.top/t/topic/ofJv 著作权归作者所有。请勿转载和采集!