Я считаю меня довольно опытным разработчиком.NET, но я непосредственно почти никогда не использовал типы в Системе. Пространство имен ComponentModel. (Я реализовал несколько пользовательских атрибутов и использовал их через отражение).
В том, какой сценарии делают типы, такие как Компонент, Контейнер, PropertyDescriptor, TypeDescriptor, Лицензия и TypeConverter входят самые полезные?
Я часто видел Систему. ComponentModel упомянул при разговоре о "разработчиках", таких как доступные в Visual Studio.
Действительно ли эти типы только полезны, когда Вы, например, хотите создать пользовательский элемент управления с хорошим визуальным разработчиком (например, пользовательские свойства и т.д.)? Или я мог также использовать их в более общем коде?
Как и вы, я использовал только определенные вами классы ( Component
, Container
и т. Д.) Косвенно, то есть уже в -производная форма (каждый System.Windows.Forms.Control
является производным от Component
и т. д.). Так что мне больше нечего добавить. При добавлении свойств в настраиваемые элементы управления я почти всегда использую многие из DefaultValueAttribute
, DesignerSerializationVisibilityAttribute
и другие классы * Attribute
. Но это довольно распространенное явление, и, вероятно, не то, что было после вашего вопроса.
Что касается остальной части пространства имен, мне нужно много асинхронной обработки, и я часто использую следующее: