1

私はこのクラスを持っています:

public class Lockbox
{
    string lockbox { get; set; }
    int polling_interval { get; set; }
}

別のクラスで、タイプロックボックスのリストを作成しました。

var monitor_lockboxes = new List<Lockbox>();

リストにエントリを追加するにはどうすればよいですか?私はこれを行うことができますか?:

monitor_lockboxes.Add(...);

しかし、それは2つの引数を取りません。

4

2 に答える 2

5

しかし、それは2つの引数を取りません。

いいえ、そうではありません。タイプが1つの引数を取りますLockbox

次のようなものが必要なようです。

var newBox = new Lockbox { lockbox = "foo", polling_interval = 10 };
monitor_lockboxes.Add(newBox);

もちろん、1つのステートメントでそれを行うことができます-明確にするために、ここではそれを分離しただけです。

(また、 .NETの規則に従うように名前を変更することを強くお勧めします。)

于 2013-01-16T15:20:01.320 に答える
1

以下が機能します。

monitor_lockboxes.Add(new Lockbox { lockbox = "Foo", polling_interval = 42 } );

これは、オブジェクト初期化構文を使用します。これが機能するには、のプロパティがでLockboxある必要がありますpublic

別のアプローチはLockbox、プロパティの値を取得するコンストラクターを提供することです。

public class Lockbox
{
    public Lockbox(string lockbox, int pollingInterval)
    {
        this.lockbox = lockbox;
        this.polling_interval = pollingInterval;
    }

    public string lockbox { get; set; }
    public int polling_interval { get; set; }
}

これで、次のように使用できます。

monitor_lockboxes.Add(new Lockbox("Foo", 42));
于 2013-01-16T15:20:33.603 に答える