在settings.settings中添加自定义类型

时间:2013-09-23 19:47:52

标签: c# settings.settings

我想使用配置文件.settings来保存这个结构:

struct sR22Protocole
{
    Int32 inputkey;
    Int32 outputkey;
    Int32 voltage;
    Int32 Ohm;
    Int32 Correction;
};

在设置设计器中,我可以添加不同的类型,但它不会在浏览部分显示我的结构。设计师有没有办法访问我的结构?如果不是,有没有办法以programmaticaly方式添加它?

3 个答案:

答案 0 :(得分:8)

您的类型必须具有System.Configuration.SettingsSerializeAsAttribute属性。类型System.Configuration.SettingsSerializeAs的枚举参数指定值的序列化方式,可能的值为:

  • 字符串
  • XML
  • 二进制
  • ProviderSpecific

由于此属性只能应用于类类型,因此您自己的类型必须是类。

其次,该类型必须具有无参数构造函数。这是因为必须能够设置该设置类型的默认实例

如果您刚刚宣布了自己的课程,那么除非您已经构建了解决方案,否则设计师不会接受该类型。

答案 1 :(得分:6)

我相信类(或结构?)必须能够序列化才能在设置文件中使用。当我为应用程序中的默认对象执行此操作时,我关注了此博文:

http://www.blackwasp.co.uk/CustomAppSettings.aspx

答案 2 :(得分:3)

只需进入浏览部分,然后键入结构,类或枚举名称,同时为类型的命名空间添加前缀。然后,它也会在下拉列表中添加,供您下次使用。

在你的例子中: YourTypeNamespace.sR22Protocole

相关问题