摘要: 比如想要给sting 类添加一个toPascal()方法 作用是把一个字符串的首字母大写后面全小写 s.ToPascal();1.添加拓展类(必须是静态的) 2.写拓展的实现方法(也必须是静态的)例:public static class ExtraClass{ public static string ToPascal(this string s){ //参数中this表示是通过实例点出来的方法 string 表示是给stringo类写的拓展方法 s 是形参 表示调用该方法的对象 比如 str.ToPascal() s就是str的引用 return s.Substr... 阅读全文
posted @ 2013-05-04 17:20 Xdoudou 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 1.实现IDisposable接口2.编码代码 public class Demo : IDisposable { public void Dispose() { ClearResource(true); GC.SuppressFinalize(this);//告诉GC这个对象已经不需要再次回收了 } ~Demo() { ClearResource(false); } /// <summary> /// 清... 阅读全文
posted @ 2013-05-04 17:15 Xdoudou 阅读(152) 评论(0) 推荐(0) 编辑
摘要: Directory.GetFiles(@"c:\root", "*.wwp",SearchOption.AllDirectories);第一个参数是路径,第二个参数是查找的格式,第三个是枚举,可以选择一种设定. 阅读全文
posted @ 2013-05-04 16:56 Xdoudou 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 1.下载并引入ID3连接: http://files.cnblogs.com/xdoudou/ID3.rar2.代码示例string filename = "F:\\Sleep Away.mp3";string cover = "F:\\cover.jpg";// 加载MP3 ID3Info info = new ID3Info(filename, true); //重要如果ID3保存时引发 未引用对象到实例 异常 一定要加入下面两行代码//设置是否开启ID3标签 true为开启 info.ID3v2Info.HaveTag = true;//设置ID3 阅读全文
posted @ 2013-05-04 16:50 Xdoudou 阅读(1361) 评论(0) 推荐(0) 编辑
摘要: 1.注册类代码using System;using System.Collections.Generic;using System.Text;using System.Runtime.InteropServices;using System.Windows.Forms;namespace WindowsApplication1{ public class HotKey { //如果函数执行成功,返回值不为0。 //如果函数执行失败,返回值为0。要得到扩展错误信息,调用GetLastError。 [DllImport("user32.dll"... 阅读全文
posted @ 2013-05-04 16:45 Xdoudou 阅读(2903) 评论(0) 推荐(1) 编辑
摘要: 使用基姆拉尔森计算公式 /// <summary> /// 计算某个日期为星期几 /// </summary> /// <param name="year">年</param> /// <param name="month">月</param> /// <param name="day">日</param> /// <returns>星期几</returns> public static string Caculat 阅读全文
posted @ 2013-05-04 16:42 Xdoudou 阅读(253) 评论(0) 推荐(0) 编辑
摘要: object obj=new object(); object obj2=new object();//锁块1 lock(obj){ // do something... }//锁块2 lock(obj){ // do something... // do something... // do something... }//锁块3 lock(obj2){ // do something... // do something... // do something... }这里的lock(obj){} 并不是要在代码块执行完之前 锁住obj不让访问 而是锁住代码块的内容 obj只是相当于一个锁标 阅读全文
posted @ 2013-05-04 16:30 Xdoudou 阅读(203) 评论(0) 推荐(0) 编辑
摘要: System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;把如上代码在窗体放在窗体构造函数中执行即可 要注意的是,这种方法是极其不安全的,容易造成资源争抢和垃圾数据。推荐的做法是使用委托来解决多线程互相访问控件的问题 阅读全文
posted @ 2013-05-04 16:28 Xdoudou 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 使用匿名方法btnName.Invoke(new EventHandler(delegate{ btnName.Text="关闭"; }));调用带参方法btnName.Invoke(new EventHandler(delegate{ Test(10,20);})); 阅读全文
posted @ 2013-05-04 16:25 Xdoudou 阅读(234) 评论(0) 推荐(0) 编辑
摘要: private void Test(int num1, int num2) { Console.WriteLine(num1 + num2); } private void Form1_Load(object sender, EventArgs e) { Thread thTest = new Thread(new ThreadStart(delegate { Test(10, 20); Test(100, 200); })); thTest.Start(); } 阅读全文
posted @ 2013-05-04 16:21 Xdoudou 阅读(466) 评论(0) 推荐(0) 编辑