delegate委托和泛型委托
来源:互联网 发布:php exec 不执行 编辑:程序博客网 时间:2024/06/13 14:17
由于之前没有使用c#的经历,所以开始不了解这个委托是什么概念。于是乎大概看了一下,也算是一个入门了。看的是在csdn上的例子这些。其实这个委托和c++里的函数指针有类似的地方,使用起来也有很灵活的表现。
public delegate void TestDelegate(string message);
生命语法大概也是上面这样,参数是变化的。
两种类型的实现(实例化):
//显式的指明其他命名的方法: SampleDelegate d1 = SampleDelegateMethod; // 匿名方法: SampleDelegate d2 = delegate(string message)
详细一点的可能就有这个例子了,也是copy下来csdn的。。:
delegate void Printer(string s);class TestClass{ static void Main() { // Instatiate the delegate type using an anonymous method: Printer p = delegate(string j) { System.Console.WriteLine(j); }; // Results from the anonymous delegate call: p("The delegate using the anonymous method is called."); // The delegate instantiation using a named method "DoWork": p = new Printer(TestClass.DoWork); // Results from the old style delegate call: p("The delegate using the named method is called."); } // The method associated with the named delegate: static void DoWork(string k) { System.Console.WriteLine(k); }}
泛型其实比较简单就是模板,格式有点变化,当然和c++也有一些区别:
使用泛型类型可以最大限度地重用代码、保护类型的安全以及提高性能。
泛型最常见的用途是创建集合类。
.NET Framework 类库在 System.Collections.Generic 命名空间中包含几个新的泛型集合类。应尽可能地使用这些类来代替普通的类,如 System.Collections 命名空间中的ArrayList。
您可以创建自己的泛型接口、泛型类、泛型方法、泛型事件和泛型委托。
可以对泛型类进行约束以访问特定数据类型的方法。
关于泛型数据类型中使用的类型的信息可在运行时通过反射获取。
使用泛型类型可以最大限度地重用代码、保护类型的安全以及提高性能。
泛型最常见的用途是创建集合类。
.NET Framework 类库在 System.Collections.Generic 命名空间中包含几个新的泛型集合类。应尽可能地使用这些类来代替普通的类,如 System.Collections 命名空间中的ArrayList。
您可以创建自己的泛型接口、泛型类、泛型方法、泛型事件和泛型委托。
可以对泛型类进行约束以访问特定数据类型的方法。
关于泛型数据类型中使用的类型的信息可在运行时通过反射获取。
以下是 C# 泛型和 C++ 模板之间的主要差异:
C# 泛型未提供与 C++ 模板相同程度的灵活性。例如,尽管在 C# 泛型类中可以调用用户定义的运算符,但不能调用算术运算符。
C# 不允许非类型模板参数,如 template C<int i> {}。
C# 不支持显式专用化,即特定类型的模板的自定义实现。
C# 不支持部分专用化:类型参数子集的自定义实现。
C# 不允许将类型参数用作泛型类型的基类。
C# 不允许类型参数具有默认类型。
在 C# 中,尽管构造类型可用作泛型,但泛型类型参数自身不能是泛型。C++ 确实允许模板参数。
C++ 允许那些可能并非对模板中的所有类型参数都有效的代码,然后将检查该代码中是否有用作类型参数的特定类型。C# 要求相应地编写类中的代码,使之能够使用任何满足约束的类型。例如,可以在 C++ 中编写对类型参数的对象使用算术运算符 + 和 - 的函数,这会在使用不支持这些运算符的类型来实例化模板时产生错误。C# 不允许这样;唯一允许的语言构造是那些可从约束推导出来的构造。
http://msdn.microsoft.com/zh-cn/library/sx2bwtw7(v=vs.80).aspx
使用泛型类型可以最大限度地重用代码、保护类型的安全以及提高性能。
泛型最常见的用途是创建集合类。
.NET Framework 类库在 System.Collections.Generic 命名空间中包含几个新的泛型集合类。应尽可能地使用这些类来代替普通的类,如 System.Collections 命名空间中的ArrayList。
您可以创建自己的泛型接口、泛型类、泛型方法、泛型事件和泛型委托。
可以对泛型类进行约束以访问特定数据类型的方法。
关于泛型数据类型中使用的类型的信息可在运行时通过反射获取。
- delegate委托和泛型委托
- delegate委托和泛型委托
- 事件和委托Delegate
- 委托(Delegate)
- 委托(Delegate)
- delegate委托
- 委托(delegate)
- Delegate 委托
- delegate 委托
- 委托:delegate
- 委托 delegate
- 委托(delegate)
- 委托,delegate
- delegate-委托
- 委托 delegate
- delegate委托
- Delegate委托
- 委托(delegate)和事件(event)
- 逗号在PowerShell中的区别意义
- Android开发之onClick事件的三种写法
- 自己涉及到的控件简单使用实例(二)DataGrid
- 设定开机自启动服务
- LeetCode:Regular Expression Matching
- delegate委托和泛型委托
- ABB 机器人 通信指令(人机对话):
- nodeName,nodeValue和node .
- php 截图,缩图,水印
- 黑马程序员_Java_交通灯管理系统
- Linux地址空间的归纳总结
- 黑马程序员——学习日志14交通灯
- Spring注解@Resource和@Autowire的区别
- Cisco交换机的使用技巧和注意事项