在一个C#/WPF应用程序中,我为一些枚举类型添加了TypeConverter属性,以便显示本地化文本而不是枚举的文本:
[TypeConverter(typeof(LocalizedEnumTypeConverter))]
public enum MyEnum
{
EnumVal1 = 0,
EnumVal2 = 1,
EnumVal3 = 2,
}
我已经实现了LocalizedEnumTypeConverter来执行这个任务。
当我尝试使用相同的方法处理在另一个程序集中定义的枚举类型时,问题就出现了。这个程序集无法访问LocalizedEnumTypeConverter,并且与其他应用程序共享(也就是说,我不能向定义了LocalizedEnumTypeConverter的程序集添加引用)。
是否有办法在运行时添加TypeConverter属性?这样,我就可以将枚举类型保留在其他程序集中,不带TypeConverter属性,然后在我的应用程序中在运行时添加它。