摘要:
string iStr ="192.168.0.1:1234";System.Net.IPAddress IPadr=System.Net.IPAddress.Parse(iStr.Split(':')[0]);//先把string类型转换成IPAddress类型System.Net.IPEndPoint EndPoint=new System.Net.IPEndPoint(IPadr,int.Parse(iStr.Split(':')[1]));//传递IPAddress和PortEndPoint是一个抽象类,IPEndPoint继承自En 阅读全文
摘要:
C#自定义消息通信往往采用事件驱动的方式实现,但有时候我们不得不采用操作系统的消息通信机制,例如在和底层语言开发的DLL交互时,是比较方便的。下面列举了一些实现方式,供大家参考:一、通过SendMessage或postmessage函数发送:1、 定义消息在C++中引用底层的函数很简单,自定义消息如下#define WM_TEST WM_USER + 101而在c#中消息需要定义成windows系统中的原始的16进制数字,比如自定义消息public const int USER = 0x0400;public const int WM_TEST =USER+101;2、 发送消息消息发送是通过 阅读全文
摘要:
string str1 =Process.GetCurrentProcess().MainModule.FileName;//可获得当前执行的exe的文件名。 string str2=Environment.CurrentDirectory;//获取和设置当前目录(即该进程从中启动的目录)的完全限定路径。 //备注按照定义,如果该进程在本地或网络驱动器的根目录中启动,则此属性的值为驱动器名称后跟一个尾部反斜杠(如“C:\”)。如果该进程在子目录中启动,则此属性的值为不带尾部反斜杠的驱动器和子目录路径(如“C:\mySubDirectory”)。 string str3=Directory.Ge 阅读全文
摘要:
编辑器加载中...方法1:选中代码--ctrl+k--ctrl+f方法2:工具-选项-文本编辑器-C#-格式 阅读全文
摘要:
写的一个XML操作类,包括读取/插入/修改/删除。using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Xml;namespace PuTianCheng{/// <s 阅读全文
摘要:
摘自其他人博客,自己试过确实解决问题。(如在自己定义的线程里面给textbox赋值)由于Windows窗体控件本质上不是线程安全的。因此如果有两个或多个线程适度操作某一控件的状态(set value),则可能会迫使该控件进入一种不一致的状态。还可能出现其他与线程相关的bug,包括争用和死锁的情况。所以VS2005这一改动便可以增强线程安全性。我想大家更关心的是如何解决这个问题,如何才能操作其它线程中的控件而不引发异常,接下来我们就来探讨下这个问题:第一种方法:这种方法我没用过,因为大家推荐不要使用,所以我没去实验过,具体方法如下(摘自网上):设置System.Windows.Forms.Con 阅读全文
摘要:
一、在控制台下使用委托和事件我们都知道,C#中有“接口”这个概念,所谓的“接口”就是定义一套标准,然后由实现类来具体实现其中的方法,所以说“接口,是一组类的抽象”。同样道理,我们可以将“委托”理解为“方法的抽象”,也就是说定义一个方法的模板,至于这个方法具体是怎么样的,就由方法自己去实现。我们知道接口的最大好处就是可以实现多态,同理,“委托”是可以实现方法的多态,当我们想调用某个具体方法的时候,我们不直接调用这个方法,而是去调用这个委托。当然,我们必须在具体方法和委托之间建立某种关联。下面我们来看例子。首先,我们定义一个委托:public delegate void SaySomething( 阅读全文
摘要:
1using System;2using System.Threading;34namespace ifan5{6 //自定义委托声明7publicdelegatevoid childExitDelegate(object sender, ChildExitEventArgs e);89 publicclass TDelegate10 {11 //自定义的事件,实际上就是上面那个委托类型的实例12publicstaticevent childExitDelegate onChildThreadExit;1314 privatestaticvoid Main()15 {16 //订阅事件,就是说 阅读全文
摘要:
在C#中,委托(delegate)是一种引用类型,在其他语言中,与委托最接近的是函数指针,但委托不仅存储对方法入口点的引用,还存储对用于调用方法的对象实例的引用。简单的讲委托(delegate)是一种类型安全的函数指针,首先,看下面的示例程序,在C++中使用函数指针。首先,存在两个方法:分别用于求两个数的最大值和最小值。int Max(int x,int y){return x>y?x:y;}int Min(int x,int y){return x}上面两个函数的特点是:函数的返回值类型及参数列表都一样。那么,我们可以使用函数指针来指代这两个函数,并且可以将具体的指代过程交给用户,这样 阅读全文
摘要:
http://www.cnblogs.com/Barton131420/archive/2007/01/07/613955.html园子里有些人,他们真以为自己明白了面向对象,然后装着满腹经纶,侃侃而谈,一篇接一篇,不厌其烦地喊着ORM如何如何。你以为他真的明白“面向对象”么?其实,他对面向对象的理解仅限于教科书中的封装、继承和多态,或者再知道一点面向对象的若干原则但其实并不真正理解。笔者愚钝,入行多年尚不懂面向对象,只懂得用其形而不懂用其实。五年后的某一天终于开窍,明白了面向对象之实,也仅仅是一个开始而已。当又经历了另一个五年的倦怠,发现并理解了设计模式、面向方面等技术作为面向对象的必要补充 阅读全文