私はアンダーディンドできません。なぜ、コードのデリゲートをインスタンス化する必要はありませんか?デリゲートをメソッドからインスタンス化しないでください。
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);
}
}
私は申し訳ありませんが、私はあなたが求めているものを手に入れることができません。あなたの質問に言い換えていただけますか?なぜ、クラスレベルでデリゲートをインスタンス化し、それをクラスの2つのフィールドに割り当てるのか理解できません。 'Run'というメソッドの本体の内部にそれらを導入するような別のアプローチが続いている理由を理解できませんか?ありがとう – Christos
'myMedia'に使用される' Media'タイプは何ですか? 'PlayerD'は' Media'型の中にネストされたデリゲート型ですか?定義を表示してください(またはドキュメントへのリンクを提供してください)。 –
残念ながら、フォーラムはすべてのコードを書くことができませんでした。これは本の例です。デリゲートを介して2つのメソッドを渡し、TesterクラスのRun()メソッドで呼び出します。なぜ、Run()メソッドからデリゲートをインスタンス化できないのですか? –