当我们创建一个对象时,将1增加到变量

时间:2014-04-06 19:14:03

标签: c# oop constructor static

嘿我正在创建一个受雇的程序我试图让构造函数共享值,但它不会创建一个包含实例变量的名为(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);
    } 

1 个答案:

答案 0 :(得分:2)

Static Constructor仅对类型执行一次(在首次使用类型之前)。来自MSDN:

  

自动调用静态构造函数来初始化类   在创建第一个实例之前或任何静态成员之前   引用。

因此,您只会count增加一次。

如果您想在每次实例化新员工时增加此变量,那么您应该在实例构造函数中执行此操作:

private static int count = 120;

public employed() 
{
    count++;
}