对象作为C#事件中的参数,并在Labview中注册

对象作为C#事件中的参数,并在Labview中注册,c#,events,labview,C#,Events,Labview,我在C#中的usercontrol中有一个自定义事件,它将object作为其参数之一。使用此参数,我将发送任何数据类型(typecasted to object)。此事件将在labview中注册,并且对象参数将被类型化为相应的数据类型 public delegate void UpdateDatatagEventHandler(string datatag,string datatype,object value); public event UpdateDatat

我在C#中的usercontrol中有一个自定义事件,它将object作为其参数之一。使用此参数,我将发送任何数据类型(typecasted to object)。此事件将在labview中注册,并且对象参数将被类型化为相应的数据类型

public delegate void UpdateDatatagEventHandler(string datatag,string datatype,object value);              

public event UpdateDatatagEventHandler UpdateDatatag;

private void textBox1_TextChanged(object sender, EventArgs e)
{
    if (this.UpdateDatatag != null)
    {
        object value = this.textBox1.Text as object;
        this.UpdateDatatag("Goodness", "GOODness", value);
    }
}
如果事件是这样引发的,则不会在Labview中捕获它。但是,当我像下面这样提起这个事件时,它在Labview中被捕获。但我的意图是将
textbox1.text
键入对象并进入Labview

private void textBox1_TextChanged(object sender, EventArgs e)
{
    if (this.UpdateDatatag != null)
    {
        object value = this.textBox1.Text as object;
        this.UpdateDatatag("Goodness", "GOODness", this);
    }
}
如果在委托中使用对象数组而不是对象作为参数

   public delegate void UpdateDatatagEventHandler(string datatag,string datatype,object[] value)

我可以在labview中查看事件。应该为此做些什么?

查看LabVIEW代码会有所帮助。但是,如果您可以访问.NET对象引用,也许您可以使用它上的调用节点来运行.ToString()方法并在LabVIEW中使用它的输出。

什么是“它在LabVIEW中未被捕获”以及为什么要将
用作对象
?有一个从任意对象到
对象的隐式转换,
..@Enigmativity。这意味着当在.NET端引发该事件时,不会调用labview中的事件处理程序。@JonSkeet。我也尝试了隐式转换。我不确定为什么会向我发送该注释,因为它与我所说的无关。听起来您需要将其编辑到问题中,以了解更多信息。如果没有使用Labview,我想我无法回答这个问题。。。