Is there a way in C# to:
- Get all the properties of a class that have attributes on them (versus having to loop through all properties and then check if attribute exists. 
- If i want all Public, Internal, and Protected properties but NOT private properties, i can't find a way of doing that. I can only do this: - PropertyInfo[] props = type.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic) 
Is there a way to avoid getting private properties but do get everything else.