横槊临江

New give up !

导航

2013年7月12日 #

.ctor,.cctor 以及 对象的构造过程

摘要: 摘要: .ctor,.cctor 以及 对象的构造过程.ctor:简述:构造函数,在类被实例化时,它会被自动调用。当C#的类被编译后,在IL代码中会出现一个名为.ctor的方法,它就是我们的构造函数,对应C#中的构造函数。且看下面的代码 ....ctor,.cctor 以及 对象的构造过程.ctor:简述:构造函数,在类被实例化时,它会被自动调用。当C#的类被编译后,在IL代码中会出现一个名为.ctor的方法,它就是我们的构造函数,对应C#中的构造函数。且看下面的代码:publicclassClass1{privatestringname;privateintage;}类Class1中没有显示 阅读全文

posted @ 2013-07-12 14:19 jian60521 阅读(8034) 评论(0) 推荐(0) 编辑

文件打强名

摘要: VS command line:sn(,) -Ra(,) dll file path(,) UnifiedSuite.pair.snk file pathsn -Ra C:\Users\Administrator\Desktop\PSWGS.Cad.Server.Reporting.I18NExtension.dll C:\Allen\P1- Main\Product\Common\Software\Build\UnifiedSuite.pair.snk查看一个文件是否打过强名:sn -v PSWGS.Common.dll .dll does not represent a strongly 阅读全文

posted @ 2013-07-12 09:19 jian60521 阅读(177) 评论(0) 推荐(0) 编辑

2013年7月11日 #

Thread系列——Thread.Sleep(0)

摘要: 线程这一概念,可以理解成进程中的一个小单元。这个单元是一个独立的执行单元,但是与进程中的其他线程共享进程中的内存单元。由于Cpu资源是有限的,所以进程中的多个线程要抢占Cpu,这也导致进程中的多个线程交替执行。 Thread.Sleep() 本身的含义是当前线程挂起一定时间。Thread.Sleep(0) MSDN上的解释是挂起此线程能使其他等待线程执行。这样的解释容易导致误解,我们可以这样理解,其实是让当前线程挂起,使得其他线程可以和当前线程再次的抢占Cpu资源。代码示例:代码 static void Main(string[] args) { Conso... 阅读全文

posted @ 2013-07-11 14:31 jian60521 阅读(290) 评论(0) 推荐(0) 编辑

2013年7月9日 #

C#三种方式实现序列化(转)

摘要: 序列化和反序列化我们可能经常会听到,其实通俗一点的解释,序列化就是把一个对象保存到一个文件或数据库字段中去,反序列化就是在适当的时候把这个文件再转化成原来的对象使用。序列化和反序列化最主要的作用有:1、在进程下次启动时读取上次保存的对象的信息 2、在不同的AppDomain或进程之间传递数据 3、在分布式应用系统中传递数据......在C#中常见的序列化的方法主要也有三个:BinaryFormatter、SoapFormatter、XML序列化本文就通过一个小例子主要说说这三种方法的具体使用和异同点这个例子就是使用三种不同的方式把一个Book对象进行序列化和反序列化,当然这个Book类首先是可 阅读全文

posted @ 2013-07-09 15:21 jian60521 阅读(1261) 评论(0) 推荐(0) 编辑

2013年7月8日 #

WINFORM的DataGridView使用点滴

摘要: 1、如果有超过一屏的数据,想通过关键字查找到相关记录,然后再定位之,做法如下:遍历所有行,把某单元格的值和关键字对比,找到后清除所有选择行,然后把当前行设为选择,然后把grid的CurrentCell设置为当前行的某个可见单元格即可,效果就会自动跳到定位好的行上。示例代码:stringInputStr=txtFindSp.Text;foreach(DataGridViewRowdvrindgvSp.Rows){if(dvr.Cells[2].Value.ToString().StartsWith(InputStr)){dgvSp.ClearSelection();dvr.Selected=tr 阅读全文

posted @ 2013-07-08 15:01 jian60521 阅读(185) 评论(0) 推荐(0) 编辑

2013年7月4日 #

C# 多线程编程 ThreadStart ParameterizedThreadStart

摘要: 原文地址:http://club.topsage.com/thread-657023-1-1.html在实例化Thread的实例,需要提供一个委托,在实例化这个委托时所用到的参数是线程将来启动时要运行的方法。在.net中提供了两种启动线程的方式,一种是不带参数的启动方式,另一种是带参数的启动的方式。不带参数的启动方式如果启动参数时无需其它额外的信息,可以使用ThreadStart来实例化Thread,如下面的代码:1usingSystem;2usingSystem.Collections.Generic;3usingSystem.Text;4usingSystem.Threading;56na 阅读全文

posted @ 2013-07-04 22:22 jian60521 阅读(240) 评论(0) 推荐(0) 编辑

实现跨线程访问UI控件的3种方法

摘要: namespace 多线程 { public partial class Form2 : Form { public Form2() { InitializeComponent(); } private void Form2_Load(object sender, EventArgs e) { //1.New 一个thread. //给新创建的thread绑一个带参的方法ParameterizedT... 阅读全文

posted @ 2013-07-04 22:21 jian60521 阅读(853) 评论(0) 推荐(0) 编辑

谈.Net委托与线程——解决窗体假死

摘要: 转自:http://www.cnblogs.com/smartls/archive/2011/04/08/2008981.html#2457370引言 在之前的《创建无阻塞的异步调用》中,已经介绍过异步调用的编写步骤和实施原理。异步调用是CLR为开发者提供的一种重要的编程手段,它也是构建高性能、可伸缩应用程序的关键。在多核CPU越来越普及的今天,异步编程允许使用非常少的线程执行很多操作。我们通常使用异步完成许多计算型、IO型的复杂、耗时操作,去取得我们的应用程序运行所需要的一部分数据。在取得这些数据后,我们需要将它们绑定在UI中呈现。当数据量偏大时,我们会发现窗体变成了空白面板。此时如果用鼠. 阅读全文

posted @ 2013-07-04 22:20 jian60521 阅读(224) 评论(0) 推荐(0) 编辑

关于委托:异常{ 无法将 匿名方法 转换为类型“System.Delegate”,因为它不是委托类型 }

摘要: 转自:http://www.cnblogs.com/xiaofei59/archive/2010/11/25/1887285.html异常{ 无法将 匿名方法 转换为类型“System.Delegate”,因为它不是委托类型 }委托实际上是把方法名作为参数,但是若有好多个方法时,就要指明是哪个参数 查看如下代码: this.Invoke(delegate { MessageBox.Show("t4"); }); 熟悉winform的开发者都知道,this是一个窗体的实例,故不做另外解释。该代码的... 阅读全文

posted @ 2013-07-04 22:19 jian60521 阅读(484) 评论(0) 推荐(0) 编辑

C#的tooltip自动消失之后就不再显示了解决办法

摘要: 转:http://www.51testing.com/?uid-569418-action-viewspace-itemid-832231在控件上加上tooltip之后,鼠标放到控件上,tooltip出来,等tooltip自动消失之后,再将鼠标放到控件上去时就不会再显示tooltip了解决方法:给tooltip加上MouseEnter 和MouseLeave的事件,在事件里面设置tooltip的Active状态Label label= new Label();ToolTip toolTip1 = new ToolTip();toolTip1.AutoPopDelay = 5000;toolTi 阅读全文

posted @ 2013-07-04 22:17 jian60521 阅读(2201) 评论(0) 推荐(0) 编辑