如何在受保护的只读方法上使用Reflection GetMethods

时间:2014-05-16 02:53:50

标签: c# .net

我在类中需要检索几个受保护的readonly方法,因此我可以获取自定义属性。我很自在地获取自定义属性但是如何获取方法?这是简单的课程:

public class TheParser
{
    [myAttribute("test")]
    protected readonly Parser<String> MyKeyWord;
}

为了获得方法,我尝试了许多使用不同BindingFlags的组合,但显然我还没有找到正确的组合。这是一次尝试:

MethodInfo[] methods = typeof(TheParser).GetMethods(BindingFlags.NonPublic);

1 个答案:

答案 0 :(得分:2)

这不是一种方法..它是一个领域。

GetFieldsNonPublicInstance

一起使用
var fields = typeof(TheParser)
                 .GetFields(BindingFlags.NonPublic | BindingFlags.Instance);

foreach (var field in fields)
    Console.WriteLine(field.Name); // prints "MyKeyWord"