之前发布c#夯实基础-委托,有网友说说另外一种理解委托就是指针,指向一个静态的函数或者已经实例化的一个对像的函数。
委托就是指针这句话比较形象,可以指向符合委托形式的任何函数。
以下是两种委托实例化方法
(1)直接指向静态方法
(2)指向一个对象成员的方法
代码
步骤1 : 定义一个委托
/// <summary>
/// 定义一个委托
/// </summary>
/// <param name="paramA"></param>
/// <returns></returns>
private delegate string InputChange(string paramA);
步骤2:定义一个静态方法
public static string Mehtod1(string cellPhone)
{
return "输入的手机号" + cellPhone;
}
步骤3:委托指向这个静态方法,并使用指向的函数的方法
两种方法
(1)方法委托默认函数指向
InputChange inputChange1 = new InputChange(Mehtod1);
Console.WriteLine(inputChange1("13000000000"));
(2)直接指向静态方法
InputChange inputChange2 = Mehtod1;
Console.WriteLine(inputChange1("81185251"));
步骤4:使用一个对象的成员方法作为委托的指向
定义一个类
public class MyClass
{
public string Name { get; set; }
public string GetId(string curId)
{
return "当前的Id=" + curId;
}
}
使用实体化对象的成员方法给委托
//实例化一个类,得到具体对象
MyClass myClass = new MyClass();
//将对象的方法给委托
InputChange inputChange = myClass.GetId;
Console.WriteLine(inputChange("123"));
本文暂时没有评论,来添加一个吧(●'◡'●)