为什么不能实例化委托方法 Run ?



我不能下调,为什么我不得在代码bellow中实例化委托 Run

public class Tester
{
    Media myMedia = new Media();
    AudioFile myAu = new AudioFile();
    VideoFile myVd = new VideoFile();
    //instantiate the delegates
    Media.PlayerD MyDA = new Media.PlayerD(myAu.AudioPlay);
    Media.PlayerD MyDV = new Media.PlayerD(myVd.VideoPlay);
    public void Run()
    {
        //call the delegates
        myMedia.Report(MyDA);
        myMedia.Report(MyDV);
    }
}

你:

Media.PlayerD MyDA = new Media.PlayerD(myAu.AudioPlay);

非静态字段的初始化器(上面的MyDA)不能使用另一个非静态字段(myAu)。

如果将MyDA = new Media.PlayerD(myAu.AudioPlay);放入非静态构造器中,则可以允许。

(当然,MyDV也是如此。)

最新更新