我们知道我们可以通过使用委托来引用方法,并且可以通过调用委托实例来调用方法。通过委托的实例调用具有可选参数的方法
我想调用一个方法(它有一个可选参数)通过调用委托实例。
我的代码如下
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