12

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

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

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

4

3 回答 3

15

你的类型必须有一个System.Configuration.SettingsSerializeAsAttribute属性。类型的枚举参数System.Configuration.SettingsSerializeAs指定值将如何被序列化,可能的值是:

  • 细绳
  • xml
  • 二进制
  • 提供者特定

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

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

如果您刚刚声明了您的类,除非您已经构建了解决方案,否则设计器将不会接受该类型。

于 2016-09-14T15:51:37.753 回答
8

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

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

于 2013-09-23T20:01:54.090 回答
4

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

在您的示例中:YourTypeNamespace.sR22Protocole

于 2016-05-02T13:23:52.127 回答