委托在一个方法里传递一个参数,这个参数是一个方法!回调!只是理解了一点,一个小测试!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace TestWindows
{
class Program
{
static void Main(string[] args)
{
string aaa = GetMes<string, string>(new Func<string, string>(TestString), "string");
Console.WriteLine("a=" + aaa);
int iii = GetMes<int, int>(new Func<int, int>(TestInt), 123);
Console.WriteLine("i=" + iii);
Console.ReadLine();
}
/// <summary>
/// 方法一
/// </summary>
/// <param name="i"></param>
/// <returns></returns>
public static int TestInt(int i)
{
return i;
}
/// <summary>
/// 方法二
/// </summary>
/// <param name="name"></param>
/// <returns></returns>
public static string TestString(string name)
{
return "string: "+name;
}
/// <summary>
/// 在该方法里调用方法一,二
/// </summary>
/// <typeparam name="TKey"></typeparam>
/// <typeparam name="TValue"></typeparam>
/// <param name="func"></param>
/// <param name="key"></param>
/// <returns></returns>
public static TValue GetMes<TKey,TValue>(Func<TKey,TValue> func,TKey key)
{
var v = func(key);
return v;
}
}
}