方法内部的变量当然不能用static等修饰符修饰了,否则就违反OO的封装性要求了
解决方案 »
- ArcGIS 如何发布简单的GP服务?
- C# 隐藏datagridview单元格问题 <紧急求助>
- 请教treeview的问题
- C# 二进制读取文件时这一行代码是什么意思?
- 为什么我的vs20005里工具箱里的东西都是灰的,没有装上,不能用,我已经用vs2005自带的修复功能修复了一遍,也还是一样
- @@@送分快来抢:写了个windows service,把相关类放到service中一起编译,或把相关类编译成dll后在service中引用,哪种性能好?
- C#建立方法的问题(在线结帖!!!!)
- 散分,进来看看
- 数据显示问题?
- 这个语句怎么写
- 关于contextmenu的问题.
- 水晶报表问题火速求助,多谢!!
{
// ...
private static int i = 0; //注意,在这里有个东东。当然要是private,否则就暴露出去了。
public void Func()
{
// 使用 i
// ...
}
}
class X
{ public static int Number{get{return i;}}
private static int i = 0;
public static void Func()
{
i++
}
}X.Func();
MessageBox.Show(X.Number.ToString());
private static int i = 0;暴露又怎么了??
当然应该这么用呀?
上面的你是定义了一个静态方法,干嘛呀?不定也不也行么??
其中“可以定义 static 变量”是指定义一个类的static成员,而不是指在方法体内和属性get,set访问器内定义吧?——而这正是我的问题所在。
定义在你的一个方法中,跟定义的一个一般变量有什么区别!
况且,SDK 压根就不让!
所以你在方法内部定义一个static变量就没意义了:这样的变量在方法外部就是无法访问的,有没有static有什么区别呢?仔细看一下易水之风兄的程序,你就会发现,他的static对象是类一级的,而不是方法内的。
方法内的变量用修饰符修饰是没有意义的。