首先看MSDN的说明:
中文:获取一个值,通过该值指示 Type 在上下文中是否可以被承载。
英文:Gets a value indicating whether the Type can be hosted in a context.
什么意思呢?
我们看内部的实现:
protected virtual bool IsContextfulImpl(){ return typeof(ContextBoundObject).IsAssignableFrom(this); }
原来内部是调用了Type.IsAssignableFrom(Type c)这个方法。
我们来看IsAssignableFrom方法的解释:如果满足下列任一条件,则为 true:c 和当前 Type 表示同一类型;当前 Type 位于 c 的继承层次结构中;当前 Type 是 c 实现的接口;c 是泛型类型参数且当前 Type 表示 c 的约束之一。 如果不满足上述任何一个条件或者 c 为 null,则为 false。
终上所述,我们可以知道,Type.IsContextful是用于判断类型是否是上下文绑定对象。即类型是否继承于:ContextBoundObject