3

センサーを使用して振動やその他のものを測定し、いくつかのアルゴリズムを使用してそれらを分析する、学校のプロジェクトのような振動分析プログラムをコーディングしようとしています。

とにかく、ユーザーがパラメーターと変数を設定できるようにしたいので、いくつかの異なる設定セットを作成しました。ただし、同じタイプのセンサーが多数あるため (この時点ではいくつあるかわかりません)、センサーを追加するときに、それらの設定の新しいセットまたはインスタンスを作成したいと考えています。さらに、そのタイプのインスタンスがいくつあるかわからないタイプの変数 (振動を比較するために異なる RPM など) があるため、その変数の別のインスタンスを追加できるようにしたいと考えています。

これがどのように達成されるべきか誰かが知っていますか? おそらくかなり簡単ですが、Google からは何も提供されず、コンストラクターを使用して新しいインスタンスを作成しようとしてもまったく機能しませんでした。

これは私がこれまでに試したことです:

    AccelerometerSettings Sensor3 = new AccelerometerSettings(); 

Sensor3 という名前の加速度計の設定の新しいインスタンスが表示されましたが、

    Sensor3.accelerometerResolution = 10; 

(解像度と呼ばれるタイプ double の加速度計設定に設定があります) 何も得られません。または実際には、「=」のエラーが表示され、無効なトークンであり、accelerometerResolution はフィールドですが、タイプとして使用されていると表示されます。

編集: Visual Studio によって自動生成される設定クラスのコードは次のとおりです。

        //------------------------------------------------------------------------------
// <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

これは、タイプの app.config ファイルからロードされた設定にアクセスできる静的プロパティによって実行時にアクセスできる設定クラスであり、次のようにそのプロパティにアクセスできます。DefaultAccelerometerSettings

var resolution = AccelerometerSettings.Default.accelerometerResolution;

設定を変更して user.config に保存する場合

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