NOPI使用手册
摘要:1. 认识NPOI 2. 使用NPOI生成xls文件 2.1 创建基本内容 2.1.1 创建Workbook和Sheet 2.1.2 创建DocumentSummaryInformation和SummaryInformation 2.1.3 创建单元格 2.1.5 创建批注 2.1.6 创建页眉和页
阅读全文
【WCF】错误处理(四):一刀切——IErrorHandler
摘要:前面几篇烂文中所介绍到的错误方式,都是在操作协定的实现代码中抛出 FaultException 或者带泛型参数的detail方案,有些时候,错误的处理方法比较相似,可是要每个操作协定去处理,似乎也太麻烦,此时就应当考虑统一处理了。 在 System.ServiceModel.Dispatcher 命
阅读全文
浅析C#中的事件
摘要:讲过了委托,不得不讲事件。 事件基于委托,为委托提供了一种发布/订阅机制。 讲过了委托,不得不讲事件。 事件基于委托,为委托提供了一种发布/订阅机制。 在发生其他类或对象关注的事情时,类或对象可通过事件通知它们。发送(或引发)事件的类称为“发行者”,接收(或处理)事件的类称为“订户”。 在典型的 C
阅读全文
深刻理解:C#中的委托、事件
摘要:C#中的事件还真是有点绕啊,以前用JavaScript的我,理解起来还真是废了好大劲!刚开始还真有点想不明白为什么这么绕,想想和JS的区别,最后终于恍然大悟! C#中事件绕的根本原因: 所以,一个方法不能直接作为其它方法的参数,把一个方法名作为参数,无法指定类型啊,会报错!那我就想啊,既然不能直接传
阅读全文
C#事件与委托详解【精华 多看看】
摘要:Delegate delegate是C#中的一种类型,它实际上是一个能够持有对某个方法的引用的类。与其它的类不同,delegate类能够拥有一个签名(signature),并且它"只能持有与它的签名相匹配的方法的引用"。它所实现的功能与C/C++中的函数指针十分相似。它允许你传递一个类A的方法m给另
阅读全文
泛型约束
摘要:一、泛型简介1.1泛型通过使用泛型,可以创建这样的类、接口和方法,它们以一种类型安全的工作方式操作各种数据。本质上,术语“泛型”指的是“参数化类型”(parameterized types)。参数化类型非常重要,因为它们可以在创建类、接口、方法和委托的时候将要操作的数据类型作为参数进行指定。通过泛型
阅读全文
C#泛型约束
摘要:本文将对各类泛型约束做一个简单的总结。 文章一开始,给出演示代码底稿(在此基础上修改,演示,说明。) 接下来,依次修改演示代码底稿,来说明不同类型的泛型约束。 1 指定泛型参数为值类型 看看加上约束后的效果怎么样,按下面方式 实例化MyList 类 : 你会发现,将产生如下错误提示: 类型“Genc
阅读全文
说说设计模式~单件模式(Singleton)
摘要:单件模式(Singleton)要求一个类有且仅有一个实例,并且提供了一个全局的访问点。 从概念上来研究一下它的实现,不考虑线程安全 上面的实现方式,对于多线程会有问题,因为Singlton 对象可能不指一次被创建,而罪魁祸首就是if (instance == null)这句话,它并不是线程安全的。
阅读全文
EF架构~终于自己架构了一个相对完整的EF方案
摘要:EF4.1学了有段时间了,没有静下来好好研究它的架构,今天有空正好把它的架构及数据操作这段拿出来,希望给大家带来帮助,对我自己也是一种总结:P 从图中可以看到,我们用的是MVC3进行程序开发的,哈哈,也是刚开始用3.0,项目整体架构还是传统三层,其它公用层我就不说了,服务层和UI层也不说了,单说EF
阅读全文
.Net——实现IConfigurationSectionHandler接口定义处理程序处理自定义节点
摘要:除了使用.net里面提供的内置处理程序来处理我们的自定义节点外,我们还可以通过多种方法,来自己定义处理类处理我们的自定义节点,本文主要介绍通过实现IConfigurationSectionHandler接口的方式来实现自定义处理程序。 首先,我们先在配置文件里面写如下自定义节点: 然后写对应类进行处
阅读全文
在LINQ中实现多条件联合主键LEFT JOIN
摘要:我昨天遇到一个LINQ下使用多条件比对产生LEFT JOIN的问题,经过深入研究,终于解决了,也让我学到了新的东西,特地拿来分享。实例:有一张库存异常变更视图KCYD,仓库ID[Ckid]和物品ID[SpxxId]是该视图的唯一约束。有一张物品表ITEM,物品ID[ITEM_ID]是主键。还有一张表
阅读全文
从LINQ开始之LINQ to Objects(上)
摘要:LINQ概述 LINQ,语言集成查询(Language Integrated Query),它允许使用C#或VB代码以查询数据库相同的方式来操作不同的数据源。 1.LINQ体系结构 从上图可以看出,LINQ总共包括五个部分:LINQ to Objects、LINQ to DataSets、LINQ
阅读全文
WPF控件模板和数据模板 - 醉意人间
摘要:来自:http://www.th7.cn/Program/WPF/2011/12/21/51676.shtml ControlTemplate用于描述控件本身. 使用TemplateBinding来绑定控件自身的属性, 比如{TemplateBinding Background} DataTempl
阅读全文
WPF的ListView控件自定义布局用法实例
摘要:本文实例讲述了WPF的ListView控件自定义布局用法。分享给大家供大家参考,具体如下: 概要: 以源码的形式贴出,免得忘记后,再到网上查资料。在VS2008+SP1环境下调试通过 引用的GrayscaleEffect模块,可根据参考资料《Grayscale Effect...》中的位置下载。 正
阅读全文
初步探讨WPF的ListView控件(涉及模板、查找子控件) - GavinJun
摘要:本文结合模板的应用初步介绍ListView的应用 一、Xaml中如何建立数据资源 大部分数据都会来自于后台代码,如何Xaml同样的建立数据源呢?比如建立一个学生List: 首先引入命名空间: xmlns:c="clr-namespace:System.Collections;assembly=msc
阅读全文
LINQ技巧:如何通过多次调用GroupBy实现分组嵌套
摘要:using System; using System.Linq; namespace ConsoleApplication1 { class Program { public class S { public int Year; public int Month; public int Day; }
阅读全文
解决Linq.ToDictionary()时的键重复问题
摘要:今天在使用 Linq 的 ToDictionary() 时发生了异常,提示: System.ArgumentException: 已添加了具有相同键 System.ArgumentException: 已添加了具有相同键 因为以前一直没有遇到有相同键的情况,所以从来没关注过这个问题。然后写段试验来码
阅读全文
C#解决Linq OrderBy() 失效的小技巧
摘要:前言 前几天的一个数据列表中我用了Linq GroupBy 和OrderBy。 排序在本机正常使用,发到测试后排序死活不对,很是郁闷,总以为是程序问题。于是请教了另外一个同事。有了以下的答案。 问题原因和解决方法 因为服务器装的是英文版操作系统,没有中文包,所以碰见中文排序无法识别,所以使用Orde
阅读全文
在C#中用Linq从属性文件中读取键值对Key-Value Pair
摘要:我们经常需要读取一些如下的属性文件,然后把他们放到一个Dictionary里面。 Name = Dawei XU Email = dawei.xu@gmail.com Name = Dawei XU Email = dawei.xu@gmail.com 在C#中可以用Linq很方便的实现这个功能。先
阅读全文
C#用Infragistics 导入导出Excel
摘要:最近项目中有数据的导入导出Excel的需求,这里做简单整理。 公司用的是Infragistics的产品,付费,不需要本地安装Office。 有需要的朋友可以下载 Infragistics.2013.2.2098 ,提取密码:5u17 本文完整代码下载Demo.Excel.zip 当然,我知道还有其他
阅读全文
C#基础---Attribute(标签) 和 reflect(反射) 应用二
摘要:背景: 【为了方便,自己还是模拟一个背景吧, 感觉不是很恰当,不过自己的Demo里面自己这样写的.当然跟公司的比起来肯定不够完善】 每个人都会吃饭,可是每个国家吃饭的习惯不一样。中国人吃汤圆,加拿大人吃意大利面,美国人吃火鸡。还有其他国家的人吃其他东西。如何来维护不同国家的不同习俗呢。我开了一家饭店
阅读全文
C#基础系列:反射笔记
摘要:前言:使用反射也有几年了,但是一直觉得,反这个概念很抽象,今天有时间就来总结下这个知识点。 1、为什么需要反射: 最初使用反射的时候,作为小菜总是不理解,既然可以通过new 一个对象的方式得到对象,然后通过对象去调用属性和方法,那么为什么还需要反射去调用呢?后来使用多了发现这就是一个先绑定还是后绑定
阅读全文
反射基础
摘要:反射用于在程序运行过程中,获取类里面的信息或发现程序集并运行的一个过程。通过反射可以获得.dll和.exe后缀的程序集里面的信息。使用反射可以看到一个程序集内部的类,接口,字段,属性,方法,特性等信息。 一、各种GetType()、typeof的区别 首先就是获取Tyoe对象的来源不同: 三者的区别
阅读全文
NPOI之Excel——合并单元格、设置样式、输入公式
摘要:NPOI之Excel——合并单元格、设置样式、输入公式 首先建立一个空白的工作簿用作测试,并在其中建立空白工作表,在表中建立空白行,在行中建立单元格,并填入内容: //建立空白工作簿 IWorkbook workbook = new HSSFWorkbook(); //在工作簿中:建立空白工作表 I
阅读全文
NPOI对Excel的操作(Sheet转DataTable、List<T>)
摘要:1 using System.Collections.Generic; 2 using NPOI.HSSF.UserModel; 3 using NPOI.SS.UserModel; 4 using NPOI.XSSF.UserModel; 5 using System.IO; 6 using Sy
阅读全文
【SVN版本回退】
摘要:【SVN版本回退】根据想要回退的内容,然后选择revert to this revision或者revert changes from this revision。下面引用过来:譬如有个文件,有十个版本,假定版本号是1,2,3,4,5,6,7,8,9,10。Revert to this revisi
阅读全文
撤销修改
摘要:撤销修改 当对一个文件进行了修改并保存后(注意此处并没有进行提交), 如果对修改不满意,想要重新修改,可以右键单击修改过的文件(带红色叹号的那个), 然后选择revert,前面的一系列修改便会被撤销,恢复到Updata之后的状态。 如果一个文件被误删除,也可通过右键单击该文件所在的目录,选择reve
阅读全文
如何得到某个文件的旧版本
摘要:下载某个文件的旧版本 如果想要得到某个文件的旧版本,只需在该文件上单击右键,选择Updata to revision…即可。 系统会提示输入版本号。 例如要下载soc_1的第五个版本,只需填入5即可。如图7。 查看完版本5的文件后,如果想在此回到最新版本,只需要对soc_1运行Updata即可。
阅读全文
Edit conflicts
摘要:Edit conflicts 当副本修改处和服务器版本相同处被修改并下载到本地时,就会发生文件冲突。 操作步骤如下所示: Ø 执行“SVN Update” Ø 若发生冲突,会出现如下对话框: 冲突部分的描述由“红色”字体表示,表示“stdafx.h”文件发生冲突 Ø 在“Conflicted”项指定
阅读全文
WPF中的Pack URI
摘要:问题 说来也简单:首先,我在WPF项目中建立了一个用户自定义控件(CustomControl),VS模板为我们自动生成了 CustomControl1和Theme文件夹(里边包含一个Generic.xaml): 接着,我想把它移动到一个新的类库(DLL)里去: 然后我添加了对类库的引用在WPF项目中
阅读全文
反射
摘要:反射 在看反射之前我们来看一下.Net源代码是怎么执行的: 我们看到.Net源代码是两次编译,一次执行的。在Visual Studio经过第一次编译生成程序集(.exe,.dll),就是IL(中间语言)和元数据,然后在经过CLR(公共语言运行库),将程序集编译成机器代码,机器代码在交给cpu去执行。
阅读全文
c# 应用NPOI 获取Excel中的图片,保存至本地的算法
摘要:1.新建一个Windows窗体应用程序 2.桌面新建一个excel,贴入两张图片 如下图: 3.在Form中拖入一个button 4.点击button,在点击事件方法中写入,要读取图片的方法:ExcelToImage 点击事件方法如下: 5.其中ExcelToImage方法事件如下: 结果: 注明:
阅读全文
C#组件系列——又一款Excel处理神器Spire.XLS,你值得拥有
摘要:正文 前言:最近项目里面有一些对Excel操作的需求,博主想都没想,NPOI呗,简单、开源、免费,大家都喜欢!确实,对于一些简单的Excel导入、导出、合并单元格等,它都没啥太大的问题,但是这次的需求有两点是NPOI搞不定的: 找了一圈资料,对于Excel生成pdf,网上的答案千篇一律:使用COM组
阅读全文
C#组件系列——又一款Excel处理神器Spire.XLS,你值得拥有(二)
摘要:一、基础入门 1、新建Workbook Spire.XLS提供了多种方式创建Workbook对象 1.1、新建空的Workbook 就这么简单生成一个Excel文件 1.2、根据物理路径生成Workbook 1.3、根据文件流生成Workbook 上篇我们演示过多次,对于Web里面的文件上传,多用此
阅读全文
.Net 中的反射(动态创建类型实例)
摘要:动态创建对象 在前面节中,我们先了解了反射,然后利用反射查看了类型信息,并学习了如何创建自定义特性,并利用反射来遍历它。可以说,前面三节,我们学习的都是反射是什么,在接下来的章节中,我们将学习反射可以做什么。在进行更有趣的话题之前,我们先看下如何动态地创建一个对象。 我们新建一个Console控制台
阅读全文
C#基础系列——小话泛型
摘要:前言:前面两章介绍了C#的两个常用技术:C#基础系列——反射笔记 和 C#基础系列——Attribute特性使用 。这一章来总结下C#泛型技术的使用。据博主的使用经历,觉得泛型也是为了重用而生的,并且大部分时候会和反射一起使用。这次还是打算围绕WWH(即What、Why、How)来讲解。 1、什么是
阅读全文
两种读写配置文件的方案(app.config与web.config通用)
摘要:第一种方法:采用MS现有的ConfigurationManager来进行读写 using System.Configuration; namespace Zwj.TEMS.Common { public abstract class ConfigHelper { private ConfigHelp
阅读全文
Winform应用程序实现通用遮罩层
摘要:Winform应用程序实现通用遮罩层 在WEB上,我们在需要进行大数据或复杂逻辑处理时,由于耗时较长,一般我们会在处理过程中的页面上显示一个半透明的遮罩层,上面放个图标或提示:正在处理中...等字样,这样用户体验就比较好了,然而如果在Winform客户端程序,通常遮罩层的处理就显得不那么简单或不那么
阅读全文
Winform应用程序实现通用遮罩层二
摘要:之前先后发表过:《Winform应用程序实现通用遮罩层》、《Winform应用程序实现通用消息窗口》,这两款遮罩层其实都是基于弹出窗口的,今天为大家分享一个比较简单但界面相对友好的另一种实现方案,废话不多说,直接进入主题。 一、实现思路(解决问题顺序): 透明遮罩: 1.实现可设置透明的Panel控
阅读全文
wpf 查找父元素、子元素方法
摘要:调用 1 List<StackPanel> initToolBarWeChatUserSp = GetChildObjects<StackPanel>(name,typeof(StackPanel)); 调用 1 Border tbBorder = FindParent<Border>(name);
阅读全文
WCF配置心得
摘要:根据蒋金楠老师的博文所说的, WCF的终结点有三个要素组成,分别是地址(Address)、绑定(Binding)和契约(Contract),简记可写成Endpoint = ABC。 地址:地址决定了服务的位置,解决了服务寻址的问题。 绑定:绑定实现了通信的所有细节,包括网络传输、消息编码,以及其他为
阅读全文
C#使用for循环移除HTML标记
摘要:public static string StripTagsCharArray(string source) { char[] array = new char[source.Length]; int arrayIndex = 0; bool inside = false; for (int i =
阅读全文
C#中利用LINQ to XML与反射把任意类型的泛型集合转换成XML格式字符串的方法
摘要:在工作中,如果需要跟XML打交道,难免会遇到需要把一个类型集合转换成XML格式的情况。之前的方法比较笨拙,需要给不同的类型,各自写一个转换的函数。但是后来接触反射后,就知道可以利用反射去读取一个类型的所有成员,也就意味着可以替不同的类型,创建更通用的方法。这个例子是这样做的:利用反射,读取一个类型的
阅读全文
c#中@的3种作用
摘要:以前只知道@在C#中为了写文件路径的\不要加转义符而在前面加上@标识符,没想到@还有其他的作用 1.忽略转义字符 例如 string fileName = "D:\\文本文件\\text.txt"; 使用@后 string fileName = @"D:\文本文件\text.txt"; 2.让字符串
阅读全文
C#中的let字句应用示例
摘要:一、应用场景 在查询表达式中,存储子表达式的结果有时很有用,这样可以在随后的子句中使用。 可以使用 let 关键字完成这一工作,该关键字可以创建一个新的范围变量,并且用您提供的表达式的结果初始化该变量。 一旦用值初始化了该范围变量,它就不能用于存储其他值。 但如果该范围变量存储的是可查询的类型,则可
阅读全文
用Newtonsoft将json串转为对象的方法(详解)
摘要:首先,将json串转为一个JObject对象: JObject jo = (JObject)JsonConvert.DeserializeObject(CurrentSelectedItemReq) JObject jo = (JObject)JsonConvert.DeserializeObjec
阅读全文
LINQ体验(6)——LINQ to SQL语句之Join和Order By
摘要:LINQ体验(6)——LINQ to SQL语句之Join和Order By 2008-01-24 14:01 by 李永京, 67477 阅读, 63 评论, 收藏, 编辑 Join操作 适用场景:在我们表关系中有一对一关系,一对多关系,多对多关系等。对各个表之间的关系,就用这些实现对多个表的操作
阅读全文
WCF开发实战系列一:创建第一个WCF服务
摘要:在这个实战中我们将使用DataContract,ServiceContract来构建WCF服务,并使用VS2008内置的“WCFSVCHost”运行我们创建的WCF服务,并使用“WCF测试客户端”来测试我们创建的服务。在此WCF服务中我们将建立一个关于Book的服务,并实现对Book的添加、删除和检
阅读全文