C#静态构造函数,静态属性器,静态字段
using System;
namespace C_
{
class Person
{
// 静态变量
private static string name;
//静态属性
public static string Name
{
get
{
return name;
}
set
{ //get和set方法相比构造函数可以进行访问过滤
if (value.Length > 5)
{
System.Console.WriteLine("{0} is too long ,pass five char", value);
}
name = value;
}
}
//静态构造函数, 可以在静态构造函数里使用静态属性
static Person(){
//静态构造函数用于初始化静态成员变量
Person.Name="xiao";
System.Console.WriteLine("静态构造调用 ,name:{0}",Person.name);
}
#region 静态构造函数的特点
/* 静态构造函数既没有访问修饰符,也没有参数。
在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数来初始化类。
无法直接调用静态构造函数。
在程序中,用户无法控制何时执行静态构造函数。
静态构造函数只会执行一次
*/
#endregion
}
class Program
{
static void Main(string[] args)
{
//静态构造函数在创建类的实例或者引入静态成员时调用
Person person=new Person();
// 静态构造调用 ,name:xiao
Person.Name="libai";
Console.WriteLine(Person.Name);//静态成员被覆盖了
}
}
}