
C#
龙泉剑
keep moving
展开
-
VS2008 System.BadImageFormatException
VS2008 System.BadImageFormatException 今天同事将一个C#项目从SVN下载到本地电脑上运行报错:System.BadImageFormatException。因为项目是编译通过后放到SVN上的所以代码肯定没有问题,一开始以为是VS2008安装的问题,经检查也排除了这个问题。最后发现同事的电脑是64位的,晕。终于发现了问题的所在,该原创 2012-06-20 10:28:14 · 1317 阅读 · 0 评论 -
C# 函数参数传递分析
函数基本的参数传递机制有两种:值传递和引用传递。 值传递(passl-by-value)过程中,被调函数的形式参数作为被调函数的局部变量处理,即在堆栈中开辟了内存空间以存放由主调函数放进来的实 参的值,从而成为了实参的一个副本。值传递的特点是被调函数对形式参数的任何操作都是作为局部变量进行,不会影响主调函数的实参变量的值。 引 用传递(pass-by-referenc原创 2013-12-31 12:33:26 · 1250 阅读 · 0 评论 -
Sqlite在32位和64位Windows操作系统上运行的问题
项目中用到了sqlite数据库,在32位Win7系统下运行良好,但是放到64为系统上执行到调用sqlite那段代码时程序报错了。通过分析发现sqlite对应不同的操作系统有不同的版本,也就是说在64为操作系统上要运行64位的sqlite。那程序要兼容32位和64位系统怎么办呢?首先想到的办法是判断当前的操作系统,如果是32位就加载32位的sqlite否则加载64位的sqlite。但原创 2013-11-14 16:53:26 · 6874 阅读 · 0 评论 -
C# 多线程异常处理
问题1:子线程中的未处理异常会影响主线程的运行吗?问题2:如何捕获子线程和主线程中所有的未处理异常?示例代码: class Program { static void Main(string[] args) { //AppDomain.CurrentDomain.UnhandledException +原创 2013-11-25 11:08:41 · 3425 阅读 · 0 评论 -
.Net生成API文档(二)
使用.NET中的XML注释(二) -- 创建帮助文档入门篇一.摘要在本系列的第一篇文章介绍了.NET中XML注释的用途, 本篇文章将讲解如何使用XML注释生成与MSDN一样的帮助文件.主要介绍NDoc的继承者:SandCastle.二.背景要生成帮助文件,很多人会想到NDoc.其实在VS2003中不使用NDoc也一样具有"生成Web文档"的功能.然而转载 2012-12-10 15:39:55 · 3069 阅读 · 0 评论 -
.Net 生成API文档(一)
使用.NET中的XML注释(一) -- XML注释标签讲解一.摘要 .Net允许开发人员在源代码中插入XML注释,这在多人协作开发的时候显得特别有用。 C#解析器可以把代码文件中的这些XML标记提取出来,并作进一步的处理为外部文档。 这篇文章将展示如何使用这些XML注释。 在项目开发中,很多人并不乐意写繁杂的文档。但是,开发组长希望代码注释尽可能详细;转载 2012-12-10 15:35:54 · 6718 阅读 · 1 评论 -
C#线程控制ManualResetEvent和AutoResetEvent
ManualResetEvent和AutoResetEvent在C#中用法比较类似,都是用来做线程控制的,这个从他们的名字也可以看出。先说相似点,他们都有对象方法:Set、Reset、WaitOne,用法类似,其中:Set表示设置为有信号状态,这时调用WaitOne的线程将继续执行;Reset表示设置为无信号状态,这时调用WaitOne的线程将阻塞;WaitOne表示在无信号状原创 2012-10-26 11:31:06 · 2522 阅读 · 0 评论 -
C# 读写XML文件
1、写XML,内容如下: student1 student2 C#代码:public void WriteXml() { string path = "D:\\test.xml"; XmlDocument xmlDocument = new XmlDocument();原创 2012-10-19 15:14:57 · 942 阅读 · 0 评论 -
C# Dispose与Close
C#中Dispose和Close的区别!当我们开发C#代码的时候,经常碰到一个问题,有些class提供Close(),有些class提供Dispose(),那么Dispose和Close到底有什么区别?首先,Dispose和Close基本上应该是一样的。Close是为了那些不熟悉Dispose的开发者设计的。因为基本上所有的developer都知道Close是干吗的(特别是对于那些有C转载 2012-09-20 10:41:42 · 994 阅读 · 0 评论 -
VS2008打开VS2010项目
VS2008是可以打开VS2010项目的,但是有个前提条件:VS2010的项目中没有使用.Net FrameWork 4.0,否则即使用VS2008打开了项目也会报找不到函数的错误。步骤如下:1、找到*.sln文件,用记事本打开,修改:Microsoft Visual Studio Solution File, Format Version 11.00# Visual Stud原创 2012-09-18 15:16:43 · 1060 阅读 · 0 评论 -
C# 应用程序无客户端连接oracle数据库
今天用C#开发了一个操作oracle数据库的小程序,在本机上运行良好,拿到同事的机器上一运行,程序自动退出了,什么错误也不报,经过检查.Net FrameWork也安装了,百思不得其解。然后,用C#写了一个最简单的Hello Word程序,运行良好。猛然发现原来是访问oracle数据库的问题,我的机器上安装了oracle客户端所以没有问题,可同事的机器上没有,怎么办?难道要装一原创 2012-09-04 13:37:04 · 1854 阅读 · 3 评论 -
C# 线程同步之Monitor
本文用经典的生产者消费者的例子,说明Mnitor对象的用法。实现的目标是:生产者生产一个数据,然后消费者开始消费,消费完成后生产者继续生产,循环10次后结束。下面是代码: namespace ConsoleTest { /// /// 生产者消费者例子 /// public class Producer_Consumer原创 2012-08-18 16:59:04 · 3601 阅读 · 2 评论 -
C# 动态调用WebService
C#调用WebService的方式有很多:1、直接在项目中添加WebService引用,这种方式比较简单,但不是动态的,即每次服务地址或者内容变了之后都要重新添加引用。2、用Soap,这种方式需要把添加WebService引用生成的Reference.cs类中服务接口,集成进自己定义的服务调用类中,如果服务接口发生了改变,需要修改服务调用类。3、动态调用,代码如下:原创 2014-02-21 19:24:37 · 3723 阅读 · 0 评论