0
我有下面的代碼:C#泛型
protected Dictionary<string, ObjectAttribute<T>> attributes;
我要我每次添加一個新項目的目錄時通過一個通用的類型,但我不希望使用對象/動態因爲它可能會導致一些鑄造問題。那麼,是否有可能通過這種方式?
T沒有在類的構造函數或其他任何地方定義,因爲我每次添加項目時都需要它。
我有下面的代碼:C#泛型
protected Dictionary<string, ObjectAttribute<T>> attributes;
我要我每次添加一個新項目的目錄時通過一個通用的類型,但我不希望使用對象/動態因爲它可能會導致一些鑄造問題。那麼,是否有可能通過這種方式?
T沒有在類的構造函數或其他任何地方定義,因爲我每次添加項目時都需要它。
如果你的意思是「和T
可以爲每個項目改變」,則沒有:除非ObjectAttribute
也有非一般的基類或
protected Dictionary<string, IObjectAttribute> attributes;
class ObjectAttribute<T> : IObjectAttribute {...}
會工作。
'T'必須用類名替換。你可以是特定的,例如字符串,整型...或一般即對象,或中間Interface_that_all_other_classes_that_may_be_in_dictionary_inherit_from。 –
類是通用的:列表是一個泛型類,它是一個可以是任何類型的類;您無法創建列表或任何通用類型。列表和列表是類型,它們不再是通用的;你可以創建這些。 –