本帖最后由 Oo_o_oO 于 2012-04-09 01:06:49 编辑

解决方案 »

  1.   

    先纠正你一个错误
    int i = 10; //1
    System.Int32=10;//2
    //2显然是错误的语法,Int32是结构体没错,但也只是定义的一个类型,直接给类型赋值,是异常的。然后回答第一问:用const   修饰符声明的变量的值在编译时给定,并且默认为static。所以,两者等价
    第二问:当然不能,这不就等于一直循环创建自己的实体,形成死循环么?
    第三问:为什么不能在定义ClassA的时候,直接用Class ClassA:ClassB的形式来继承ClassB的方法和属性呢?
      

  2.   

    第二问:如果只是这样:
        public class errorClass
        {
            //不能出现此属性:
            private errorClass ec=null;
        }这样是可以的,但不能new,
      

  3.   

    第三问,除非ClassA是ClassB的派生类,否则无法让ClassA的实例拥有ClassB的属性和方法,一个对象只能是一个类的实例,不能同时是两个没有派生关系的类的实例,
      

  4.   

     ---- 补充一下: 
    第一个问题是 代码写漏了:
      本意是 :
     int i = 10; //1
     System.Int32 i=10;//2上下两句是不是等价的?这个是我的疑问:----不是很确定,
      public const int MaxValue = 2147483647;//
      public static const int MaxValue = 2147483647;//上下两句是不是等价的?第三问是这样的:
      之前已定义了ClassA ,ClassB;两个类; 
      现在,我可以用
        Type type = Type.GetType("ClassA", false, true);
        object o = System.Activator.CreateInstance(type);的方式创他对象o
    但是,我想做到,让对象o 同时有ClassA 的方法属性,又有ClassB 的方法属性,
       就好像我声明一个类型 ClassC 同时继承于ClassA ClassB ,
       实际上,我 定义ClassC 类型,但是ClaasC 类型 的方法与属性 已确定为 ClassA,ClassB 所有的方法。
       做不做得到?
      
     
      

  5.   

    第三问是这样的:
      之前已定义了ClassA ,ClassB;两个类;  
      现在,我可以用    Type type = Type.GetType("ClassA", false, true);
        object o = System.Activator.CreateInstance(type);
    的方式创对象o。--但这不是我想要的,
    我想要的是:
      让对象o 同时有ClassA 的方法属性,又有ClassB 的方法属性,
      就好像我声明一个类型 ClassC 同时继承于ClassA,ClassB ,
      实际上,我没有定义ClassC 类型,但是ClaasC 类型 的方法与属性 已确定,为 ClassA,ClassB 所有的方法属性。
      这个做不做得到?
      

  6.   

    答答一答:const 和 static 不能一起使用。
    二答:会产生递归无限循环生成 errorClass 类对象。
    三答:一个类只能有一个 parent class,但可以实现多个 interface。根据你的需求,你应该把 ClassA, ClassB 定义成 接口。public interface IClassA
    {
        int GetSomething();
    }
    public interface IClassB
    {
        int GetAnotherThing();
    }
    public class ClassC : IClassA, IClassB
    {
        public int GetSomething()
        {
            //........
        }
        public int GetAnotherThing()
        {
            //........
        }
    }
      

  7.   

    一答: 
    我认为是,[const][static]可以混用的,
      static 是指的表示静态的,表示用static 修饰过的方法或属性 是属于类本身的,不是单个对象特有,而是 全部对象共用。不会给每个对象一个单独的常量。
      const 是表示常量,一旦声明就不能修改。当然类中的常量也是全部对象共用的,不会给每个对象一个单独的常量。
      
       以下参考:
    const与static的区别 
    const与readonly
    const static 可以 共用?
      

  8.   

    警告楼上,不要倒分,否则XHW。