BindingFlags使用注意點

2021-07-23 01:35:07 字數 1139 閱讀 8007

為了獲取返回值,必須指定 bindingflags.instance 或 bindingflags.static。

指定 bindingflags.public 可在搜尋中包含公共成員。

指定 bindingflags.nonpublic 可在搜尋中包含非公共成員(即私有成員和受保護的成員)。

指定 bindingflags.flattenhierarchy 可包含層次結構上的靜態成員。

bindingflags.ignorecase,表示忽略 name 的大小寫。

bindingflags.declaredonly,僅搜尋 type 上宣告的成員,而不搜尋被簡單繼承的成員。

可以使用下列 bindingflags 呼叫標誌表示要對成員採取的操作:

createinstance,表示呼叫建構函式。忽略 name。對其他呼叫標誌無效。

invokemethod,表示呼叫方法,而不呼叫建構函式或型別初始值設定項。對 setfield 或 setproperty 無效。

getfield,表示獲取字段值。對 setfield 無效。

setfield,表示設定字段值。對 getfield 無效。

getproperty,表示獲取屬性。對 setproperty 無效。

setproperty 表示設定屬性。對 getproperty 無效。

bindingflags.createinstance : 表示呼叫建構函式。忽略 name。對其他呼叫標誌無效

bindingflags.declaredonly : 僅搜尋 type 上宣告的成員,而不搜尋被簡單繼承的成員

bindingflags.default :沒有任何標誌

bindingflags.instance : 物件例項

bindingflags.static : 靜態成員

bindingflags.public : 指可在搜尋中包含公共成員

bindingflags.nonpublic : 指可在搜尋中包含非公共成員(即私有成員和受保護的成員)

bindingflags.flattenhierarchy : 指可包含層次結構上的靜態成員

bindingflags.ignorecase : 表示忽略 name 的大小寫

C 反射使用時注意BindingFlags的用法

最近剛剛開始用反射做專案,遇到乙個小的知識點,記錄一下。c 反射查詢方法時,預設只能查到public方法。如果想要查詢private方法,需要設定bindingflags.即 bindingflags.public bindingflags.instance 預設查詢public instance內...

C 反射使用時注意BindingFlags的用法

c 反射查詢方法時,預設只能查到public方法。如果想要查詢private方法,需要設定bindingflags.即 bindingflags.public bindingflags.instance 預設查詢public instance內容。bindingflags.nonpublic bin...

ios NSUserDefaults使用注意事項

nsuserdefaults適合儲存輕量級的資料,他不僅可以儲存基本資料型別,還可以儲存nsnumber integer float double nsstring,nsdate,nsarray,nsdictionary,bool型別。nsuserdefaults standarduserdefau...