这是我第一次看到这种声明。我在谷歌找不到太多信息。在其中一个现有的WPF应用程序中,用户尝试创建一个新窗口,他将实例化下面的类。什么" -1"意思?到底是做什么的?
ProductViewModel viewModel = new ProductViewModel(-1);
答案 0 :(得分:5)
它只是构造函数的一个参数...当您创建一个类时,您可以指定零(如果您不创建至少一个,则为您创建默认的空构造函数)或更多构造函数。在构造函数中,您通常会为要使用的类设置变量。 -1
通常意味着未设置值(如默认值),但我相信在这种情况下,最好使用可选参数创建一个构造函数,如下所示:
public class ProductViewModel
{
// this is our modified constructor
public ProductViewModel(int productId = -1)
{
// do something with the values, probably set some internal field
}
}
使用new
关键字创建类的实例时,始终会调用构造函数。
根据注释,构造函数的参数声明如下:
params object[] args
。说I take variable number of parameters
只是一种奇特的语法。您可以在C#reference:Params keyword
params
答案 1 :(得分:0)
取决于ProductViewModel
中存在的代码。我认为这个-1
表示程序员打算创建一个新的Product
。此-1
应为ProductId
。如果Id
大于0,则将加载产品的详细信息。如果Id为-1
,则应创建新的作品。
这就是我对这个构造函数参数的看法。