我们的节目有一个类型的词典:通过铸造访问一个通用字典在运行时
Dictionary<TKey, TCache>();
其中TKEY的和TCache是任何泛型类型无所不包方法,并给出了TCache是CacheBase。
在另一种方法中,我需要引用该对象(该对象存储在另一个字典中,作为对象存储),并从中删除键/值对。在运行时,我将TKey对象装扮成“对象”类。
我该怎么办?我不能转换为字典,因为此方法不是通用的,并且在编译时不知道它是什么类型的缓存/密钥。这些作为参数传递。
是否有使用反射来投的字典从字典有效
Dictionary<CacheBase<key.GetType()>, key.GetType()>
我知道这可以很容易地通过不使用方法仿制药,而是使词典字典,使案例库扩展一个固定的方式空CacheBase,但我的上司执意要我做设法解决它在我自己的这种方式
泛型编译时间已解决。您无法在运行时使用反射来解析泛型类型。 –
“CacheBase”是其他派生类型的接口吗?你确定这个键是通用的吗?还是它是'CacheBase'的一个属性? –
'字典'实现了一个非泛型接口'IDictionary'。也许你可以通过它来访问它。但是一般来说,如果你没有编译时类型,那么使用泛型只会造成比他们更值得的痛苦。 –