0

我可以只更新自定义 EventArgs 类中的选定变量,还是需要同时更新所有变量?例如,当调用此方法时:

 public void updateEvents(string var1, string var2, string var3)
 {
     // reference a custom EventArg class
     TraderEventArgs t = new TraderEventArgs(var1, var2, var3);
 }

<已修改;有人指出,上述使用方法调用更新 EventArgs 的语法不正确.. 即......“新”关键字是一个新的 EventArg 不更新......这引出了一个问题..你如何通过方法更新 EventArgs全部或部分调用(只有一些变量而不是全部)...>

我可以省略我不想更新的变量..' TraderEventArgs(,,var3) 吗?

还是会让 TraderEventArgs.var1 和 TraderEventArgs.var2 为空?

这是一个关于我是否需要创建多个 EventArgs 类或者我是否可以将所有(有时是不相关的)非相关数据一起存储在一个自定义 EventArgs 类中的问题。

更正:我在问是否可以将有时不相关的数据一起存储在一个事件参数类中,该类可能会或可能不会与其他非相关数据同时更新......我之前可能不清楚...

4

1 回答 1

1

如果你是这个意思:

new TraderEventArgs(,,var3) 

那只是无效的语法。

请注意,您在这里声明了一个新变量 ( t) 并创建了一个对象——我们所见,没有“现有”对象需要修改。您谈论更新变量,但这不会通过new调用发生。

编辑:现在我们可以看到TraderEventArgs类,很明显您根本无法更新它 -PriceShares属性都是只读的(它们有 getter 但没有 setter)。无法修改现有实例的价格和份额。现在,您当然可以更改类(如果要更改的话)......或者您可以创建一个新实例并告诉当前引用实例的任何内容来使用新实例。如果没有更多关于正在发生的事情的信息,我们仍然无法真正判断。

从链接的帖子中,我认为您通常缺少事件参数的要点:它们通常由引发事件的任何事物提供。如果事件引发代码(例如 Button 类型中的点击代码)对您的自定义事件参数一无所知,那么您不能只是撬开它们。

于 2011-03-23T17:17:33.953 回答