静态构造函数木有执行,谁能帮我看看啊
时间:2011-12-17
来源:互联网
protected string fieldName="";
protected static void BaseMethodName(){
}
}
public class Class1:baseClass{
static Class1(){
fieldName="aaa";
}
}
调用:
public class Class2{
public void MethodName(){
Class1.BaseMethodName();
//这里调用的时候fieldName=""; debug发现Class1的构造函数木有执行,这是为什么呢?
有其他方法实现同样的效果吗
}
}
谢谢帮忙
作者: songzhumingxxx 发布时间: 2011-12-17
连编译都不能通过,你怎么说“debug发现Class1的构造函数木有执行”来误导别人呢?
作者: sp1234 发布时间: 2011-12-17
能编译通过?编译器都认不得你的代码。
作者: sp1234 发布时间: 2011-12-17
加个 Class1 c = new Class1();
后就会执行了
作者: Lxpd 发布时间: 2011-12-17
作者: schinar 发布时间: 2011-12-17
protected sattic string fieldName="";
protected static void BaseMethodName(){
}
}
public class Class1:baseClass{
static Class1(){
fieldName="aaa";
}
}
调用:
public class Class2{
public void MethodName(){
Class1.BaseMethodName();
}
}
这样呢?
作者: songzhumingxxx 发布时间: 2011-12-17
public class baseClass{
protected sattic string fieldName="";
protected static void BaseMethodName(){
}
}
public class Class1:baseClass{
static Class1(){
fieldName="aaa";
}
}
……
你这样也是 执行不到
static Class1(){
fieldName="aaa";
} 的这个方法的,
你可以这样调用
public class Class2{
public void MethodName(){
Class1 c = new Class1(); // 注意这里实例化一下只是为了让它执行静态构造函数
Class1.BaseMethodName();
}
}
你的问题其实就是 静态构造函数的执行时机问题
静态构造函数 只执行一次,它是在 它所在的类实例化时 或都第一次调用 它的静态成员 时执行
作者: Lxpd 发布时间: 2011-12-17
作者: DENQH 发布时间: 2011-12-17
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28