
C#
yxfox
.
展开
-
调试日志操作类
记录一个最近一直在用的日志操作类,改的我同事的,作用是:在需要调试输出的地方,自动创建log目录,将操作的时候需要记录的地方通过方法,写入*.log文件,以便查看。#region 日志记录/// /// 日志记录类/// public class LogManager{ private static string logPath = string.Empty; /转载 2012-09-24 21:23:14 · 416 阅读 · 0 评论 -
C#方法延迟返回结果
不知道标题恰不恰当,只不过我的需求是这个样子的:例如一个方法A,返回值是bool类型的,但是方法执行过程中,需要另一个方法B执行结束,但是还不能直接调用B方法,可是B是等待外部信号才执行。所以需要延迟一下,等B方法执行了才返回结果。找了些资料,找到了AutoResetEvent,可以达到我的目的,但是否是最适合的,就不知道了,由于我的项目中所谓的B方法是RS232端口读数据的,然后转载 2012-09-24 21:25:41 · 1153 阅读 · 0 评论 -
关于性能:var的弱类型
我突然感觉自己跟个门外汉似的,var是弱类型,那么直接类生成对象的方式叫什么竟然不知道了。那就不管了,以后再了解,这几天看关于性能的东西,发现很多人在实例化的时候都是使用弱类型的,然后我就想测试一下弱类型的实例化与普通方式的实例化在性能上有什么不同,于是借助这CodeTimer写了下面的小段来进行测试。1234567转载 2012-09-24 21:31:05 · 809 阅读 · 0 评论 -
WPF使用ThreadPool.QueueUserWorkItem线程池防界面假死
其实并不光是WPF,在WinForm中也会经常遇到这种导致界面假死的现象,在目前,防止假死的方法几乎都是使用线程来进行,比如使用System.ComponentModel.BackgroundWorker,现在还有一种方法是使用线程池ThreadPool.QueueUserWorkItem来防止界面假死,而至于说使用这两个类哪一个更好,其实还是要根据需求的不同而选择更合适的方法。这里只是举一个基本转载 2012-09-24 21:33:09 · 2341 阅读 · 0 评论 -
WinForm程序防止被调用
这是去年我在优快云上给人回答的一个问题,如何防止程序被其他应用程序调用,只能双击打开。WinForm是Windows下的程序,所以,可以通过判断父进程是否是explorer来达到这个目的,当时测试,是可行的,也引来了很多争论,有说判断传参的什么的,其实我觉得还是通过判断父进程来做会好一些,虽然也不是绝对安全的。using System;using System.Collecti转载 2012-09-24 21:38:08 · 680 阅读 · 0 评论 -
CRC校验方法
协议中使用CRC校验,CRC 2字节校验,协议的Word上提供了C的、Dephi的VB的,但是没提供C#的,所以根据VB的,我该写成C#的。记录一下,以备以后使用。private static int gen_crc(byte[] Buffer, int BufferLength){ byte c = 0; byte treat = 0; byte bcrc = 0;转载 2012-09-24 21:27:58 · 702 阅读 · 0 评论 -
C#关键字params的用法
以前经常能看到这个关键字的,但是一直也没注意到它的用法,和作用;凭字面理解,就是参数的意思。今天看到了之后突然想了解一下这个关键字的用法,做了点小测试,算是基本了解了它的用法。params固然表示的是参数的意思,我看,用到params关键字的用法都是用来表示形参为数组的。比如我创建了一个方法,要传入一个参数,参数是string数组,平时的写法是这样的private void转载 2012-09-24 21:36:09 · 864 阅读 · 0 评论 -
WinForm出现无法处理的异常解决
WinForm程序会出现无法处理的异常有多少种情况我不清楚,我今天就遇到一个,这样无法获取到异常信息的情况,对用户的体验很不好,后来查到我的代码中为何出现这样的情况,因为我习惯把整体的语句块包在最外层,来获取中间可能出现的异常,然后进行处理,但是这段代码中用到了BeginInvoke的语句块,而我使用了匿名方法,那么在匿名方法中的异常,外面是捕捉不到的。所以会出现无法处理的异常情况,正确的代码应该转载 2012-09-24 21:40:41 · 1186 阅读 · 0 评论