通过反射获取类型的非公共属性

时间:2010-09-22 08:11:58

标签: c# .net reflection

如何通过反射获取类型的非公共属性?

2 个答案:

答案 0 :(得分:4)

是的,你可以。在通话BindingFlags.NonPublic中指定GetProperties()

class Program
{
    static void Main(string[] args)
    {
        var f = new Foo();
        foreach (var fi in f.GetType().GetProperties(
                               BindingFlags.NonPublic | BindingFlags.Instance))
        {
            Console.WriteLine(fi);
        }
    }       
}

public class Foo
{
    private string Prop { get; set; }
}

答案 1 :(得分:1)

使用

myType.GetProperties(BindingFlags.NonPublic);

尝试此link了解详情。