// 类的成员使用
using System;
class Myclass
{
public Myclass() //构造函数
{
Console.WriteLine("object is initialized");
}
public Myclass(int value) //带有参数的构造函数
{
MyField = value;
Console.WriteLine("object is initialized");
}
~Myclass() //析构函数
{
Console.WriteLine("object is destroyed");
}
public const int MyConst = 10; //常数
public int MyField = 15; //字段
public void MyMethod() //方法
{
Console.WriteLine("MyClass.MyMethod");
}
public int MyProperty //属性
{
get
{
return MyField;
}
set
{
MyField = value;
}
}
public int this[int index] //索引器
{
get
{
return 0;
}
set
{
Console.WriteLine("this[{0}]={1}", index, value);
}
}
public event EventHandler MyEvent; //事件
public static Myclass operator +(Myclass a, Myclass b) //运算符
{
return new Myclass(a.MyField + b.MyField);
}
internal class MyNestedClass //嵌套类型
{ }
}
class Test
{
static void Main()
{
Myclass a = new Myclass(); //构造函数的使用
Myclass b = new Myclass(100);
Console.WriteLine("MyConst={0}", Myclass.MyConst); //常数的使用
a.MyField++; //字段的使用
Console.WriteLine("a.MyField={0}", a.MyField);
a.MyMethod(); //方法的使用
a.MyProperty++; //属性的使用
Console.WriteLine("a.MyProperty={0}", a.MyProperty);
a[3] = a[1] = a[2]; //索引器的使用
Console.WriteLine("a[3]={0}", a[3]);
a.MyEvent += new EventHandler(MyHandler); //事情的使用
Myclass c = a + b; //运算符的使用
Console.Read();
}
static void MyHandler(object sender, EventArgs e)
{
Console.WriteLine("Test.MyHandler");
}
internal class MyNestedClass
{ }
}