置百丈玄冰而崩裂,掷须臾池水而漂摇。

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

学习笔记 admin


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



 

发表评论:

验证码