System.ComponentModel.TypeConverter的WinRT替换

时间:2012-09-19 13:38:08

标签: c# .net windows-8 windows-runtime

看起来TypeConverter可供使用。建议什么来取代它?

我打算创建自己的TypeConverter类来替换它,但是如果在WinRT中有新的或更好的方法来做,那我就去那条路。我还需要重新创建许多其他类;像所有默认类型转换器一样。

2 个答案:

答案 0 :(得分:2)

WinRT中没有 TypeConverter 类,团队尚未宣布任何将其包含在未来版本中的计划。你有很多选择。

选项1:如果转换是作为数据绑定的一部分完成的,请使用 IValueConverter 界面,如Dennis所述。

选项2:如果您是该类型的创建者,则可以添加自己的显式或隐式运算符以支持转换:

http://msdn.microsoft.com/en-US/library/xhbhezf4(v=vs.80).aspx

http://msdn.microsoft.com/en-US/library/z5z9kes2(v=vs.80).aspx

选项3:您可以创建自己的TypeConverter类。

选项4:(如果不是绑定的一部分,我会这样做)您可以添加自己的扩展方法:

static public class ConverterExtensions
{
    static public string ToFixedString(this double value)
    {
        return value.ToString("D");
    }
}

这会让你编写这样的代码:

double d = 123.45;
string str = d.ToFixedString(); // str now equals "123"

答案 1 :(得分:0)

使用IValueConverter界面。