设置中的字典会引发异常?

时间:2015-05-13 21:59:21

标签: c# exception dictionary settings

我想在项目的默认UserSettings类中保存字典。

我在设置文件的代码中尝试了以下操作,但它失败了:

<Setting Name="MediaKeys" Type="System.Collections.ObjectModel.Dictionary&lt;System.Input.Key, System.IO.FileInfo&gt;" Scope="User">
  <Value Profile="(Default)" />
</Setting>

当我查看设置的UI时,我收到此错误消息:

  

无法加载文件或程序集'System.IO.FileInfo&gt;'或其中一个   依赖。参数不正确。 (HRESULT的例外情况:   0x80070057(E_INVALIDARG))

请记住,我将在另一个时间点处理整个Serializable Dictionary,为什么我会得到这个例外?即使是不可序列化的对象(例如我已经测试过的FileInfo)也不会抛出此异常。

1 个答案:

答案 0 :(得分:1)

.NET设置不能很好地处理泛型。这就是我的工作:

[XmlRoot("dictionary")]
public class MyDictionary : SerializableDictionary<int, string>
{
}