ジェネリック型の制約に問題があります。私は以下の方法を持っていますが、最初のパラメーターである 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>
..そしてそれを渡しますが、メソッド内またはメソッド外のタイプのリストを作成することはできません
何か案は?
ありがとう