Ответ 1
Атрибуты, которые влияют на PropertyGrid, являются косвенными: интересный код - это TypeDescriptor, который предоставляет реализацию PropertyDescriptor. Однако этот van будет отменен ICustomTypeDescriptor или TypeDescriptionProvider.
Однако, если мы принимаем правила по умолчанию, ключевыми атрибутами в игре являются:
-
[DisplayName(...)]
-
[Description(...)]
-
[Category(...)]
-
[TypeConverter(...)]
-
[ReadOnly(...)]
-
[Browsable(...)]
-
[DefaultValue(...)]
-
[Editor(...)]
Некоторые другие вещи обнаруживаются с помощью шаблонов, таких как наличие метода ShouldSerialize {name} или Reset {name}.