【c#心得记录】委托细节一

编程开发   © 文章版权由 admin 解释,禁止匿名转载

#楼主# 2021-12-28

委托(Delegate)
什么是委托?
使用委托就是可以把方法当做变量使用

在C语言中 函数指针是指向一个函数的地址 函数指针变量可以作为一个参数进行传递 在C#中可以将委托类比成C语言中的函数指针 将可变的操作当做参数传入方法中进行调用

委托声明
声明委托变量之前要声明委托类型 用来指定方法签名(委托返回类型 参数列表)的信息 这里声明了几种不同的委托类型

///


/// 参数类型为object的委托类型
///

///
public delegate void InputObjDelegate(object objPara);
///
/// 参数类型为string的委托类型
///

///
public delegate void InputStrDelegate(string strPara);
///
/// 参数类型为int的委托类型
///

///
public delegate void InputIntDelegate(int intPara);
///
/// 返回类型为object的委托类型
///

///
public delegate object OutputObjDelegate();
///
/// 返回类型为int的委托类型
///

///
public delegate int OutputIntDelegate();

定义一个类用于展示委托的使用 在类中提供了几个实例方法与静态方法用于委托实例化 (MyPrint类)
public class MyPrint
{
///
/// 打印object静态方法
///

///
public static void StaticPrintObject(object objPara)
{
Console.WriteLine("打印object静态方法:" + objPara);
}
///
/// 打印string静态方法
///

///
public static void StaticPrintStr(string strPara)
{
Console.WriteLine("打印string静态方法:" + strPara);
}
///
/// 返回类型为string静态方法
///

///
public static string StaticReturnStr()
{
Console.WriteLine("返回string静态方法");
return "返回string静态方法";
}
///
/// 返回类型为Int静态方法
///

///
public static int StaticReturnInt()
{
Console.WriteLine("返回Int静态方法");
return 0;
}

成为第一个回答人

评论

登录后才可发表内容
  • 主题

    20

  • 帖子

    80

  • 关注者

    0

Copyright © 2019 凯特网.   Powered by HYBBS 2.3.4  

Runtime:0.0872s Mem:2057Kb