尝试了解c#console app,静态让我发疯。
在我的应用中:
static void Main(string[] args) {TimerCallback callback...}
static void Tick(Object state) { !here the problem! }
class myclass { all app logic }
问题是,在Tick方法中我需要使用myclass的实例,但我不能创建新的实例,如:
myclass mc = new myclass();
static void Tick(){}...
“非静态字段,方法或属性需要对象引用”。如果我将myclass放在Tick中,它会工作,但是计时器将始终创建myclass的新实例,并且类中的所有数据都将消失。
P.S。抱歉,我的英文。
答案 0 :(得分:3)
你可能想要这样的东西:
static MyClass myClass;
static void Main(string[] args) { myClass = new MyClass(); TimerCallback callback... }
static void Tick(Object state) { myClass.DoSomething(); }
class MyClass { all app logic }
也就是说,创建一个包含MyClass
实例的静态字段,并在静态方法中使用它。