我正在學習C#,並且無法理解static
關鍵字。瞭解C#中的靜態內容#
說我有以下代碼:
using System;
using System.IO;
using System.IO.Ports;
class PortThing
{
SerialPort port;
void InitPort()
{
if(!File.Exists("/dev/whatever"))
{
System.Console.WriteLine("Device not found.");
port = null;
}
//else port = something
}
public static void Main(string[] args)
{
InitPort();
System.Console.WriteLine("Done.");
}
}
據我可以理解,一個靜態方法是一個屬於類而不是該類的對象。所以靜態方法不能引用非靜態方法/字段,因爲它們需要實例化一個類。
編譯器抱怨Main()
調用InitPort()
並希望使其成爲靜態。我可以這樣做,但這需要使port
成爲一個靜態字段。遵循這一思路,一切都將最終成爲靜態的。
我得到什麼錯誤?
所有靜態成員...不只是靜態字段 – 2010-12-22 13:06:36