第一部分 C#类的基本原理2---------------

类型之间的转换

假设我们有一个名为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访问修饰符根据代码所在的位置,而不是类在层次结构中的位置决定可见性的.

 

引用类型是在堆上创建的,值类型是在堆栈上创建的.

你可能感兴趣的:(第一部分 C#类的基本原理2---------------)