Система. Использование пространства имен ComponentModel

Я считаю меня довольно опытным разработчиком.NET, но я непосредственно почти никогда не использовал типы в Системе. Пространство имен ComponentModel. (Я реализовал несколько пользовательских атрибутов и использовал их через отражение).

В том, какой сценарии делают типы, такие как Компонент, Контейнер, PropertyDescriptor, TypeDescriptor, Лицензия и TypeConverter входят самые полезные?

Я часто видел Систему. ComponentModel упомянул при разговоре о "разработчиках", таких как доступные в Visual Studio.

Действительно ли эти типы только полезны, когда Вы, например, хотите создать пользовательский элемент управления с хорошим визуальным разработчиком (например, пользовательские свойства и т.д.)? Или я мог также использовать их в более общем коде?

9
задан Ash 15 December 2009 в 13:35
поделиться

1 ответ

Как и вы, я использовал только определенные вами классы ( Component , Container и т. Д.) Косвенно, то есть уже в -производная форма (каждый System.Windows.Forms.Control является производным от Component и т. д.). Так что мне больше нечего добавить. При добавлении свойств в настраиваемые элементы управления я почти всегда использую многие из DefaultValueAttribute , DesignerSerializationVisibilityAttribute и другие классы * Attribute . Но это довольно распространенное явление, и, вероятно, не то, что было после вашего вопроса.

Что касается остальной части пространства имен, мне нужно много асинхронной обработки, и я часто использую следующее:

  • AsyncOperation
  • ] AsyncOperationManager
  • ProgressChangedEventHandler / ProgressChangedEventArgs
  • RunWorkerCompletedEventHandler / RunWorkerCompletedEventArgs
2
ответ дан 5 December 2019 в 02:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: