一.類
形式
直觀含義
public
不限制訪問。
protected
訪問限於該成員所屬的類或從該類派生來的類型。
internal
訪問限於此程序。
protected internal
訪問限於此程序或從該成員所屬的類派生的類型。
private
訪問限於該成員所屬的類型。
//示例
using System;
class MyClass
...{
public MyClass() ...{
Console.WriteLine("Instance constructor");
}
public MyClass(int value) ...{
MyFIEld = value;
Console.WriteLine("Instance constructor");
}
Console.WriteLine("Destructor");
}
public const int MyConst = 12;
public int MyFIEld = 34;
public void MyMethod()...{
Console.WriteLine("MyClass.MyMethod");
}
public int MyProperty ...{
get ...{
return MyFIEld;
}
set ...{
MyFIEld = value;
}
}
~MyClass() ...{
Console.WriteLine("Destructor");
}
public const int MyConst = 12;
public int MyFIEld = 34;
public void MyMethod()...{
Console.WriteLine("MyClass.MyMethod");
}
public int MyProperty ...{
get ...{
return MyFIEld;
}
set ...{
MyFIEld = value;
}
}
class Test
...{
static void Main() ...{
// Instance constructor usage
MyClass a = new MyClass();
MyClass b = new MyClass(123);
// Constant usage
Console.WriteLine("MyConst = {0}", MyClass.MyConst);
// FIEld usage
a.MyFIEld++;
Console.WriteLine("a.MyField = {0}", a.MyFIEld);
// Method usage
a.MyMethod();
// Property usage
a.MyProperty++;
Console.WriteLine("a.MyProperty = {0}", a.MyProperty);
// Indexer usage
a[3] = a[1] = a[2];
Console.WriteLine("a[3] = {0}", a[3]);
// Event usage
a.MyEvent += new EventHandler(MyHandler);
// Overloaded Operator usage
MyClass c = a + b;
}
static void MyHandler(object sender, EventArgs e) ...{
Console.WriteLine("Test.MyHandler");
}
internal class MyNestedClass
...{}
}
顯示了這些成員的用法。