using System; using System.Collections.Generic; using System.Linq; using System.Text; //1.靜態方法能夠訪問類中的全部靜態成員,但不能訪問實例成員 //2.非靜態方法能夠訪問靜態成員和非靜態成員 //3.在構造器中只能對非靜態成員使用this關鍵字 namespace StaticMethod { class SQLServerDb { static string progressString1="starting repair..."; string progressString2="...repair finished"; public static void RepairDatabase() { Console.WriteLine("repairing database..."); } //靜態方法能夠訪問類中的全部靜態成員,但不能訪問實例成員 public static void RepirWithStrings() { Console.WriteLine(progressString1);//語法正確 //Console.WriteLine(progressString2);//語法錯誤 } //非靜態方法能夠訪問靜態成員和非靜態成員 public void InstanceRepair() { Console.WriteLine(progressString1);//語法正確 Console.WriteLine(progressString2);//語法正確 } public SQLServerDb() { } public SQLServerDb(string s1, string s2) { //this.progressString1 = s1;//語法錯誤 //在構造器中只能對非靜態成員使用this關鍵字 this.progressString2 = s2; } } class Program { static void Main(string[] args) { SQLServerDb.RepairDatabase(); SQLServerDb db = new SQLServerDb(); db.InstanceRepair(); Console.ReadKey(); } } }