c#中如何判断判断ul里有几个li类

c# 如何判断一个类是否实现了某个接口 - billpeng - 博客园
技术源自生活
posts - 247, comments - 97, trackbacks - 0, articles - 0
B为一个类,ISay为一个接口。 方法1: & &
B b = new B();
if (b.GetType().GetInterface("ISay") != null)
//如果实现了接口“ISay”,...
& 方法2: &
B b = new B(); if (b is ISay)
Console.WriteLine("类B实现了接口ISay");
& &方法3: &
B b = new B();
ISay say = b as IS
if (say != null)
Console.WriteLine("类B实现了接口ISay");C#中实现判断某个类是否实现了某个接口
转载 & & 投稿:junjie
这篇文章主要介绍了C#中实现判断某个类是否实现了某个接口,本文给出了多种判断方法,需要的朋友可以参考下
有时我们需要判断某个类是否实现了某个接口(Interface),比如在使用反射机制(Reflection)来查找特定类型的时候。
简单来说,可以使用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也可以用来判断继承关系。
于是,对于以下的代码:
interface I { /* ... */ }
class A : I { /* ... */ }
class B : A { /* ... */ }
IsSubclassOf和IsAssignableFrom的返回值为:
typeof(A).isAssignableFrom(typeof(I)); // false
typeof(A).isSubClassOf(typeof(I)); // false
typeof(I).isAssignableFrom(typeof(A)); // true
typeof(I).isAssignableFrom(typeof(B)); // true
typeof(B).isSubClassOf(typeof(I)); // false
typeof(A).isAssignableFrom(typeof(A)); // true
typeof(A).isSubClassof(typeof(A)); // false
typeof(A).isAssignableFrom(typeof(B)); // true
typeof(A).isSubClassof(typeof(B)); // false
typeof(B).isAssignableFrom(typeof(A)); // false
typeof(B).isSubClassof(typeof(A)); // true
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具扫二维码下载作业帮
3亿+用户的选择
下载作业帮安装包
扫二维码下载作业帮
3亿+用户的选择
C#中,如何判断两个左边是否相同?C#中,我有两个类,都分别定义了坐标,我想在其中一个类中去判断该类中的坐标是否和另一个类中的坐标相同,该如何去实现?最好能举例说明一下,
作业帮用户
扫二维码下载作业帮
3亿+用户的选择
假设你的类是 A ,B 俩类public class A {public static bool operator ==(A a,B b){return a.X==b.X && a.Y==b.Y;}}加一个相等运算函数 你就可以判断了 A a=new A();B b=new B();if(a==b){.}
为您推荐:
其他类似问题
扫描下载二维码在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
父类是个带泛类型的类。如何判断他的某个子类是继承自父类。类定义如下:
class baseC&T&{}
class subC:baseC&int&{}
需要判断subC的实例是否继承自baseC&T&
subC a = new subC();
Assert.AreEqual(true, a.GetType().IsAssignableFrom(typeof(baseC&&))); //测试结果是fail
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
Assert.IsTrue(a is baseC&int&);
is关键字,可以用来判断类型
同步到新浪微博
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。

我要回帖

更多关于 奇数点有几个怎么判断 的文章

 

随机推荐