C# 从具有不同参数的另一个事件触发事件

C# 从具有不同参数的另一个事件触发事件,c#,winforms,C#,Winforms,我想从一个事件触发另一个事件 private void ugTopActivity_FillSceneGraph(object sender, FillSceneGraphEventArgs e) { e.Something(); } private void ugTopActivity_ChartDataClicked(object sender, ChartDataEventArgs e) {

我想从一个事件触发另一个事件

private void ugTopActivity_FillSceneGraph(object sender, FillSceneGraphEventArgs e)
        {
            e.Something();
        }

private void ugTopActivity_ChartDataClicked(object sender, ChartDataEventArgs e)
            {
               //I need to fire FillSceneGraph event from here.
               ugTopActivity_ChartDataClicked(sender,e) // This doesn't work because 'e' Types are not convertable
            }

如何从一个事件调用另一个具有不同eventargs类型的事件?

如果在
ugTopActivity\u Fillsenegraph
中未使用
e
,则可以使用
null

ugTopActivity_ChartDataClicked(sender, null);
否则,您可以自己创建事件参数,如下所示:

FillSceneGraphEventArgs event = new FillSceneGraphEventArgs(parameters here); //I'm not familiar with this event so don't know its arguments
    ugTopActivity_ChartDataClicked(sender, event);

正如他所说,我将增强以下问题的答案:您需要创建一个新的
FillSceneGraphEventArgs
对象,并发送到
ugTopActivity\u ChartDataClicked

private void ugTopActivity_ChartDataClicked(object sender, ChartDataEventArgs e)
{
    //I need to fire FillSceneGraph event from here.
    var ev = new FillSceneGraphEventArgs(scene, core); // SceneGraph and ChartCore

    ugTopActivity_ChartDataClicked(sender, ev);
}
注意

  • 这可能会崩溃或以意外的方式工作,因为您自己触发了事件。因此,请确保获得适当的或间接的
    SceneGraph
    ChartCore

  • 注意发送者此外,
    ugTopActivity\u图表数据点击
    可能会请求特定发送者对象类型


  • 它不是空的。但是我不明白你的答案。FillSceneGraphEventArgs参数是(objectsender,FillSceneGraphEventArgs e)@johntrue忽略答案的第一部分并转到第二部分。您需要将
    FillSceneGraphEventArgs
    作为参数传递到
    ugTopActivity\u ChartDataClicked
    。因此,您应该创建一个并将其传递给方法。仍然无法获取它。请您重新编写完整的代码好吗?谢谢,但是我应该如何定义场景和核心要回答我需要查看您的代码,您可以查看文档-