什么是委托
委托相当于是一个类型,比如String,是对一个函数或者方法的抽象类型。相当于定义了一个函数的模板,包含返回值,当前函数包含的参数,但是不包含任何的实现。
要注意是对方法或者是函数。
示例
定义一个委托,使用关键字delegate
deletegate string GetString(string paramA);
以上函数名是GetString 参数是ParamA, 返回值是string
使用,代码1
public class DelegateTest2
{
/// <summary>
/// 定义一个委托
/// </summary>
/// <param name="paramA">参数paramA</param>
/// <returns></returns>
private delegate string GetId(string paramA);
/// <summary>
/// 得到用户ID
/// </summary>
/// <param name="userId"></param>
/// <returns></returns>
public static string GetUserId(string userId)
{
return "当前用户Id" + userId;
}
public static string GetClassId(string userId)
{
return "当前班级的Id是:" + userId;
}
/// <summary>
/// new 一个委托需要指向一个方法
/// str1.tostring 是一个String的一个方法名,
///
/// </summary>
public static void DoTest1()
{
//将一个符合委托要求的方法 GetUserId赋值给getString
GetId getId = GetUserId;
//使用函数方法
string curId1 = getId("学号1011");
Console.WriteLine(curId1);
//将第二个符合委托要求的方法 GetClassId赋值给getString
getId = GetClassId;
string curId2 = getId("班级981");
Console.WriteLine(curId2);
}
}
代码说明
定义了一个委托,功能是得到Id
定义了两个符合委托规范的函数的实现, GetUserId与GetClassId.
当前GetUserId与GetClassId这两个函数的名,给当前委托GetId,完成委托的实例化。
最后进行使用委托实例化getId进行函数调用与输出。
以上代码的结果是:
当前用户Id学号1011
当前班级的Id是:班级981
幼小初稿学习群,学习精品辅导课程,添加 微信:fqy121389 备注:小初高!
本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2188975364@qq.com 举报,一经查实,本站将立刻删除。
如若转载,请注明出处:https://www.ruyiketang.com/676.html
如若转载,请注明出处:https://www.ruyiketang.com/676.html