1:override & new
public class A
{
public virtual void Test()
{
Console.WriteLine("A Test()");
}
}
public class B : A
{
private new void Test()
{
Console.WriteLine("b Test()");
}
}
public class C : B
{
public override void Test()
{
Console.WriteLine("C Test()");
}
}
new:
-->运算符:范围内存,初始化
-->修饰符:在子类中用 new 关键字修饰定义的与父类中同名的方法,叫覆盖。覆盖不会改变父类方法的功能
-->new约束:指泛型类声明中任意参数类型都要有无参构造函数,当与其他约束一起使用时,new约束必须在最后指定。
public class BaseDAL<T> : IDAL.IBaseDAL<T> where T : class,new()
{}
2:this
-->引用类的当前实例,包括继承而来的方法,通常可以省略
-->将对象作为参数传递到其他方法
-->声明索引器
public class Person
{
string[] PersonList = new string[10];
public string this[int param]
{
get { return PersonList[param]; }
set { PersonList[param] = value; }
}
}