无法在异步方法中隐式转换
Cannot implicitly convert in async method
以下代码无法编译,我不明白为什么
namespace ImplicitConversion
{
struct Wrapper<T>
{
public static implicit operator Wrapper<T> (T input)
{
return new Wrapper<T> ();
}
}
interface IFoo
{
}
class Foo:IFoo
{
}
class MainClass
{
public static void Main (string[] args)
{
}
static Wrapper<IFoo> Test ()
{
IFoo foo = new Foo ();
return foo; // Cannot implicitly convert type 'ImplicitConversion.IFoo' to 'ImplicitConversion.Wrapper<ImplicitConversion.IFoo>' (CS0029) (ImplicitConversion)
}
}
}
为什么我不能使用隐式转换?
正如 DLeh 所提到的,它与异步无关。
AFAIK 接口无法转换(隐式或显式)。
有关详细信息,请参阅此答案:
以下代码无法编译,我不明白为什么
namespace ImplicitConversion
{
struct Wrapper<T>
{
public static implicit operator Wrapper<T> (T input)
{
return new Wrapper<T> ();
}
}
interface IFoo
{
}
class Foo:IFoo
{
}
class MainClass
{
public static void Main (string[] args)
{
}
static Wrapper<IFoo> Test ()
{
IFoo foo = new Foo ();
return foo; // Cannot implicitly convert type 'ImplicitConversion.IFoo' to 'ImplicitConversion.Wrapper<ImplicitConversion.IFoo>' (CS0029) (ImplicitConversion)
}
}
}
为什么我不能使用隐式转换?
正如 DLeh 所提到的,它与异步无关。
AFAIK 接口无法转换(隐式或显式)。
有关详细信息,请参阅此答案: