以下代码无法编译,我无法理解为什么
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)
}
}
}
为什么我不能使用隐式转换?
答案 0 :(得分:2)