当前位置:编程学习 > C#/ASP.NET >>

寻求 高手 支招。

--------------------编程问答-------------------- 先纠正你一个错误
int i = 10; //1
System.Int32=10;//2
//2显然是错误的语法,Int32是结构体没错,但也只是定义的一个类型,直接给类型赋值,是异常的。

然后回答第一问:用const   修饰符声明的变量的值在编译时给定,并且默认为static。所以,两者等价
第二问:当然不能,这不就等于一直循环创建自己的实体,形成死循环么?
第三问:为什么不能在定义ClassA的时候,直接用Class ClassA:ClassB的形式来继承ClassB的方法和属性呢? --------------------编程问答-------------------- 第二问:如果只是这样:
    public class errorClass
    {
        //不能出现此属性:
        private errorClass ec=null;
    }

这样是可以的,但不能new, --------------------编程问答-------------------- 第三问,除非ClassA是ClassB的派生类,否则无法让ClassA的实例拥有ClassB的属性和方法,

一个对象只能是一个类的实例,不能同时是两个没有派生关系的类的实例, --------------------编程问答--------------------  ---- 补充一下: 
第一个问题是 代码写漏了:
  本意是 :
 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 所有的方法。
   做不做得到?


  
  --------------------编程问答-------------------- 第三问是这样的:
  之前已定义了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;两个类;  
  现在,我可以用C# code
    Type type = Type.GetType("ClassA", false, true);
    object o = System.Activator.CreateInstance(type);

的方式创建对象o。--但这不是我想要的,
我想要的是:
  ……

做不到,但实现这样的功能不难,请参考 适配器模式。 --------------------编程问答-------------------- 答答

一答:const 和 static 不能一起使用。
二答:会产生递归无限循环生成 errorClass 类对象。
三答:一个类只能有一个 parent class,但可以实现多个 inte易做图ce。根据你的需求,你应该把 ClassA, ClassB 定义成 接口。

public inte易做图ce IClassA
{
    int GetSomething();
}
public inte易做图ce IClassB
{
    int GetAnotherThing();
}
public class ClassC : IClassA, IClassB
{
    public int GetSomething()
    {
        //........
    }
    public int GetAnotherThing()
    {
        //........
    }
}
--------------------编程问答-------------------- 一答: 
我认为是,[const][static]可以混用的,
  1·static 是指的表示静态的,表示用static 修饰过的方法或属性 是属于类本身的,不是单个对象特有,而是 全部对象共用。不会给每个对象一个单独的常量。
  2·const 是表示常量,一旦声明就不能修改。当然类中的常量也是全部对象共用的,不会给每个对象一个单独的常量。
  
   以下参考:
const与static的区别 
const与readonly
const static 可以 共用? --------------------编程问答-------------------- 警告楼上,不要倒分,否则XHW。 --------------------编程问答--------------------
引用 12 楼  的回复:
警告楼上,不要倒分,否则XHW。

怎么知道的? IP?
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,