![](/img/trans.png)
[英]A more elegant way to dynamically get generic Action<> type by parameter count?
[英]What is the most elegant way to use generic type as generic parameter?
我想知道是否有比本示例更優雅的方法將泛型用作泛型參數:
public class Wrapper<TObject>
where TObject : MyBaseClass
{
}
public class WrapperCollection<TWrapper, TObject> : Collection<TWrapper>
where TWrapper : Wrapper<TObject>
where TObject : MyBaseClass
{
}
實際上,如果我想初始化WrapperCollection的實例,我會這樣做:
WrapperCollection<Wrapper<MyClass>, MyClass> collection =
new WrapperCollection<Wrapper<MyClass>, MyClass>();
而且,由於我對此並不感到滿意,因此能夠像這樣初始化它是一件很優雅的事情:
WrapperCollection<Wrapper<MyClass>> collection =
new WrapperCollection<Wrapper<MyClass>>();
所以我的問題很簡單:有沒有辦法做到這一點,或者可以為CollectionWrapper使用更優雅的設計?
謝謝。
如果WrapperCollection<T>
始終包含Wrapper<T>
的集合,則可以執行以下操作:
public class WrapperCollection<TObject> : Collection<Wrapper<TObject>>
where TObject : MyBaseClass
{
}
...
WrapperCollection<MyClass> collection = new WrapperCollection<MyClass>();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.