我很困惑。在为什么 .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);
}
第二个编译。
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);
}
如果接口是引用类型,为什么第一个代码片段无法编译?