GetMethods(BindingFlags.NonPublic)不能显示私有方法

.Net技术 码拜 9年前 (2016-05-06) 1527次浏览
本人有如下的代码:

    class V
    {
        private void f() { }
    }
    class Program
    {
        static void Main(string[] args)
        {
            var t=typeof(V);
            var ms=t.GetMethods(BindingFlags.Public|BindingFlags.Static|BindingFlags.NonPublic);
            Console.WriteLine(ms.Length);
            foreach (var m in ms)
                Console.WriteLine(m.Name);
        }
    }

打印的结果是:

0
请按任意键继续. . .

为什么会这样,本人已经制订了NonPublic这个标志了。
本人用VS2013.
邪恶写。

解决方案

40

var ms = t.GetMethods(BindingFlags.NonPublic | BindingFlags.Instance);

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明GetMethods(BindingFlags.NonPublic)不能显示私有方法
喜欢 (0)
[1034331897@qq.com]
分享 (0)