无法在异步方法中隐式转换

时间:2015-01-15 14:13:18

标签: c# .net implicit-conversion

以下代码无法编译,我无法理解为什么

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)
        }
    }
}

为什么我不能使用隐式转换?

1 个答案:

答案 0 :(得分:2)

正如DLeh所说,这不是异步。

无法转换AFAIK接口(隐式或显式)。

有关详细信息,请参阅此答案:https://stackoverflow.com/a/143567/526704