寻求 高手 支招。 本帖最后由 Oo_o_oO 于 2012-04-09 01:06:49 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 先纠正你一个错误int i = 10; //1System.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 所有的方法属性。 这个做不做得到? 答答一答: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() { //........ }} 一答: 我认为是,[const][static]可以混用的, 1·static 是指的表示静态的,表示用static 修饰过的方法或属性 是属于类本身的,不是单个对象特有,而是 全部对象共用。不会给每个对象一个单独的常量。 2·const 是表示常量,一旦声明就不能修改。当然类中的常量也是全部对象共用的,不会给每个对象一个单独的常量。 以下参考:const与static的区别 const与readonlyconst static 可以 共用? 警告楼上,不要倒分,否则XHW。 求SQL语句,急阿!!!! 郁闷的象素单位 为什么我改了连接字符串的值,但是app.config的值还是没有改变 求高手指点,16位2进制对应到16个CheckBox中的做法!万分感激!!!! 关于volatile的问题! C#真的不适合计算机专业学生作为自己的主要语言。 请问C#可以调用vc写的动态链接库文件吗? 如何完全定制ListView? 有谁知道淘宝旺旺网页版怎么做? 关于网站上传的问题 Dictionary<k,v>怎么绑定ListView 求教 有没人做过C# winfrom 程序登录的时候初始化系统时间
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,
第一个问题是 代码写漏了:
本意是 :
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 所有的方法属性。
这个做不做得到?
二答:会产生递归无限循环生成 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()
{
//........
}
}
我认为是,[const][static]可以混用的,
1·static 是指的表示静态的,表示用static 修饰过的方法或属性 是属于类本身的,不是单个对象特有,而是 全部对象共用。不会给每个对象一个单独的常量。
2·const 是表示常量,一旦声明就不能修改。当然类中的常量也是全部对象共用的,不会给每个对象一个单独的常量。
以下参考:
const与static的区别
const与readonly
const static 可以 共用?