CJM*_*CJM 5 c# static declaration
这绝对是一个菜鸟问题,但我的远距离搜索并没有为我解决这个问题.
想要一个特定的控制台应用程序来存储几个类级变量.在一种情况下,我想存储我的日志对象的副本,我将在类中的不同位置使用它.在另一种情况下,我想存储一个简单的类型,实际上是一个int值,它只在内部使用(不需要是属性).
似乎除非我将这些变量指定为静态,否则我不能在Main()及更高版本中使用它们.
我对静态对象的理解是它们的值在对象的所有实例之间共享.在正常操作下,我希望它们只是我应用程序的一个实例,所以这个问题不是问题 - 但它强调了我对相当基本的东西缺乏了解.
在我的日志对象的情况下,我可以看到使其成为静态的情况 - 在多个实例之间共享日志可能是一个好处.但是,情况可能并非如此......在我的int的情况下,我当然不希望在实例之间共享它.
所以...
编辑:好的,信息很清楚 - 我对静力学的理解基本上是正确的,但问题在于结构和方法.谢谢你的回复.
只需将您的应用程序封装在另一个类中,您可以在该Main方法上创建并执行该类:
class MyApp {
private MyLog lol = new MyLog();
private int myInt = 0;
public void Execute() {
// ...
}
}
class Program {
public static void Main() {
new MyApp().Execute();
}
}
Run Code Online (Sandbox Code Playgroud)
如果需要,您仍然可以将日志字段设置为静态.