KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
It might be an easy and simple question but I still have a little confusion the reason why bitwise OR is decided to use. Assume I have a class A with four fields: class A { private int Field1; private static int Field2; public int Field3; public static int Field4; } And use Reflection to get fields: var fields = typeof (A).GetFields(BindingFlags.Public | BindingFlags.Static); If you are newbie with Reflection and don't know the way how to use BindingFlags , the initial logic thinking in your head would be: This line will select all static OR public fields because bitwise OR is used. And the expected result you think: Field2 Field3 Field4 But when hitting F5, the result will be totally different, bitwise OR works as AND : Field4 Why not use bitwise AND operator which might follow with the logic thinking. like this: var fields = typeof (A).GetFields(BindingFlags.Public & BindingFlags.Static); I found words in MSDN : the bitwise OR operation used to combine the flags might be considered an advanced concept in some circumstances that should not be required for simple tasks. Please could anyone explain the advance concept in here in simple way for understanding?
Tags (comma-separated)
Save Edits
Cancel