9

我认为自己是一位经验丰富的 .NET 开发人员,但我几乎从未直接使用过 System.ComponentModel 命名空间中的类型。(我已经实现了一些自定义属性并通过反射使用它们)。

Component、Container、PropertyDescriptor、TypeDescriptor、License 和 TypeConverter 等类型在哪些场景下最有用?

在谈论“设计器”(例如 Visual Studio 中可用的设计器)时,我经常看到 System.ComponentModel 被提及。

这些类型是否仅在您想使用漂亮的可视化设计器(例如自定义属性等)构建自定义控件时才有用?或者我也可以在更通用的代码中使用它们?

4

1 回答 1

2

和你一样,我只间接使用了你列出的特定类(ComponentContainer等),即以已经派生的形式(每个都System.Windows.Forms.Control派生自Component等)。所以我没有什么要补充的了。在向自定义控件添加属性时,我几乎总是使用许多DefaultValueAttributeDesignerSerializationVisibilityAttribute和其他*Attribute类。但这很常见,可能不是您的问题所在。

至于命名空间的其余部分,我需要大量的异步处理,并经常使用以下内容:

  • 异步操作
  • 异步操作管理器
  • ProgressChangedEventHandler / ProgressChangedEventArgs
  • RunWorkerCompletedEventHandler / RunWorkerCompletedEventArgs
于 2009-12-15T13:53:18.800 回答