我們的節目有一個類型的詞典:通過鑄造訪問一個通用字典在運行時
Dictionary<TKey, TCache>();
其中TKEY的和TCache是任何泛型類型無所不包方法,並給出了TCache是CacheBase。
在另一種方法中,我需要引用該對象(該對象存儲在另一個字典中,作爲對象存儲),並從中刪除鍵/值對。在運行時,我將TKey對象裝扮成「對象」類。
我該怎麼辦?我不能轉換爲字典,因爲此方法不是通用的,並且在編譯時不知道它是什麼類型的緩存/密鑰。這些作爲參數傳遞。
是否有使用反射來投的字典從字典有效
Dictionary<CacheBase<key.GetType()>, key.GetType()>
我知道這可以很容易地通過不使用方法仿製藥,而是使詞典字典,使案例庫擴展一個固定的方式空CacheBase,但我的上司執意要我做設法解決它在我自己的這種方式
泛型編譯時間已解決。您無法在運行時使用反射來解析泛型類型。 –
「CacheBase」是其他派生類型的接口嗎?你確定這個鍵是通用的嗎?還是它是'CacheBase'的一個屬性? –
'字典'實現了一個非泛型接口'IDictionary'。也許你可以通過它來訪問它。但是一般來說,如果你沒有編譯時類型,那麼使用泛型只會造成比他們更值得的痛苦。 –