我可以定义一个扩展方法来确定一个对象是否为空
public static bool IsNull(this object obj) {
if (obj == null)
return true;
else return false;
}
但我也可以这样做:
public static bool IsNull<T>(this T obj) {
if(obj == null)
return true;
else return false;
}
两者都应用于每个对象。这个T的目的是什么?进一步详细说明预期的类型是什么?如果是,为什么这typeof(T)
是可能的?(正如@MatthewWatson 指出的那样,这无论如何都不起作用)(this T obj) where T: int)
那么(where )背后的原因是什么?
这么多的问题。