字段,属性,方法,委托,事件.索引器,构造函数,析构函数.访问修饰符
字段
字段是被视为类的一部分的对象的实例,通常用于保存类数据。例如,日历类可能具有一个包含当前日期的字段。
可以选择将字段声明为 static。这使得调用方在任何时候都能使用字段,即使类没有任何实例。
可以将字段声明为 readonly。只读字段只能在初始化期间或在构造函数中赋值。
static readonly 字段非常类似于常数,只不过 C# 编译器不能在编译时访问静态只读字段的值,而只能在运行时访问。
属性
 属性是类中可以像类中的字段一样访问的方法。属性可以为类字段提供保护,以避免字段在对象不知道的情况下被更改。
属性使类能够以一种公开的方法获取和设置值,同时隐藏实现或验证代码。
get 属性访问器用于返回属性值,而 set 访问器用于分配新值。这些访问器可以有不同的访问级别。
value 关键字用于定义由 set 索引器分配的值。
不实现 set 方法的属性是只读的。
对于不需要任何自定义访问器代码的简单属性,可考虑选择使用自动实现的属性。方法
 方法定义类可以执行的操作。方法可以接受提供输入数据的参数,并且可以通过参数返回输出数据。方法还可以不使用参数而直接返回值。
委托
委托是一种引用方法的类型。一旦为委托分配了方法,委托将与该方法具有完全相同的行为。
事件
 事件向其他对象提供有关发生的事情(如单击按钮或成功完成某个方法)的通知。事件是使用委托定义和触发的。
索引器
 使用索引器可以用类似于数组的方式为对象建立索引。
构造函数
 构造函数是在第一次创建对象时调用的方法。它们通常用于初始化对象的数据。
析构函数
 析构函数是当对象即将从内存中移除时由运行库执行引擎调用的方法。它们通常用来确保任何必须释放的资源都得到适当的处理。
访问修饰符
public 
 访问不受限制,可以类内和任何类外的代码中访问
protected
 可访问域限定于类内或从该类派生的类内
internal
 可访问域限定于类所在的程序内
protected internal
 protected或者internal,即可访问域限定于类所在的程序或那些由它所属的类派生的类内
private
 可访问域限定于它所属的类内
 
 

 Code
Code
  1 namespace DemoLib.Demo1
namespace DemoLib.Demo1
  2

 {
{
  3
 delShowMessage 委托#region delShowMessage 委托
    delShowMessage 委托#region delShowMessage 委托
  4
 /**//// <summary>
    /**//// <summary>
  5 /// 委托
    /// 委托
  6 /// </summary>
    /// </summary>
  7 /// <param name="message"></param>
    /// <param name="message"></param>
  8 public delegate void delShowMessage(string message);
    public delegate void delShowMessage(string message);
  9 #endregion
    #endregion
 10
 11
 Person 人类(类)#region  Person 人类(类)
    Person 人类(类)#region  Person 人类(类)
 12
 /**//// <summary>
    /**//// <summary>
 13 /// 人类(类)
    /// 人类(类)
 14 /// </summary>
    /// </summary>
 15 public class Person
    public class Person
 16
 
     {
{
 17
 name (字段)#region name (字段)
        name (字段)#region name (字段)
 18
 /**//// <summary>
        /**//// <summary>
 19 /// 名称
        /// 名称 
 20 /// </summary>
        /// </summary>
 21 private string name;
        private string name;
 22
 23
 private float[] temps = new float[10]
        private float[] temps = new float[10]  { 56.2F, 56.7F, 56.5F, 56.9F, 58.8F,
{ 56.2F, 56.7F, 56.5F, 56.9F, 58.8F, 
 24 61.3F, 65.9F, 62.1F, 59.2F, 57.5F };
                                            61.3F, 65.9F, 62.1F, 59.2F, 57.5F };
 25 #endregion
        #endregion
 26
 27
 Length (属性)#region Length (属性)
        Length (属性)#region Length (属性)
 28
 /**//// <summary>
        /**//// <summary>
 29 ///
        /// 
 30 /// </summary>
        /// </summary>
 31 public int Length
        public int Length
 32
 
         {
{
 33
 get
            get  { return temps.Length; }
{ return temps.Length; }
 34 }
        }
 35 #endregion
        #endregion 
 36
 37
 this[int index] 索引器#region this[int index] 索引器
        this[int index] 索引器#region this[int index] 索引器
 38
 /**//// <summary>
        /**//// <summary>
 39 ///  索引器
        ///  索引器
 40 /// </summary>
        /// </summary>
 41 /// <param name="index"></param>
        /// <param name="index"></param>
 42 /// <returns></returns>
        /// <returns></returns>
 43 public float this[int index]
        public float this[int index]
 44
 
         {
{
 45 get
            get
 46
 
             {
{
 47 return temps[index];
                return temps[index];
 48 }
            }
 49
 50 set
            set
 51
 
             {
{
 52 temps[index] = value;
                temps[index] = value;
 53 }
            }
 54 }
        }
 55 #endregion
        #endregion 
 56
 57
 Name 名字(属性)#region  Name 名字(属性)
        Name 名字(属性)#region  Name 名字(属性)
 58
 /**//// <summary>
        /**//// <summary>
 59 ///
        /// 
 60 /// </summary>
        /// </summary>
 61 public string Name
        public string Name
 62
 
         {
{
 63 get
            get
 64
 
             {
{
 65 return name;
                return name;
 66 }
            }
 67 set
            set
 68
 
             {
{
 69 name = value;
                name = value;
 70 }
            }
 71 }
        }
 72 #endregion
        #endregion
 73
 74
 Person 构造函数#region  Person 构造函数
        Person 构造函数#region  Person 构造函数
 75
 /**//// <summary>
        /**//// <summary>
 76 /// 无参构造函数
        /// 无参构造函数
 77 /// </summary>
        /// </summary>
 78 public Person()
        public Person()
 79
 
         {
{
 80 name = "unknown";
            name = "unknown";
 81 }
        }
 82
 83
 /**//// <summary>
        /**//// <summary>
 84 /// 有参构造函数
        /// 有参构造函数
 85 /// </summary>
        /// </summary>
 86 /// <param name="name">名称</param>
        /// <param name="name">名称</param>
 87 public Person(string name)
        public Person(string name)
 88
 
         {
{
 89 this.name = name;
            this.name = name;
 90 }
        }
 91 #endregion
        #endregion
 92
 93
 ~Person 析构函数#region ~Person 析构函数
        ~Person 析构函数#region ~Person 析构函数
 94
 /**//// <summary>
        /**//// <summary>
 95 /// 析构函数
        /// 析构函数
 96 /// </summary>
        /// </summary>
 97 ~Person()
        ~Person()
 98
 
         {
{
 99 //析构函数用于析构类的实例。
            //析构函数用于析构类的实例。
100 //该析构函数隐式地对对象的基类调用 Finalize。
            //该析构函数隐式地对对象的基类调用 Finalize。
101 //不应使用空析构函数。如果类包含析构函数,Finalize 队列中则会创建一个项。
            //不应使用空析构函数。如果类包含析构函数,Finalize 队列中则会创建一个项。
102 //调用析构函数时,将调用垃圾回收器来处理该队列。如果析构函数为空,只会导致不必要的性能损失。
            //调用析构函数时,将调用垃圾回收器来处理该队列。如果析构函数为空,只会导致不必要的性能损失。
103 //所以当前的代码最好去掉析构函数。
            //所以当前的代码最好去掉析构函数。
104 }
        }
105 #endregion
        #endregion
106
107
 MessageEvent 事件#region MessageEvent 事件
        MessageEvent 事件#region MessageEvent 事件
108
 /**//// <summary>
        /**//// <summary>
109 ///
        /// 
110 /// </summary>
        /// </summary>
111 public event delShowMessage MessageEvent;
        public event delShowMessage MessageEvent;
112 #endregion
        #endregion
113
114
 MyIntroduce 自我介绍 (方法)#region MyIntroduce 自我介绍 (方法)
        MyIntroduce 自我介绍 (方法)#region MyIntroduce 自我介绍 (方法)
115
 /**//// <summary>
        /**//// <summary>
116 ///
        /// 
117 /// </summary>
        /// </summary>
118 /// <returns></returns>
        /// <returns></returns>
119 public string MyIntroduce()
        public string MyIntroduce()
120
 
         {
{
121 return "我的名字叫:" + this.name;
            return "我的名字叫:" + this.name;
122 }
        }
123 #endregion
        #endregion
124
125
 TalkMessage 说些消息 (方法)#region TalkMessage 说些消息 (方法)
        TalkMessage 说些消息 (方法)#region TalkMessage 说些消息 (方法)
126
 /**//// <summary>
        /**//// <summary>
127 ///
        /// 
128 /// </summary>
        /// </summary>
129 /// <param name="message">消息内容</param>
        /// <param name="message">消息内容</param>
130 /// <returns></returns>
        /// <returns></returns>
131 public string TalkMessage(string message)
        public string TalkMessage(string message)
132
 
         {
{
133 return "消息内容是:" + message;
            return "消息内容是:" + message;
134 }
        }
135 #endregion
        #endregion
136
137
 ShowMessage 显示消息 (静态方法)#region ShowMessage 显示消息 (静态方法)
        ShowMessage 显示消息 (静态方法)#region ShowMessage 显示消息 (静态方法)
138
 /**//// <summary>
        /**//// <summary>
139 ///
        /// 
140 /// </summary>
        /// </summary>
141 /// <param name="message">消息内容</param>
        /// <param name="message">消息内容</param>
142 /// <returns></returns>
        /// <returns></returns>
143 public static string ShowMessage(string message)
        public static string ShowMessage(string message)
144
 
         {
{
145 return "消息内容是:" + message;
            return "消息内容是:" + message;
146 }
        }
147 #endregion
        #endregion
148
149 }
    }
150 #endregion
    #endregion
151 }
}