C# 自定义事件参数-我应该使用类成员还是新实例?

C# 自定义事件参数-我应该使用类成员还是新实例?,c#,C#,我有一个从第三方com互操作调用的回调,而且调用频率很高。(数千次)我在回调的一个方法中引发了一个事件,我很好奇是否最好为事件args使用一个类成员,或者为每个事件创建一个新的事件args类实例?我引发的事件将更新UI 我想知道,当每个事件被大量调用时,为它创建另一个实例是否有意义 使用类成员: private ProgressEventArgs m_eventArgs; public bool ProgressStep(ProgressType eType, string bsMessage,

我有一个从第三方com互操作调用的回调,而且调用频率很高。(数千次)我在回调的一个方法中引发了一个事件,我很好奇是否最好为事件args使用一个类成员,或者为每个事件创建一个新的事件args类实例?我引发的事件将更新UI

我想知道,当每个事件被大量调用时,为它创建另一个实例是否有意义

使用类成员:

private ProgressEventArgs m_eventArgs;
public bool ProgressStep(ProgressType eType, string bsMessage, int lProgressPos)
{
    if (ProgressEventStep != null)
    {
        m_eventArgs.Value = lProgressPos;
        ProgressEventStep(this, m_eventArgs);                
    }
    return true;
}


你更喜欢哪一个?或者这很重要吗?

假设
ProgressEventStep
的构造函数没有做任何异常的事情,那么创建对象的开销应该很小


撇开性能不谈,因为在第一个场景中重复使用同一个对象,所以在多线程场景中可能会得到错误的事件数据。

我认为这没什么大不了的,但这是一个我想了很久的问题。谢谢
public bool ProgressStep(ProgressType eType, string bsMessage, int lProgressPos)
{
    if (ProgressEventStep != null)
        ProgressEventStep(this, new ProgressEventArgs(lProgressPos));                    
    return true;
}