全局非静态变量

含羞草

成员
加入
4月29日,2020年4月
消息
16
编程经验
1-3
你好,我们又见面了。
您可以帮助我(或只是踢)在VS代码中使用全局变量。
我知道静态变量的静态类
我想使用课堂上每种方法的变量。再次,我是新的c#,所以也许它是微不足道的,也许它是不可能的(具有标准程序。因为一切都是可能的):
所以我从VS错误列表中学到了我不能这样做
因为> 非静态字段,方法或属性'subscribedatachange.client'需要一个对象引用。

1590053777672.png.



所以我走这种方式:
1590053953644.png.


是有可能的 客户 为全班而实例化?
 

约翰

C#论坛主持人
工作人员
加入
2011年4月23日
消息
1,159
地点
挪威
编程经验
10+
You can apply the static modifier to the 客户 field.
 

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,720
地点
悉尼,澳大利亚
编程经验
10+
静态方法无法访问自己的实例成员。他们怎么样?静态和实例成员的整点是该实例成员属于单个对象,静态成员属于整个类型。如果静态方法是能够引用实例字段,则它将引用哪个对象的字段?
 

跳伞运动员

工作人员
加入
2019年4月6日
消息
2,892
地点
切萨皮克,va.
编程经验
10+
多年来,程序程序员,面向对象的程序员和功能编程程序员已经学会了避免使用全局变量的危险。程序程序员在思想中颤抖着使用全局调试大型码级,因为它非常难以理解,何时何时何地改变全局价值。投入多个线程,快速成为垃圾箱火灾。唯一可以为您提供一半的机会是一个调试器,可以主动跟踪内存位置的变化(不仅仅是由于锯齿的性质而变化)。在一点时,面向对象的程序员通过使用单例设计模式来掩盖了他们使用全局变量的事实,但由于录取了单例只是另一个全球性,并且会很容易地说单身是反模式。功能程序员承认有时是必要的,但他们尽力尽量减少他们的使用,并在管道的尽头上隔离全球的更新。

当您有一个公共静态变量时,基本上有一个全局变量。他们可以方便地使用,同时学习和原型设计代码,但不要让原型代码突然促进生产代码,即使天使投资者明天为您提供100万美元并维持未来5年的代码。 (如果您不必维护代码,只接受100万美元,您可以使用部分资金供您的个人安全细节来保护您免受那些必须维护它的愤怒开发人员。;-))
 

约翰

C#论坛主持人
工作人员
加入
2011年4月23日
消息
1,159
地点
挪威
编程经验
10+
Another thing to note is that you may not need the field at all. In standard event pattern the sender parameter in event handler is the instance that raised the event, so in event handler you can cast that object to appropriate type:
C#:
var client = (EasyUAClient)sender;
 

含羞草

成员
加入
4月29日,2020年4月
消息
16
编程经验
1-3
非常感谢您的回复。我知道另一个程序员在调试时可以通过代码犁过的事实。我的代码非常简单(现在),我将保持它..目前..
 
最佳 底部