1 c# reflection
基本上我只想从基类的[Test]属性获取派生类的属性.
这是我的示例代码:
namespace TestConsole
{
public class BaseClass
{
private System.Int64 _id;
public BaseClass()
{ }
[Test]
public System.Int64 ID
{
get { return _id;}
set { _id = value;}
}
public System.Xml.XmlNode ToXML()
{
System.Xml.XmlNode xml = null;
//Process XML here
return xml;
}
}
public class DerivedClass : BaseClass
{
System.String _name;
public DerivedClass()
{ }
[Test]
public System.String Name
{
get { return _name; }
set { _name = value; }
}
}
public class TestConsole
{
public static void main()
{
DerivedClass derivedClass = new DerivedClass();
System.Xml.XmlNode xmlNode = derivedClass.ToXML();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我希望xmlNode是这样的:
<root>
<class name="DerivedClass">
<Field name="Id">
<Field name="Name">
</class>
</root>
Run Code Online (Sandbox Code Playgroud)
谢谢
您可以调用this.GetType().GetProperties()并调用GetCustomAttributes()每个PropertyInfo属性以查找具有该属性的属性.
您需要递归运行循环以扫描基类型的属性.
| 归档时间: |
|
| 查看次数: |
4661 次 |
| 最近记录: |