|
一个很好的例子 |
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;
namespace Constuctor{
public class Chessboard { public static Chessboard board = null; public string player1; public string player2; public string start; private Chessboard() { Console.WriteLine("test!1"); } static Chessboard() { board = new Chessboard(); board.start = DateTime.Now.ToLongTimeString(); Console.WriteLine("test!2"); } public static string ok = "hello!"; } class Program { static void Main(string[] args) { Console.WriteLine(Chessboard.ok); Chessboard game = Chessboard.board; game.player1 = "Sally"; game.player2 = "Bob"; Console.WriteLine("{0} play {1} at {2}", game.player1, game.player2, game.start); }
}} 哈,看去简单,这个程序我觉得很是特别,(1)用了一个STATIC 构造函数,而在里面初始化一个实例(也要为静态)时,会调用默认的Constuctor(2)在访问静态成员或一个实例之前都会先调用静态Constuctor(无参数)(3)用了别名,方便地进行操作.(4)记住静态构造器始终只被调用一次. | |
|
|
|
|