我有这种情况:
public class FOO<T> where T : IBar
{
private T _xxx;
public Y(T xxx)
{
if (xxx == null) throw new ArgumentNullException("xxx");
_xxx = xxx;
}
}
public interface IBar
{
string XString { get; }
}
在构造函数中,我正在T
检查null
. 编译器正确地警告我,我正在检查null
可能是值类型的东西,因为IBar
它可以由结构实现。
如何约束T
成为引用类型?