2013-02-23 37 views
3

新的TypeInfo类在其“DeclaredXXX”属性中默认包含私有成员吗?私有成员是否包含在TypeInfo声明的属性中?

+1

难道你不能只写几行代码并自己测试一下吗? – MarcinJuraszek 2013-02-23 22:50:22

+2

我可以但没有人应该,因为这是一个非常基本的问题。它没有记录在任何地方很容易访问,所以任何想要发现的人都必须编码 - sux,no? – Alwyn 2013-02-23 22:55:39

回答

5

它返回私人和公共的成员。但是只有那些在该级别声明的人,任何继承的成员等不会被退回。

+0

我们如何获得私人领域,如果他们是遗传的? – 2013-12-12 20:13:48

+1

@ChrisKooken您可能想对对象的每种基本类型执行递归搜索(使用TypeInfo.BaseType) – 2014-09-08 11:49:11

3

如果是Property而不是Field它会显示私有成员在DeclaredProperties

public class Test 
{ 
    private string test; // will not be in DeclaredProperties 
    private string test2 { get; set; } // will be in DeclaredProperties 
    public int test3{ get; set; } // will be in DeclaredProperties 
} 

var result = typeof(Test).GetTypeInfo().DeclaredProperties; 
相关问题