我有一个泛型类,用于将数据写入isolatedStorage。
我可以使用静态隐式运算符 T()
将泛型类转换为泛型参数 T
例如
MyClass<double> foo = new MyClass(187.0);
double t = foo;
我的问题是,我该如何做相反的事情?
MyClass<double> foo = new MyClass(187.0);
double t = 0.2d;
foo = t;
隐式运算符必须是静态的,所以我不确定如何传入类的实例?
最佳答案
此类显示 T 和 MyClass 之间的双向转换。
class MyClass<T>
{
public MyClass(T val)
{
Value = val;
}
public T Value { get; set; }
public static implicit operator MyClass<T>(T someValue)
{
return new MyClass<T>(someValue);
}
public static implicit operator T(MyClass<T> myClassInstance)
{
return myClassInstance.Value;
}
}
关于C# 为泛型类创建隐式转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6946412/