public void Foo<T>(Func<T> bar)
 where T: IMyInterface
{
   Func<IMyInterface> func = bar;
}
共分散を理解してからしばらく経ちましたが、これをコンパイルするべきではありませんか?
何でもbar返すことができるのもIMyInterfaceです。問題であると想定されるのは?
public void Foo<T>(Func<T> bar)
 where T: IMyInterface
{
   Func<IMyInterface> func = bar;
}
共分散を理解してからしばらく経ちましたが、これをコンパイルするべきではありませんか?
何でもbar返すことができるのもIMyInterfaceです。問題であると想定されるのは?