System.ComponentModel.TypeConverter的WinRT替换

Jos*_*ose 5 .net c# windows-8 windows-runtime

它看起来不像TypeConverter是可以使用的.建议更换这个?

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

Jar*_*SFT 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");
    }
}
Run Code Online (Sandbox Code Playgroud)

这可以让你编写这样的代码:

double d = 123.45;
string str = d.ToFixedString(); // str now equals "123"
Run Code Online (Sandbox Code Playgroud)