デリゲートを使用してメソッドを参照できることがわかっており、デリゲートのインスタンスを呼び出すことでメソッドを呼び出すことができます。デリゲートのインスタンスによってオプションのパラメータを持つメソッドを呼び出す
デリゲートのインスタンスを呼び出してメソッド(オプションのパラメータがあります)を呼び出す必要があります。
私のコードは
using System;
namespace Testing_Delegates
{
class Program
{
delegate void Order(string abc);
public static void ReverseOrder(string rev = "Optional Param")
{
char[] elements = rev.ToCharArray();
char[] reversed = new char[rev.Length];
for(int i = 0; i < rev.Length; i++)
{
reversed[i] = elements[rev.Length - (i+1)];
}
foreach(char element in reversed)
{
Console.Write(element);
}
}
static void Main(string[] args)
{
Order changeorder = new Order(ReverseOrder);
changeorder();//------Here is error------------
}
}
}
エラーが
'Program.Order'
[代理人はオプションのパラメータを持つことができますか?](http://stackoverflow.com/questions/3763037/can-a-delegate-have-an-optional-parameter) – sr28