Получение свойств типа:
Type someType = typeof(MyClass);
PropertyInfo[] properties = someType.GetProperties(BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.FlattenHierarchy );
Типы получения:
Assembly someAssembly = typeof(MyClass).Assembly;
Type[] typesInSomeAssembly = someAssembly.GetTypes();
Получение и установка значения из информации о недвижимости:
MyClass cls = new MyClass();
PropertyInfo propText = cls.GetType().GetProperty("Text");
object valueOfTextProperty = propText.GetValue(cls, null);
propText.SetValue(cls, "New text", null);