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文檔。

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