12 2013 档案
摘要:迭代器 能使你获得序列中所有元素而不用关心其类型是array,list,link list或者其他序列结构。 1,实现接口IEnumerable就可以实现数据迭代。其中调用GetEnumerator方法返回Enumerator接口的实现,就是迭代器本身。 class BookColletion:IEnumerable{ #region IEnumerable 成员 public IEnumerator GetEnumerator() { //return 一个IEnumerator对象 return ne...
阅读全文
摘要://灵活使用别名使代码更加精简。 using ZClass2 = ZClass, string>; class XClass { //泛型方法 public static void MethodA(z param) { Console.Write(param.GetType().ToString()); } } class YClass { public T MethodA() { T t=default(T); return t; ...
阅读全文
摘要:using Temptest = Temptest; class Program { static void Main(string[] args) { Temptest x = new Temptest(); x.func(); //输出: //ConsoleApplication5.Temptest`1[System.String] Console.Read(); } } class Temptest { ...
阅读全文
摘要:C++#include "stdafx.h"#include#includeusing namespace std;//声明一个函数结构。typedef void (*func)(string);/***用c++模拟实现委托 * *委托其实就是传递函数指针。 */void fu...
阅读全文
摘要:利用线程解决窗口假死基本理论:1,.net2.0以后,CLR默认不允许以非UI线程访问控件。在Framework1.x中,CLR允许应用程序以跨线程的方式运行,而在Framework2.0及以后版本中,System.Windows.Form.Control新增了CheckForIllegalCrossThreadCalls属性,它是一个可读写的bool常量,标记我们是否需要对非UI线程对控件的调用做出检测。如果指定true,当以其他线程访问UI,CLR会跑出一个”InvalidOperationException:线程间操作无效,从不是创建控件***的线程访问它”;如果为false,则不对该错
阅读全文
摘要:08 08 2008GeorgeJohnReminderDon't forget the meeting! XML应该尽量少使用属性。 George John Reminder Don't forget the meeting! John George Re: Reminder I will not (id)元数据(有关数据的数据)应当存储为属性,而数据本身应当存储为元素。
阅读全文