【发布时间】:2016-10-05 21:40:09
【问题描述】:
我有一个名为 Optional
public static implicit operator Optional<T>(T value)
{
return new Optional<T>(value);
}
public static implicit operator T(Optional<T> value)
{
return value.value;
}
好的,到目前为止一切都很好,像这样的直接操作可以工作:
Optional<int> val = 33; //ok
int iVal = val; //ok
但是,这不起作用:
Optional<Optional<int>> val = 33; //error, cannot convert implicitly
所以我想知道如何支持前一种情况。
干杯。
【问题讨论】:
标签: c# operator-overloading implicit-conversion