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 に答える