我正在编写一个振动分析程序,作为一个学校项目,它将使用传感器测量振动和其他一些事情,然后使用一些算法进行分析。
无论如何,我希望用户能够设置参数和变量,因此创建了一些不同的设置。但是,这是因为我将有许多相同类型的传感器(我不知道此时有多少)我想在添加传感器时创建这些设置的新设置或实例。此外,还有一些类型的变量我不知道有多少个类型的实例(比如用不同的RPM来比较振动),因此希望能够添加该变量的另一个实例。
有谁知道应该如何实现这一目标?它可能非常直接,但谷歌没有给我任何东西,尝试使用构造函数创建一个新实例根本不起作用。
这是我到目前为止所尝试的:
AccelerometerSettings Sensor3 = new AccelerometerSettings();
给了我一个名为Sensor3的加速度计设置的新实例,但是
Sensor3.accelerometerResolution = 10;
(我在doubleme类型的加速度计中设置了一个叫做分辨率的设置)什么都没给我。或者实际上,它给了我一个'='的错误,并说它是一个无效的令牌,而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;
}
}
}
答案 0 :(得分:0)
这是您可以在运行时通过静态属性Default
访问的Settings类,它允许您从类型为AccelerometerSettings
的app.config文件中访问加载的设置在那里你可以像这样访问它的属性:
var resolution = AccelerometerSettings.Default.accelerometerResolution;
如果您想更改设置并将其保存在user.config
中 AccelerometerSettings.Default.accelerometerResolution = 42.0;
AccelerometerSettings.Default.Save();