如何检测集合中是否包含特定类型的实例?
假设我创建像这样的集合
Collection<IMyType> coll;
,然后我有许多 IMyTypem
的实现,例如 T1、T2、T3...
然后我想知道集合 coll 是否包含 T1 类型的实例。所以我想写一个像
public bool ContainType( <T>){...}
这里这样的方法,参数应该是类类型,而不是类实例。 对于这种问题,如何编写代码呢?
Suppose I create collection like
Collection<IMyType> coll;
Then I have many implelentations of IMyTypem
like, T1, T2, T3...
Then I want know if the collection coll contains a instance of type T1. So I want to write a method like
public bool ContainType( <T>){...}
here the param should be class type, not class instance.
How to write code for this kind of issue?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你可以这样做:
然后像这样调用它:
如果你想查看一个集合是否包含可转换为指定类型的类型,你可以这样做:
但这是不同的,因为如果 coll 包含任何子类,它将返回 true T1也一样。
You can do:
And then call it like:
If you want to see if a collection contains a type that is convertible to the specified type, you can do:
This is different, though, as it will return true if coll contains any subclasses of T1 as well.