我遇到了泛型类型约束的问题。我有下面的方法,我正在努力将任何东西传递给 childSegments 参数,这是我可以得到的第一个参数。
private void FillSegment<T, TT>(BaseSegment<T> segment, IEnumerable<BaseSegment<TT>> childSegments)
where T : class
where TT : class
{}
TT 属于类型类,但我试图传入的列表应该是不同类的组合,而不仅仅是一个类类型,这就是我要打的墙。我可以传入这个列表:
List<BaseSegment<Lead>> l = new List<BaseSegment<Lead>>();
但就像我说的,我需要传递多个类,我有一个 LeadSegment、AccountSegment、ContactSegment 等(实现BaseSegment<T>
)。
理想的情况是这样的:
List<BaseSegment<T>> lst = new List<BaseSegment<T>>();
lst.Add(LeadSegment);
lst.Add(AccountSegment);
lst.Add(ContactSegment);
<T>
..并通过它,但是我相信您不能在方法内或外部创建具有类型的列表
有任何想法吗?
谢谢