这些应该算是.NET程序员的基本功吧,可是我今天用的时候却有点犹豫,最后看笔记才又明白……罪过罪过
就是这三个函数的用法
//Type类的函数
class Type
bool IsInstanceOfType(object);
//判断对象是否是指定类型
//类型可以是父类,接口
//用法:父类.IsInstanceOfType(子类对象)
bool IsAssignableFrom(Type)
//判断两个类型的关系
//类型可以是父类,接口
//用法:父类.IsAssignableFrom(子类)
bool IsSubClassOf(Type)
//判断两个类型的关系
//类型不可以是接口
//用法:子类.IsSubClassOf(父类)
代码永远是最好的解释方式:
int i = 23;
Console.WriteLine(typeof(IConvertible).IsInstanceOfType(i));
//True
Console.WriteLine(typeof(IConvertible).IsAssignableFrom(i.GetType()));
//True
Console.WriteLine(i.GetType().IsSubclassOf(typeof(IConvertible)));
//False
Console.WriteLine(i.GetType().IsSubclassOf(typeof(object)));