要定义,一个Generic的类,应该要定义一个相关的接口,就像 Nullable 一样。
public class Nullable : ...., INullableValue
今天做了一个类,突然想这样 if( obj is Nullable< ? > ) ,其实我就是想知道这个对象是否为某种Nullable < T >,而不必要具体到某个具体的类中。我不想用反射,而if(obj is Nullable< object >) 是错的。
到了这个时候,我才发现INullableValue的作用。因为我也没有限定一定要是Nullalbe。
最后 if(obj is INullableValue) 就OK了。。
不过希望DotNet能提供这个if( obj is GenericType<?>> )的功能。。