Visual objects in the real world are seen in contextual scenes. These contexts are usually coherent in terms of their physical and semantic content, and they usually occur in typical configurations.
If you ever need to work with all of the properties in some object, you can use GetType and GetProperties to retrieve the object's PropertyInfo objects. After that you can do what you want. Here's an ...