嘿我正在创建一个受雇的程序我试图让构造函数共享值,但它不会创建一个包含实例变量的名为(used)的类: 名字串; num int; 算他的当时是120; 创造自己的 设置并获取名称 和proparaty 得到数数 * 对于每个创建对象,我们将1增加到计数
public class employed //creating class
{ // creating instanse variable
private string name;
private int number;
private static int count; //declare it as a static so we can use it in a static method
public string proparaty
{
set
{ name = value; }
get { return name; }
}
public int propartyForCount
{
get
{
return count;
}
}
static employed() { // we make it static so we can share the value
count = 120;
count++;
}
}
static void Main(string[] args)
{
employed c1 = new employed();
employed c2 = new employed();
employed c3 = new employed();
Console.Write("the count number is {0} ", c1.propartyForCount);
}
答案 0 :(得分:2)
Static Constructor仅对类型执行一次(在首次使用类型之前)。来自MSDN:
自动调用静态构造函数来初始化类 在创建第一个实例之前或任何静态成员之前 引用。
因此,您只会count
增加一次。
如果您想在每次实例化新员工时增加此变量,那么您应该在实例构造函数中执行此操作:
private static int count = 120;
public employed()
{
count++;
}