Jas*_*son 6 c# reflection serialization properties
我试图在我的代码中记录有关某些对象和类的状态的信息.并非所有类或库都使用序列化实现.所以我在属性上使用Reflection来写出状态的XML文档.不过,我有像内建类,有些对象(即字符串,日期,数字等)有打印出的类以有意义的方式将值ToString函数是一个挑战.但是对于其他类,调用ToString只是使用继承的基ToString来吐出对象类型的名称(例如Dictionary).在这种情况下,我想以递归方式检查该类中的属性.
因此,如果任何人都可以帮我反思要么弄清楚是否在属性上实现了ToString我正在看这不是基本方法或指出使用GetValue检索集合属性的正确方法我会很感激它.
Ĵ
Kir*_*oll 10
要确定方法是否已覆盖默认.ToString()检查,MethodInfo.DeclaringType如下所示:
void Main()
{
    Console.WriteLine(typeof(MyClass).GetMethod("ToString").DeclaringType != typeof(object));
    Console.WriteLine(typeof(MyOtherClass).GetMethod("ToString").DeclaringType != typeof(object));
}
class MyClass 
{
    public override string ToString() { return ""; }
}
class MyOtherClass {
}
打印出来:
True
False
| 归档时间: | 
 | 
| 查看次数: | 1206 次 | 
| 最近记录: |