たとえば、タイプIList<MyClass>
のエンティティを、のリストにマップする場合、同じ基になるコレクションタイプを維持します。私が意味する。これによりCで非ジェネリック型にアクセスする
それはObservableCollection<MyMappedClass>
にList<MyMappedClass>
とObservableCollection<MyClass>
にマッピングする必要がありList<MyClass>
インスタンスはタイプであることを起こる場合。私はこれを行うことができることを知って
Type listType = myList.GetType(); //myList type: List<T> or ObservableCollection<T>
Type listItemType = listType.GetGenericArguments()[0];
:
Type myListType = typeof(List<>).MakeGenericType(listItemType);
私はそれを行うことはできません。
を私はこれまでのところ私はこのようなリストのジェネリック型を見つけることができなかった何
Type myListType = myList.GetType().MakeGenericType(listItemType);
すでに一般的です。私は何を探していますは、次のとおりです。
GotNonGenericType()
は私が探しています機能のプレースホルダです
Type myListType = myList.GetType().GotNonGenericType().MakeGenericType(listItemType);
。
"魔法の"共分散はインターフェースを超えていますか?うーん。これがパフォーマンス上クリティカルな経路にない限り、私はちょうど 'myList.Cast().ToList()' –
spender