雁过留痕 小小的天空,也有大大的梦想

.NET(C#):判断Type类的继承关系


这些应该算是.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)));



 

2018年4月28日 | 发布:admin | 分类:学习笔记 | 评论:0

发表留言: