私は混乱しています。.Net 参照型のインターフェイスはなぜですか? .Net のインターフェイスは参照型であると言われています。最初のコード スニペットはコンパイルされません。「Tは参照型でなければならない...」のようなものです
public ISomeInterface DoMagic<T>(Expression<Func<object>> action, Tuple<string, DateTime, decimal> tuple)
where T : ISomeInterface
{
Magician m = new Magician();
return m.Magic<T>(()=> action, tuple.Item3);
}
2番目はコンパイルします。
public ISomeInterface DoMagic<T>(Expression<Func<object>> action, Tuple<string, DateTime, decimal> tuple)
where T : class, ISomeInterface
{
Magician m = new Magician();
return m.Magic<T>(()=> action, tuple.Item3);
}
インターフェイスが参照型の場合、最初のコード スニペットがコンパイルされないのはなぜですか?