C# 将TypeConverter用于本地化名称的System.Drawing.Color属性的toString方法

C# 将TypeConverter用于本地化名称的System.Drawing.Color属性的toString方法,c#,properties,localization,type-conversion,C#,Properties,Localization,Type Conversion,我想为.net结构属性使用TypeConverter public class MyColorOptions { [TypeConverter(typeof(MyTypeConverter))] public Color MyColor{ get; set; } } public class MyTypeConverter : TypeConverter { public override object ConvertTo(ITypeDescriptorContext

我想为.net结构属性使用TypeConverter

public class MyColorOptions
{
    [TypeConverter(typeof(MyTypeConverter))]
    public Color MyColor{ get; set; }
}

public class MyTypeConverter : TypeConverter
{
    public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType)
    {
        return base.ConvertTo(context, culture, value, destinationType);
    }
}
从不调用ConvertTo方法。这仅适用于自行创建的复杂数据类型或类

我希望通过toString方法为color属性返回本地化的颜色名称。 可在此处找到德语颜色翻译:

我想将转换器与颜色转换器结合使用


如果你能帮助我,你会很好的

您可以向将使用类型转换器的所有枚举添加扩展方法,这非常简单:

public static class EnumExtensions
{
    public static string ToDisplayString(this Enum value)
    {
        var converter = TypeDescriptor.GetConverter(value);
        return converter.ConvertToString(value);
    }
}
然后:

MyColorOptions.MyColor.ToDisplayString();