C#反射使用时注意BindingFlags的用法

    最近刚刚开始用反射做项目,遇到一个小的知识点,记录一下。

    c#反射查找方法时,默认只能查到public方法。如果想要查找private方法,需要设定BindingFlags.

    即:

    BindingFlags.Public|BindingFlags.Instance 默认查找public、instance内容。

    BindingFlags.NonPublic|BindingFlags.Instance 查找nonpublic、instance内容

    另外,BindingFlags.Instance和BindingFlags.Static二者必须有一项或者都有。如果你的类是instance,就选instance,反之选static。如果两者都不选,是找不到任何方法的。

    当然,稳妥的办法是全写。即:

    BindingFlags.Public|BindingFlags.NonPublic|BindingFlags.Instance|BindingFlags.Static.

    当然,BindingFlags还有其他用法,请参考CSDN文档。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章