3

我即将编写一个振动分析程序,有点像学校项目,它将使用传感器测量振动和其他一些东西,然后使用一些算法对其进行分析。

无论如何,我希望用户能够设置参数和变量,因此创建了一些不同的设置。不过这是因为我将有许多相同类型的传感器(我现在不知道有多少)我想在添加传感器时创建一个新的设置或这些设置的实例。此外,有一些类型的变量我不知道会有多少这种类型的实例(比如说不同的 RPM 来比较振动),因此希望能够添加该变量的另一个实例。

有谁知道这应该如何完成?这可能很简单,但谷歌什么也没给我,尝试使用构造函数创建一个新实例根本不起作用。

这是我迄今为止尝试过的:

    AccelerometerSettings Sensor3 = new AccelerometerSettings(); 

给了我一个名为 Sensor3 的加速度计设置的新实例,但是

    Sensor3.accelerometerResolution = 10; 

(我在双精度类型的加速度计设置中有一个设置)什么也没给我。或者实际上,它给了我一个“=”错误,并说它是一个无效的令牌,并且 accelerometerResolution 是一个字段,但用作一种类型。

编辑:这是由 Visual Studio 自动生成的 Settings 类的代码:

        //------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.18052
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace Fault_detection_system {


    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
    internal sealed partial class AccelerometerSettings : global::System.Configuration.ApplicationSettingsBase {

        private static AccelerometerSettings defaultInstance = ((AccelerometerSettings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new AccelerometerSettings())));

        public static AccelerometerSettings Default {
            get {
                return defaultInstance;
            }
        }

        [global::System.Configuration.UserScopedSettingAttribute()]
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        [global::System.Configuration.DefaultSettingValueAttribute("Accelerometer-Name")]
        public string accelerometerName {
            get {
                return ((string)(this["accelerometerName"]));
            }
            set {
                this["accelerometerName"] = value;
            }
        }

        [global::System.Configuration.UserScopedSettingAttribute()]
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        [global::System.Configuration.DefaultSettingValueAttribute("20.0")]
        public decimal accelerometerResolution {
            get {
                return ((decimal)(this["accelerometerResolution"]));
            }
            set {
                this["accelerometerResolution"] = value;
            }
        }

        [global::System.Configuration.UserScopedSettingAttribute()]
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        [global::System.Configuration.DefaultSettingValueAttribute("10.0")]
        public decimal accelerometerAccuracyUp {
            get {
                return ((decimal)(this["accelerometerAccuracyUp"]));
            }
            set {
                this["accelerometerAccuracyUp"] = value;
            }
        }

        [global::System.Configuration.UserScopedSettingAttribute()]
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        [global::System.Configuration.DefaultSettingValueAttribute("10.0")]
        public decimal accelerometerAccuracyDown {
            get {
                return ((decimal)(this["accelerometerAccuracyDown"]));
            }
            set {
                this["accelerometerAccuracyDown"] = value;
            }
        }

        [global::System.Configuration.UserScopedSettingAttribute()]
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        [global::System.Configuration.DefaultSettingValueAttribute("10")]
        public decimal faultFrequency {
            get {
                return ((decimal)(this["faultFrequency"]));
            }
            set {
                this["faultFrequency"] = value;
            }
        }
    }
4

1 回答 1

0

那是您的Settings类,您可以在运行时通过静态属性Default访问它,它使您可以访问类型为 app.config 文件的加载设置,AccelerometerSettings您可以像这样访问它的属性:

var resolution = AccelerometerSettings.Default.accelerometerResolution;

如果您想更改设置并将其保存在 user.config

 AccelerometerSettings.Default.accelerometerResolution = 42.0;
 AccelerometerSettings.Default.Save();
于 2014-01-08T21:12:57.263 回答