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)));
//True
//Type类的函数
class Type
bool IsInstanceOfType(object);
//判断对象是否是指定类型
//类型可以是父类,接口
//用法:父类.IsInstanceOfType(子类对象)
bool IsAssignableFrom(Type)
//判断两个类型的关系
//类型可以是父类,接口
//用法:父类.IsAssignableFrom(子类)
bool IsSubClassOf(Type)
//判断两个类型的关系
//类型不可以是接口
//用法:子类.IsSubClassOf(父类)
example
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)));
//True