0
// 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);
}

这不起作用,为什么?

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

为什么会这样?

4

1 回答 1

1

Act 没有可调用的方法,它为 null。

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

然后有你的方法。

public void DoSomethingWithByte(byte b) {}
于 2013-02-13T10:12:20.297 回答