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

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 接口无法转换(隐式或显式)。

有关详细信息,请参阅此答案: