从外部线程调用带有BeginInvoke的Action

时间:2013-02-13 10:04:49

标签: c# .net wpf action

// This method never gets called
public void DoSomethingWithByte(byte b) 
{
    Writeline(b);
}

class Test<T>
{
    public Test(Action<T> act, T data)
    {

        Dispatcher.Current.BeginInvoke(act, data);
    }
}

void TestAll()
{
   new Test<Byte>(DoSomethingWithByte, 6);
}

这不起作用,为什么?

它编译,到达行,但不调用方法

为什么会这样?

1 个答案:

答案 0 :(得分:1)

Act没有调用方法,它是null。

Action<byte> act = ((byte b) DoSomethingwithByte(b));

然后有你的方法。

public void DoSomethingWithByte(byte b) {}