4

私は混乱しています。.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);
    }

インターフェイスが参照型の場合、最初のコード スニペットがコンパイルされないのはなぜですか?

4

2 に答える 2