学习.net笔记(1)
10. 索引生成器 一个容器对象表现为对象数组,必须提供一种索引方法访问其包含的对象。如ArrayList。 定义方法同属性类似: public object this(int key){ get{return something;} set{set something;} } 9. 特性(attribute) 不明白是一些什么东东,可能是对一些函数,类进行非功能方面的标识,
10. 索引生成器
一个容器对象表现为对象数组,必须提供一种索引方法访问其包含的对象。如ArrayList。
定义方法同属性类似:
public object this(int key){
get{return something;}
set{set something;}
}
9. 特性(attribute)
不明白是一些什么东东,可能是对一些函数,类进行非功能方面的标识,用反射可以得到这些标识。很多Attribute是指导编译器的。
如编译嚣将对象序列化生成XML时,用[XmlIgnore()]就可不生成该字段。用[Obsolete("someInformation")]告诉此方法已经过期,[STAThread]表示静态变量安全。
参见:http://blog.joycode.com/5drush/archive/2003/11/08/6074.aspx
8. 事件
事件是类型为事件,约定参数的委托:
public delegate int DelegateMethod(object sender, SomeEventArgs e);
public event DelegateMethod DelegateMethodHandler;
调用时,sender总为this, someEventArgs 为System.EventArgs或其子类。
7。委托
A。在Class1中声明委托: public delegate int DelegateMethod(int para);
B. 在Class1中的某个函数调用委托方法: DelegateMethodHandle(realPara);
C, 在Class2中写一个实际方法,签名同委托的声明同委托声明。 public static int Func(int para)
D。在Class3中实例化委托将传给Class1的实例:
Class1.DelegateMethod delegateHandler=new Class1.DelegateMethod(Class2.Func)
(说明:Class2.Func既可以是一个静态方法,也可以是对象的非静态方法)
6.Checked 同unChecked
unchecked 溢出后不会弹出错误,如一个short等于最大值之后,再加一个数,其值会变为负数。
5.自定义类型转换:
public static explicit operator int(MyClass myObject)
{
return myObject.intValue();
}
4 重载操作符:
public static operator >(MyClass left, MyClass right)
{
return (left.value>right.value);
}
3. abstract方法同virtual 方法:
abstract必须包含在abstract类中,virtual可以在普通类中。
2. New and override
override 重写方法提供从基类继承的成员的新实现, new方法中断子类方法同基类方法的联系。 如:
BaseClass myObject=new SubClass();
如果用new重写NewMethod()方法,则myObject.NewMethod(); 运行的方法实际是BaseClass中的方法。而override重写则运行的是SubClass中的方法。
override的方法的方法必须是virtual 或abstract 的
1. Get and Set property
public int aaaPropertySet{
get{return base.x; }
set{base.x=value; } //"value" is prezerve word
}
更多推荐
所有评论(0)