绑定标志中的Pipe是否不代表“ OR”

时间:2019-03-07 11:49:33

标签: c# reflection bindingflags

我目前正在即时窗口中调试:

-

这将返回0个属性:

type.GetProperties(BindingFlags.Instance)

这还将返回0个属性:

type.GetProperties(BindingFlags.Public)

但这会返回两个属性:

type.GetProperties(BindingFlags.Instance|BindingFlags.Public)

这也是如此:

type.GetProperties(BindingFlags.Public|BindingFlags.Instance)

我会认为,如果这是一个or,那么如果最下面的两个都返回true,那么最上面的两个也应该返回。

有人可以告诉我这是如何工作的吗?

1 个答案:

答案 0 :(得分:2)

请参阅GetProperties的文档。您必须指定可见性(公共/私有),以及它是否应为“静态”或“实例”属性。