请问关于c的具体应用场景有哪些?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1696个文字,预计阅读时间需要7分钟。
`delegate` 是一种表示委托(delegation)的引用类型变量,用于存储对某个方法的引用。它可以指向任何可以接受相同参数列表和返回类型的方法。引用可以在运行时被修改,实现动态绑定。
如果不理解,可以将委托理解为函数指针的另一种形式,但它更加灵活。但请注意,`delegate` 和 C++ 中的函数指针有一些区别。
delegate是什么
委托(delegate) 是存有对某个方法的引用的一种引用类型变量,引用可在运行时被改变。如果不好理解,可以把委托理解成为函数指针,但它们是有区别的。
delegate和C++中的函数指针:
函数指针只能指向静态函数,而delegate既可以引用静态函数,又可以引用非静态成员函数。在引 用非静态成员函数时,delegate不但保存了对此函数入口指针的引用,而且还保存了调用此函数的类实例的引用。
其次,与函数指针相 比,delegate是面向对象、类型安全、可靠的受控(managed)对象。也就是说,runtime能够保证delegate指向一个有效的方法, 你无须担心delegate会指向无效地址或者越界地址。
实例化委托:一旦声明了委托类型,委托类型必须要通过new关键字来创建(相当于面向对象中的实例化一个对象),当创建委托时,传递到new语句中的参数就像方法的调用一样书写, 但是不带参数。
// 委托的声明 public delegate void PrintSting(string s); //实例化委托 PrintSting ps=new PrintString(WriteToScreen);
匿名方法:
本来委托定义(声明)好之后,还得再单独定义委托需要使用的方法。
本文共计1696个文字,预计阅读时间需要7分钟。
`delegate` 是一种表示委托(delegation)的引用类型变量,用于存储对某个方法的引用。它可以指向任何可以接受相同参数列表和返回类型的方法。引用可以在运行时被修改,实现动态绑定。
如果不理解,可以将委托理解为函数指针的另一种形式,但它更加灵活。但请注意,`delegate` 和 C++ 中的函数指针有一些区别。
delegate是什么
委托(delegate) 是存有对某个方法的引用的一种引用类型变量,引用可在运行时被改变。如果不好理解,可以把委托理解成为函数指针,但它们是有区别的。
delegate和C++中的函数指针:
函数指针只能指向静态函数,而delegate既可以引用静态函数,又可以引用非静态成员函数。在引 用非静态成员函数时,delegate不但保存了对此函数入口指针的引用,而且还保存了调用此函数的类实例的引用。
其次,与函数指针相 比,delegate是面向对象、类型安全、可靠的受控(managed)对象。也就是说,runtime能够保证delegate指向一个有效的方法, 你无须担心delegate会指向无效地址或者越界地址。
实例化委托:一旦声明了委托类型,委托类型必须要通过new关键字来创建(相当于面向对象中的实例化一个对象),当创建委托时,传递到new语句中的参数就像方法的调用一样书写, 但是不带参数。
// 委托的声明 public delegate void PrintSting(string s); //实例化委托 PrintSting ps=new PrintString(WriteToScreen);
匿名方法:
本来委托定义(声明)好之后,还得再单独定义委托需要使用的方法。

