我有这堂课:
public class Lockbox
{
string lockbox { get; set; }
int polling_interval { get; set; }
}
在另一堂课中,我制作了一个类型密码箱列表:
var monitor_lockboxes = new List<Lockbox>();
现在如何将条目添加到列表中?我可以这样做吗?:
monitor_lockboxes.Add(...);
但它不需要 2 个参数。
但它不需要 2 个参数。
好吧,不,它不会。它需要一个类型的参数Lockbox。
听起来你想要这样的东西:
var newBox = new Lockbox { lockbox = "foo", polling_interval = 10 };
monitor_lockboxes.Add(newBox);
当然,您可以在单个语句中完成 - 为了清楚起见,我只是将其分开。
(我还强烈建议您更改命名以遵循.NET 约定。)
以下将起作用:
monitor_lockboxes.Add(new Lockbox { lockbox = "Foo", polling_interval = 42 } );
这使用Object Initializer语法。为此,属性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));