.NET之委托
有些.NET中的高级特性,比如:委托!
有一种怎么也搞不懂的赶脚...
博客读了好几篇,代码也动手写了,书中的一些介绍也看了,
各种搜索关于委托的,至今还处于"会用"的阶段。
该怎么研究一个高级特性,这是个问题。
还是本来这些特性,你会用就可以了?
语言越多,感觉会越迷惑,
自己想用最少的语言,
最多的代码来总结下委托这个东西;
、delegate
、类似于C++中的函数指针,安全的函数指针,提供了程序回调指定方法的机制。
/委托既可以接受实例方法,也可以接受静态方法;
using System; namespace _IT200.第6章_高级特性
{
//这是一个委托,就这么简单的声明了,然后知道怎么用就可以了.
//就像年龄小的时候,不会喝酒,长大了喝几次就会喝了...你和委托也就是差一个醉了...
public delegate void 委托我来监视这是第几个方法(int i);
class 委托
{ public void method(int i)
{
Console.WriteLine("这是第{0}个方法..", i);
}
//静态方法
public static void method_static(int i)
{
Console.WriteLine("这是第{0}静态方法...", i);
}
static void Main()
{
Console.WriteLine("委托...");
委托 w = new 委托();
//接受实例方法
委托我来监视这是第几个方法 委托实例 = new 委托我来监视这是第几个方法(w.method);
//接受静态方法
委托我来监视这是第几个方法 委托实例_1 = new 委托我来监视这是第几个方法(method_static);
//本质上,委托的调用其实就是执行了在定义委托时所生成的Invoke方法
委托实例();
//Invoke转到定义是指向→"委托我来监视这是第几个方法"
//Why?因为这个方法是由C#编译器自动帮我们完成的,可以通过Reflector验证一下↓
//:会发现还包含一个名为BeginInvoke和EndInvoke的方法。
委托实例.Invoke();
//委托实例(2); == 委托实例.Invoke(2);
Console.ReadKey();
}
} }
运行结果:
.NET之委托的更多相关文章
- HTML 事件(三) 事件流与事件委托
本篇主要介绍HTML DOM中的事件流和事件委托. 其他事件文章 1. HTML 事件(一) 事件的介绍 2. HTML 事件(二) 事件的注册与注销 3. HTML 事件(三) 事件流与事件委托 4 ...
- C#基础篇 - 理解委托和事件
1.委托 委托类似于C++中的函数指针(一个指向内存位置的指针).委托是C#中类型安全的,可以订阅一个或多个具有相同签名方法的函数指针.简单理解,委托是一种可以把函数当做参数传递的类型.很多情况下,某 ...
- [.NET] C# 知识回顾 - 委托 delegate (续)
C# 知识回顾 - 委托 delegate (续) [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6046171.html 序 上篇<C# 知识回 ...
- [C#] C# 知识回顾 - 委托 delegate
C# 知识回顾 - 委托 delegate [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6031892.html 目录 What's 委托 委托的属性 ...
- 9、委托、事件、Lambda
开始 关于委托,肯定是要有问题的. 第一个问题,委托用来干什么? 看.net中的表述:在.net平台下,委托类型用来定义和相应应用程序中的回调.(回调?处理内存中两个实体双向通信的一种技术.) 第 ...
- iOS 委托与文本输入(内容根据iOS编程编写)
文本框(UITextField) 本章节继续编辑 JXHypnoNerd .文件地址 . 首先我们继续编辑 JXHypnosisViewController.m 修改 loadView 方法,向 ...
- C#委托异步调用
参考页面: http://www.yuanjiaocheng.net/webapi/mvc-consume-webapi-get.html http://www.yuanjiaocheng.net/w ...
- JavaScript事件代理和委托(Delegation)
JavaScript事件代理 首先介绍一下JavaScript的事件代理.事件代理在JS世界中一个非常有用也很有趣的功能.当我们需要对很多元素添加事件的时候,可以通过将事件添加到它们的父节点而将事件委 ...
- .NET面试题系列[7] - 委托与事件
委托和事件 委托在C#中具有无比重要的地位. C#中的委托可以说俯拾即是,从LINQ中的lambda表达式到(包括但不限于)winform,wpf中的各种事件都有着委托的身影.C#中如果没有了事件,那 ...
- .NET基础拾遗(4)委托、事件、反射与特性
Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理基础 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开 ...
随机推荐
- Markdown编辑器简单总结
字体大小: #1 ##2 添加链接: 文字链接 [blog](http://yalantis.com/blog/how_we_created_tab_bar_animation_for_ios/?ut ...
- jpa findOne()用法
findOne(Interger id) 如果实体类没有id这个属性的话是会报错的 改别人的代码神烦...
- POJ 2431 Expedition(优先队列、贪心)
题目链接: 传送门 Expedition Time Limit: 1000MS Memory Limit: 65536K 题目描述 驾驶一辆卡车行驶L单位距离.最开始有P单位的汽油.卡车每开1 ...
- python中isort的使用
是一个使import 列表更美观的工具包,官方例子如下: before from my_lib import Object print("Hey") import os from ...
- ZooKeeper配置管理文件
最近在工作中,为了完善公司集群服务的架构,提高可用性,降低运维成本,因此开始学习ZooKeeper. 至于什么是ZooKeeper?它能做什么?如何安装ZooKeeper?我就不一一介绍了,类似 ...
- xml小记1
xml小记1 关于边框的实现 这是一个比较简单的东西,但是今天莫名的低效率,在这上面花了比较多的时间.之前有咨询过同学如何实现单向的边框,他们采用的方法是调用别人的接口. 我采用的方法如下: < ...
- jQuery知识点总结(第六天)
今天工作繁忙,晚上又和所谓的'朋友',吃了自助烧烤. 但我内心是很抗拒的,不知为了什么,竟然稀奇古怪的答应了下来,竟要去吃饭.我向来不喜欢去凑热闹,特别是和志趣不投的人在一起吃,对方所说的话,自己根本 ...
- 添加css的方式:link与@import区别
如何在html中添加css? 在html中设置css共有三种方式,分别是: 行内式 内嵌式 导入式-link 导入式-@import 1.行内式.即在html标签中的style属性中设置css,值得注 ...
- C#--API
C#中调用API 介绍 API( Application Programming Interface ),我想大家不会陌生,它是我们Windows编程的常客,虽然基于.Net平台的C#有了强大的类库, ...
- squid代理服务器配置详解
root@proxy squid]# cat squid.conf## Recommended minimum configuration:#visible_hostname www.jd.com # ...