C# 为什么可以';我不能在我的设置中指定一些类型。设置?

C# 为什么可以';我不能在我的设置中指定一些类型。设置?,c#,settings,designer,C#,Settings,Designer,在VS 2010中,当我将一些数据侵入我的settings.settings时,我发现我可以使用我使用的各种库中的许多不同类型,例如,System.Net-namespace中的HTTPListener 但出于某种奇怪的原因,我不明白为什么,我不能使用我实际上需要的IPAddress类型。 为什么会这样,我如何才能修复它,因为对我来说,这只不过是一个恼人的bug 我不知道该怎么解决这个问题 System.Net.IPAddress具有可序列化属性 这与此无关,[可序列化]只与二进制序列化有关。使

在VS 2010中,当我将一些数据侵入我的settings.settings时,我发现我可以使用我使用的各种库中的许多不同类型,例如,System.Net-namespace中的HTTPListener

但出于某种奇怪的原因,我不明白为什么,我不能使用我实际上需要的IPAddress类型。 为什么会这样,我如何才能修复它,因为对我来说,这只不过是一个恼人的bug

我不知道该怎么解决这个问题


System.Net.IPAddress具有可序列化属性

这与此无关,[可序列化]只与二进制序列化有关。使用XML序列化来序列化设置。这是一个核心问题,它只在类型具有默认构造函数时才起作用。因此,反序列化程序可以创建新对象并设置公共字段和属性。IPAddress没有


考虑改用一个简单的字符串。在代码中使用IPAddress.Parse()和ToString()进行转换。

这是一个猜测,但它们可能需要可序列化。System.Net.IPAddress具有可序列化属性。:/更有趣的是,如果您只需使用代码编辑器打开.settings文件并手动破解该类型,那么即使该类型存在,设计者也会接受它。不过,它不会保存其中的任何更改。