类型之间的转换
假设我们有一个名为Employee的基类和一个名为ContractEmployee的派生类,以下代码有效是因为会发生从派生类到基类的隐式向上类型转换(upcast):
class Employee{}
class ContractEmployee:Employee{}
class CastExample1
{
public static void Main()
{
Employee e=new ContractEmployee();
}
}
但是,以下代码是非法的,因为编译器不提供隐式向下类型转换(downcast):
class Employee{}
class ContractEmployee:Employee{}
class CastExample2
{
public static void Main()
{
ContractEmployee ce=new Employee();//Won't compile.
}
}
}
Internal 此成员只在当前编译单元中可见.Internal访问修饰符根据代码所在的位置,而不是类在层次结构中的位置决定可见性的.
引用类型是在堆上创建的,值类型是在堆栈上创建的.