如何判断类型实现了某个接口

2016-06-11  本文已影响0人  目标肢解

在C#中判断某个类是否实现了某个接口

使用Type.IsAssignableFrom方法:

typeof(IFoo).IsAssignableFrom(bar.GetType());

typeof(IFoo).IsAssignableFrom(typeof(BarClass));

从字面意思可以看出,IsAssignableFrom表示BarClass类型能否赋值给IFoo接口,所以它返回true的条件就是BarClass直接或间接实现了IFoo接口。Type类型中还有一个方法是IsSubclassOf,它只能用于判断类的继承关系,比如

typeof(FooClass).IsSubclassOf(typeof(BarClass))==true

表示FooClass是继承自BarClass。

当然IsAssignableFrom也可以用来判断继承关系。

上一篇 下一篇

猜你喜欢

热点阅读