
C#
文章平均质量分 57
ShineSpark
这个作者很懒,什么都没留下…
展开
-
深度剖析C#序列化和反序列化
<br /><br />C#序列化和反序列化,两者的程序处理方式基本一致,都是基于工厂模式的,所谓C#序列化就是是将对象转换为容易传输的格式的过程,一般情况下转化打流文件,放入内存或者IO文件中。例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象,或者和其它应用程序共享使用。相反的,反序列化根据流重新构造对象。.NET自带的有两种序列化对象的方式,Xml和binary的,XML 序列化不转换方法、索引器、私有字段或只读属性(只读集合除外)。要序列化对象的所有转载 2011-05-11 18:25:00 · 634 阅读 · 0 评论 -
读取应用程序/类库配置文件(比如***.dll.config)的方法小结
0.引子 读取应用程序配置文件(比如***.exe.config)的方法有很多, .NET自带的ConfigurationManager也很方便. 这篇文章主要探讨类库生成的dll文件的配置信息的读取——特别地, 用户自定义SectionGroupName和SectionName(这里是指不同于appSettings的形式), 这种方式配置信息的读取. 配置文件格式举例(其实通过添加"设置文件", 注意:不是"应用程序配置文件") 代码转载 2011-04-19 14:30:00 · 7861 阅读 · 1 评论 -
c#调用C++的DLL找不到入口点以及衍生的相关问题
DllImport属性详解API函数是构筑Windows的基石, 是Windows编程的必备利器。每一种Windows应用程序开发工具都提供间接或者直接的方式调用Win32API,C#也不例外。使用Win32API的一个好处就是,我们可以实现更多的功能。首先,要引入命名空间:using System.Runtime.InteropServices;然后,声明在程序中所要转载 2016-04-07 19:50:22 · 26384 阅读 · 1 评论 -
C# 读取app.config配置文件 节点键值,提示 "System.TypeInitializationException 类型初始值设定项引发异常" 错误的解决方案
新建C#项目,在app.config中添加了appSettings项,运行时出现”配置系统未能初始化”的错误,MSDN里写到,如果配置文件中包含 configSections 元素,则 configSections 元素必须是 configuration 元素的第一个子元素。”,将自己添加的appSettings放到configSections 后,则正常。转载 2015-10-15 00:25:50 · 10087 阅读 · 0 评论 -
webservice、wcf、SOAP、gSOAP
最近在看webservice相关东西,被一些名字搞得一团浆糊,结合google先总结如下:Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。Web Service是自描述、 自包含的可用网络转载 2014-07-02 17:18:37 · 3636 阅读 · 0 评论 -
winform MouseWheel事件问题( Timer )
问题说明: winform界面 一个panel中有mousedown、mouseup、mousewheel,还有一个Timer,Timer函数里执行一个比较耗时的操作,大概1-2s,问题出来了:mousewheel有的时候捕捉不到。Timer是System.Windows.Forms.Timer,个人猜测是Timer影响。看完下面对timer的说明就恍然大悟了。 首原创 2013-04-20 14:47:44 · 2031 阅读 · 0 评论 -
C#处理C++库回调报错_非托管代码传递委托被垃圾回收
如果非托管代码需要多次调用托管代码中的委托,请将委托保存为成员变量。如果非托管代码需要多次调用托管代码中的回调,请将委托的引用保存为成员变量。否则会出现类似下面的异常: 检测到 CallbackOnCollectedDelegate Message: 对“Demo!SomeNamespace.SomeClass+SomeDeleg转载 2013-01-17 14:41:42 · 5179 阅读 · 0 评论 -
C#调用C++ DLL相关问题
由于C#存在易反编译的弊端,虽然有一些工具和方法,混淆,重命名,加密,但是不是很方便,有些情况下混淆后不能成功运行了。很多人都想把核心的代码封装成C++的DLL就没那么简单被反编译了,当然没有绝对的。我个人认为这是比较好的方法 把最核心的功能封装在c++dll中然后用C#做界面或其他。下面是一篇简单介绍C#如何调用C++DLLC#语言使用方便,入门门槛较代,上手容易,并且语法与C,ja原创 2011-05-03 18:08:00 · 11535 阅读 · 3 评论 -
导出Excel
快速导出Excel其实比较简单,主要是给Excel.Range的Value2属性赋值。该属性的值是一个对象类型的二维数组。第一秩表示的是行,第二秩表示的是列。 本方法是基于已经存在Excel模板的情况下使用的,可以对方法进行一些扩展或者修改。比如不基于模板的导出,只需修转载 2011-07-27 16:00:46 · 778 阅读 · 0 评论 -
Excel导入DataTable
很多时候,我们需要操作Excel中的数据。而要操作Excel中的数据,首先要解决的问题就是把Excel中的数据导入到程序的某个对象中,比如DataTable等。 这里介绍一种常用的Excel导入DataTable的方法。Excel其实也是一种数据库,既然是数据库,就可以转载 2011-07-27 15:55:42 · 3532 阅读 · 1 评论 -
详解C#编程中的反射机制与方法
<br /><br />Reflection,中文翻译为反射。这是.Net中获取运行时类型信息的方式,.Net的应用程序由几个部分:‘程序集(Assembly)’、‘模块(Module)’、‘类型(class)’组成,而反射提供一种编程的方式,让程序员可以在程序运行期获得这几个组成部分的相关信息,例如:Assembly类可以获得正在运行的装配件信息,也可以动态的加载装配件,以及在装配件中查找类型信息,并创建该类型的实例。Type类可以获得对象的类型信息,此信息包含对象的所有要素:方法、构造器、属性等等,通过转载 2011-05-04 15:20:00 · 1071 阅读 · 0 评论 -
深入解析Close()和Dispose()的区别
<br /> 很多人都认为Close()方法内部会调用Dispose()方法,所以并没有本质的区别!实际上这个看法不是很准确,对有些类来说,的确Close()和Dispose()没有本质区别,但是对有些类来说并非如此!<br /> 很多人都认为Close()方法内部会调用Dispose()方法,所以并没有本质的区别!实际上这个看法不是很准确,对有些类来说,的确Close()和Dispose()没有本质区别,但是对有些类来说并非如此!<br /> 首先,让我们看看我们最常使用的SqlConnection的转载 2011-04-28 10:33:00 · 11019 阅读 · 0 评论 -
C#实现WinForm程序的动态系统托盘图标
1.在主窗体中添加一个 NotifyIcon 控件-notifyIcon12.在主窗体中添加一个 ContextMenu 控件-contextMenu1,并添加菜单项3.设置 notifyIcon1 的属性: 将notifyIcon1.ContextMenu 设置为 contextMenu1 notifyIcon1.Visible = true notifyIcon1.Icon 设置到一个图标文件3.处理主窗体的closing事件,即关闭主窗体时就最小化到系统托盘private void Fo原创 2011-04-27 17:18:00 · 1850 阅读 · 0 评论 -
C#窗体间通讯的几种处理方法
<br />应用程序开发中,经常需要多窗体之间进行数据通信,写几个例子,把几种常用的通信方式总结一下: 窗体: 主窗体Form1是一个ListBox,单击选中某列时,弹出窗体Form2,Form2中两个控件,一个是TextBox,显示选中的该列的文本,另一个是按钮,点击时将修改后的值回传,且在Form1中修改相应的列的文本,同时Form2关闭。 方法一:传值 最先想到的,Form2构造函数中接收一个string类型参数,即Form1中选中行的文本,将Form2的TextBox控件的Te转载 2011-04-26 11:32:00 · 652 阅读 · 0 评论 -
C#读写xml文件
<br /><br />c#读写xml文件<br />已知有一个XML文件(bookstore.xml)如下:<br />Code<br /><?xml version="1.0" encoding="gb2312"?><br /><bookstore><br /><book genre="fantasy" ISBN="2-3631-4"><br /><title>Oberon's Legacy</title><br /><author>Corets, Eva</author><br /><price>5.转载 2011-04-22 15:45:00 · 699 阅读 · 0 评论 -
C#读写app.config中的数据(收藏)
<br /><br />读语句:<br /> String str = ConfigurationManager.AppSettings["DemoKey"];<br />写语句:<br /> Configuration cfa = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);<br /> cfa.AppSettings.Settings["DemoKe转载 2011-04-19 09:54:00 · 7774 阅读 · 0 评论 -
C# 连接 Mysql 中文乱码问题
如题这个问题还是让人比较揪心的。网上也有不少答案,五花八门,不知道谁对谁错。个人认为有几篇文章处理的这个问题还不错,现总结如下:第一篇:c#连接MySQL解决汉字乱码突然发现我的数据表中,有汉字的部分均是乱码,英文正常,遂怀疑是编码问题。同事的工作,使用http发送utf-8编码的汉字,服务器程序可正确接收和存入数据库,读取,均正确。数据表配置为utf-8一开始以为本地语言编码格式问题,对字符串进行编码,如; string str = "汉字编码"; byte[] bytes = Encod原创 2011-04-15 14:56:00 · 17220 阅读 · 2 评论 -
C#—Table To list 和 List To Table 操作
<br /><br />C#—Table To list 和 List To Table 操作<br />1.using System.Reflection;//常规的命名空间,省略...<br />2.PositionList类结构<br /> public class PositionList<br /> {<br /> public int position_id{get;set;}<br /> public string position_full_name{g转载 2011-04-16 12:06:00 · 9730 阅读 · 2 评论 -
VLC donet 下开源库总结
nvlcvlc.donetmeta.vlclibvlcnet原创 2017-09-07 17:07:51 · 847 阅读 · 0 评论