C#技巧
文章平均质量分 74
ruijc
游戏、旅行
展开
-
C#类、方法作为参数传递
需要被调用的类及方法: public class Class1 { public Class1() { // // TODO: 在此处添加构造函数逻辑 // } public int Test1(String s) { return int.Parse(s)+1; } } 调用其它类和方法的类: using System.Reflection; public class ReflectMethod { public ReflectMethod() { // // TODO原创 2010-06-10 16:32:00 · 15462 阅读 · 0 评论 -
c# Windows服务的安装及删除
namespace Quartz.Net.Service{ using System; using System.Collections.Generic; using System.ServiceProcess; using System.Configuration.Install; static class Program { /原创 2012-11-14 17:06:42 · 2374 阅读 · 0 评论 -
一个实例明白AutoResetEvent和 ManulResetEvent的用法
先看一段代码:public class WaitHandlerExample { public static AutoResetEvent waitHandler; public static ManualResetEvent manualWaitHandler; public stati转载 2012-11-24 11:09:30 · 497 阅读 · 0 评论 -
object references an unsaved transient instance - save the transient instance before flushing
异常1:not-null property references a null or transient value解决方法:将“一对多”关系中的“一”方,not-null设置为false(参考资料:http://www.thearcmind.com/confluence/pages/viewpage.action?pageId=212)异常2:org.hibernate.Tran转载 2013-03-11 17:56:16 · 675 阅读 · 0 评论 -
多线程:C#线程同步lock,Monitor,Mutex,同步事件和等待句柄(上)
本篇从Monitor,Mutex,ManualResetEvent,AutoResetEvent,WaitHandler的类关系图开始,希望通过本篇的介绍能对常见的线程同步方法有一个整体的认识,而对每种方式的使用细节,适用场合不会过多解释。让我们来看看这几个类的关系图: 1.lock关键字 lock是C#关键词,它将语句块标记为临界区,确保当一个线程位于代码的临界区转载 2013-03-14 19:49:45 · 627 阅读 · 0 评论 -
多线程:C#线程同步lock,Monitor,Mutex,同步事件和等待句柄(下)
前两篇简单介绍了线程同步lock,Monitor,同步事件EventWaitHandler,互斥体Mutex的基本用法,在此基础上,我们对它们用法进行比较,并给出什么时候需要锁什么时候不需要的几点建议。最后,介绍几个FCL中线程安全的类,集合类的锁定方式等,做为对线程同步系列的完善和补充。 1.几种同步方法的区别 lock和Monitor是.NET用一个特殊转载 2013-03-14 19:51:39 · 969 阅读 · 0 评论 -
C#多线程:深入了解线程同步lock,Monitor,Mutex,同步事件和等待句柄(中)
本篇继续介绍WaitHandler类及其子类 Mutex,ManualResetEvent,AutoResetEvent的用法。.NET中线程同步的方式多的让人看了眼花缭乱,究竟该怎么去理解呢?其实,我们抛开.NET环境看线程同步,无非是执行两种操作:一是互斥/加锁,目的是保证临界区代码操作的“原子性”;另一种是信号灯操作,目的是保证多个线程按照一定顺序执行,如生产者线程要先于消费者线程执行。.N转载 2013-03-14 19:50:42 · 692 阅读 · 0 评论 -
浅谈AutoResetEvent的用法
今天在看一段DEMO代码的时候发现AutoResetEvent被反复用到,在MSND中查了资料同时到在网上搜到了一个很简短的例子,这个例子帮我理解AutoResetEvent的用法起了不少辅助作用,这里贴出来,希望对大家理解有所帮助:(代码都已经在VS2005中成功调试通过,注释是我的理解,只能起参考作用,呵呵)using System;using System.Threadin转载 2013-03-15 11:06:32 · 780 阅读 · 0 评论 -
AutoResetEvent、ManualResetEvent、Mutex分析
在.Net多线程编程中,AutoResetEvent和ManualResetEvent这两个类经常用到, 他们的用法很类似,但也有区别。Set方法将信号置为发送状态,Reset方法将信号置为不发送状态,WaitOne等待信号的发送。可以通过构造函数的参数值来决定其初始状态,若为true则非阻塞状态,为false为阻塞状态。如果某个线程调用WaitOne方法,则当信号处于发送状态时,该线程会得到信号转载 2013-03-16 10:42:06 · 2328 阅读 · 0 评论 -
在VS2005下用C#制做WEB安装包
利用VS2005的“Web安装项目”建立安装包很难对安装过程进行详细控制,因此直接采用“安装项目”来建立web程序安装包。我们需要安装过程中自动创建虚拟目录,并且可以修改数据库连接字符串,假设我们在安装过程中需要用户修改web.config文件里连接字符串其形式如下: ... ... 则建立安装包的转载 2013-04-07 09:46:59 · 719 阅读 · 0 评论 -
业务规则层设计说明
一.具体介绍目的:降低业务逻辑层耦合和进行动态加载提高系统的可扩展性使用工具: spring.net框架通过IOC注入机制实现二.具体机制面向接口编程,所有的服务都需要提供对外的接口,通过spring.net的IOC容器进行服务的组合,通过依赖注入形式将需要的服务进行注入。新增模块规范描述如下:当系统需要添加新服务—>首先声明该服务接口—>实现该服务转载 2013-04-08 15:50:05 · 2347 阅读 · 0 评论 -
C# Windows服务的安装和卸载批处理
@ECHO "请按任意键开始安装后台服务. . ."@ECHO "清理原有服务项. . ."%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil /U ServerName.exe@ECHO "清理完毕,开始安装后台服务. . ."%SystemRoot%\Microsoft.NET\Framework\v4.0.3原创 2013-04-09 17:11:15 · 2265 阅读 · 0 评论 -
C# 串口通信、单片机
C#串口操作系列:http://blog.csdn.net/wuyazhe/article/category/695097 (精品,5个系列都有,感谢wuyazhe博主)两个完整例子:http://dldx.csdn.net/fd.php?i=35144030363803&s=210244c0411405405a6adaa4d8818c02http://bbs.csu.edu.转载 2012-02-03 10:53:57 · 1185 阅读 · 0 评论 -
DataGridView复合表头
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Drawing.Design;using System.Text;using System.Windows.Forms;using转载 2012-01-09 11:14:11 · 3487 阅读 · 1 评论 -
C# 数组转string,string数组转byte数组
1.将字符串转为byte数组 string imgData = "....,...,....,...."; string [] imgArr=imgData.Split(new char[]{','}); byte[] bty = Array.ConvertAll(imgArr, delegate(string s) { return byte.Parse(s); }); 2.将byte数组转为字符串原创 2010-06-10 16:35:00 · 2846 阅读 · 0 评论 -
在.NET中使用命名管道完成进程间通信[转]
转自:http://www.cnblogs.com/todd/archive/2009/02/13/1390225.html转载 2010-06-12 08:52:00 · 653 阅读 · 0 评论 -
WCF传输图片解决方案
<br />图片无法序列化后传输,但我们可以将图片转二进制字符串传输。然后在服务端将二进制字符串转图片。<br /><br />将图片转字符串的例子:<br /> private byte[] BmpToJpegBuff(Image img)<br /> {<br /> ImageConverter converter = new ImageConverter();<br /> byte[] bmpSrc = (byte[])conve原创 2010-08-13 11:21:00 · 7702 阅读 · 1 评论 -
(转)C#中判断是否为数字
<br />有人提议用int.Parse(string)的方法,然后通过捕获异常来判断返回的值。更好的方法是用正则表达式:<br />public int IsNumeric(string str)<br />{<br /> int i;<br /> if(str != null && Regex.IsMatch(str,@"^/d+$"))<br /> i = int.Parse(str);<br /> else<br />原创 2010-08-18 18:39:00 · 839 阅读 · 0 评论 -
RichTextBox拖动滚动条后定位里面的控件位置
<br /> private int py = 1;//第一个字符默认位置 protected override void OnVScroll(EventArgs e) { Point p = this.GetPositionFromCharIndex(0); foreach (Control c in this.Controls) { c.Loc原创 2011-01-16 18:00:00 · 920 阅读 · 1 评论 -
窗口最大化禁止遮挡任务栏
//接收的参数m来自protected override void WndProc(ref Message m);Win32Helper.MINMAXINFO minmax = (Win32Helper.MINMAXINFO)Marshal.PtrToStructure( m.LPar原创 2011-10-21 22:20:30 · 5072 阅读 · 0 评论 -
附件上传
在WinForm里面调用下面的方法来上传文件:// /// 将本地文件上传到指定的服务器(HttpWebRequest方法) /// /// 文件上传到的服务器 /// 要上传的本地文件(全路径) /// 文件上传后的名称 /// 上传进度条 /// 成功返回1,失败返回0原创 2011-10-24 19:05:43 · 1070 阅读 · 0 评论 -
深入理解C#委托及原理
一、委托设想,如果我们写了一个厨师做菜方法用来做菜,里面有 拿菜、切菜、配菜、炒菜 四个环节,但编写此方法代码的人想让 配菜 这个环节让调用方法的人实现,换句话说,就是想在方法被调用时接收 代码 作为参数,在方法中执行这端传进来的代码。但,怎么为一个方法传 代码 进来呢?当然大家想到了传递接口方式来实现,咱先不讨论接口,因为微软为我们提供了一个叫做 【委托】 的类型。转载 2011-10-25 17:22:04 · 10545 阅读 · 1 评论 -
将对象绑定到窗体或将窗体数据赋值给对象(B/S、C/S)
B/S模式:/*版权信息:版权所有(C) 2007 IntelligenceSoft Corporation作 者:ruijc完成日期:2007-04-11内容摘要:进行实体对象和页面控件绑定类。*/using System;using System.Web;using System.Web.UI;using System.Web.UI.HtmlControls;u原创 2011-11-23 10:54:32 · 694 阅读 · 0 评论 -
自动注册自定义文件类型
在我们自己编写的应用中,经常会用自定义类型的文件的来保存与应用相关的数据,比如.xcf文件就是XCodeFactory应用程序的项目文件。如果没有向Windows注册表注册该文件类型,那么.xcf文件的图标将是windows的文件默认图标,并且你双击一个a.xcf文件,也不会自动启动XCodeFactory应用程序来加载a.xcf文件。如何使.xcf文件的图标变成我自己喜爱的图标、如何完成像点击.转载 2011-11-03 11:15:12 · 608 阅读 · 0 评论 -
Unicode和UTF-8之间的转换详解
最近在用VC++开发一个小工具,平时用惯了.NET,用起VC++最郁闷的就是字符串处理。当然最最让人难于琢磨的就是字符集,编码之间的转换。通过这几天的研究,终于明白了Unicode和UTF-8之间编码的区别。Unicode是一个字符集,而UTF-8是Unicode的其中一种,Unicode是定长的都为双字节,而UTF-8是可变的,对于汉字来说Unicode占有的字节比UTF-8占用的字节少1个字节转载 2012-01-08 19:58:27 · 812 阅读 · 0 评论 -
关于C#和ASP.NET中对App.config和Web.config文件里的[appSettings]和[connectionStrings]节点进行新增、修改、删除和读取相关的操作
最近我做的一些项目,经常需要用到对应用程序的配置文件操作,如app.config和web.config的配置文件,特别是对配置文件中的[appSettings]和[connectionStrings]两个节点常常进行新增、修改、删除和读取相关的操作的,所以,我自己就亲手把这些相关的操作都封装到一个配置文件管理器中,用静态的方法来调用便可,以下是我的实现,以资参考. ps:后来我依据这个随转载 2013-04-10 17:50:58 · 5530 阅读 · 0 评论