【发布时间】:2018-04-08 20:48:37
【问题描述】:
如果我在列表中有一个 B 对象的列表。怎样才能得到那些受D类约束的?
IList<B<A>> Bs = new ...
public class A
{
}
public class C : A
{
}
public class D : A
{
}
public sealed class B<T> where T : A
{
}
我想要一个只包含 B 对象的列表。
类似:
var list = Bs.Where(o => o is constrained by D).ToList()
【问题讨论】:
-
使用
OfType方法。 -
你是什么意思受Generic D约束?
D不是通用的。B是通用的。 -
@CodingYoshi 已修复。
-
您的问题中的
IList<B<T>>没有多大意义。你不能声明一个开放的泛型类型,你的意思是像IList<B<A>>这样的吗?
标签: c# class generics inheritance