是否为框架类型注入一个安全的TypeConverter

本文关键字:一个 安全 TypeConverter 框架 类型 注入 是否 | 更新日期: 2023-09-27 18:14:47

这样明智吗?

class MyTypeConverter : TypeConverter {
  // implementation
}
// elsewhere
TypeDescriptor.AddAttributes(typeof(string[]),
   new[] { new TypeConverterAttribute(typeof(MyTypeConverter)) });

注意我把这个放在string[]上。

这样做感觉很脏

是否为框架类型注入一个安全的TypeConverter

安全吗?是的,它被Windows窗体设计器用来注入属性,所以它是一个有效的功能,尽管不是经常使用。

脏?是的,有一点。如果有其他剥猫皮的方法,我会考虑用这种方法。属性是简单的元数据,用于提供一种明确的方式来指定代码的某些特征。通过使用动态属性,你有点脱离了正常的用例。

如果你需要去做,那你就必须去做。但是,请确保在包含类上并不仅仅需要一个只读属性。

然而,我建议使用typeof (IEnumerable),这样你也可以选择列表、集合等。