/*------------------------------------------------------------ 静态构造函数 (P112) --------------------------------------------------------------*/
// ***********************************************************************************************************************************************
// **
// ** ❤ 构造函数没有返回值
// ** ❤ 静态构造函数没有访问修饰符①
// ** ❤ 静态构造函数不能带任何参数,一个类只能有一个静态构造函数②
// ** ❤ 静态构造函数只能访问类的静态成员,不能访问实例成员③
// **
// **
// ** 注意:1.把字段声明为只读类型,表示其值只能在构造函数中设置④
// ** 2.这段代码使用了Microsoft在FrameWork类库中支持的两个有用的结果System.DateTime和System.Drawing.Color:
// ** DateTime结构实现了静态属性Now(返回当前的时间)和实例属性DateOfWeek(计算出某个日期是星期几)
// **
// ***********************************************************************************************************************************************
using System;
namespace Wrox.ProCSharp.StaticConstructorSample
{
class UserPreperences
{
public static readonly ConsoleColor BackColor;
int temp = 0;
static UserPreperences() //①②
{
DateTime now = DateTime.Now;
if (now.DayOfWeek == DayOfWeek.Saturday || now.DayOfWeek == DayOfWeek.Sunday)
{
BackColor = ConsoleColor.Green; //④③(不能访问temp)
}
else
{
BackColor = ConsoleColor.Red; //④③(不能访问temp)
}
}
public static void Main()
{
Console.WriteLine("UserPreperences.BackColor is: {0}", BackColor);
Console.ReadKey();
return;
}
}
}