我正在尝试保存一个实现接口的对象,比如 IInterface。
private PersistentDictionary<string, IInterface> Object = new PersistentDictionary<string, IInterface>(Environment.CurrentDirectory + @"\Object");
由于许多类实现了相同的接口(所有这些都需要缓存),因此对于通用方法,我想将 IInterface 类型的 Object 存储在字典中。
这样我就可以在任何地方拉出该对象类型,将其转换为 IInterface 并使用该对象的内部方法实现等。
但是,一旦初始化 Esent 缓存,它就会引发此错误: SetColumn
参数名称
不支持:TColumn
实际值为 IInterface。
我试图不使用XmlSerializer
做同样的事情,但无法反序列化接口类型。此外,[Serializable]
属性不能在接口之上使用,所以我被卡住了。
我还尝试将接口的所有实现(类)[Serializable]
作为垂死的尝试,但没有用。
有人知道出路吗?提前致谢 !!!