可以創建具有多個不知道類型的類嗎? 例如: 考慮我有:具有多種類型的通用類
class MyClass <Type1, Type2, Type3, TResponse >
{
public TResponse Run()
{
//operation on Type1, Type2, Type3
}
}
,我的問題是,如果這是可能通過一些怎樣的類型列表中,然後在循環使用它們?然後想知道如何調用它。
可以創建具有多個不知道類型的類嗎? 例如: 考慮我有:具有多種類型的通用類
class MyClass <Type1, Type2, Type3, TResponse >
{
public TResponse Run()
{
//operation on Type1, Type2, Type3
}
}
,我的問題是,如果這是可能通過一些怎樣的類型列表中,然後在循環使用它們?然後想知道如何調用它。
是的,您可以定義一個泛型類與多種類型,下面的代碼編譯。但是爲了執行這些類型的操作,您通常需要在類型上定義constraints。
public class MyClass <Type1, Type2, Type3, TResponse>
{
public TResponse Run()
{
return default(TResponse);
}
}
然而,泛型類型是明確指定的,AFAIK沒有辦法指定類的泛型類型列表。
如果所有類都使用接口或抽象類來公開相同的功能,則這是可能的。一旦我們有了基類型,我們可以創建具有多個類型參數的泛型類。在泛型類中,我們可以調用任何公開的功能。
Pass * what *類型列表?目前你的問題還不清楚。如果你能展示你期望如何調用該方法,以及你期望得到的結果如何,這將會有所幫助。 –
如果你有幾個不同類型的類,實現相同的接口,你能夠實現你想要做的事情嗎? – Mez
對於.Net 4或更新的版本,您還可以對「未知」類型使用'dynamic'關鍵字。這會在你的上下文中使用嗎(而不是泛型)? –