- 博客(1863)
- 资源 (17)
- 收藏
- 关注
转载 泛型类型的转换,协变和逆变
协变(Convariant)和逆变(Contravariant)的出现,使数组、委托、泛型类型的隐式转换变得可能。 子类转换成基类,称之为协变;基类转换成子类,称之为逆变。.NET4.0以来,支持了泛型接口的协变和逆变。 泛型协变如果子类泛型隐式转换成基类泛型,使用泛型协变。 有这样的2个基类和派生类。public class Animal { public virtu
2014-07-17 22:50:52 3737 2
原创 利用Attribute标记方法的调用权限
假设我们有这么一个标记来说明操作的权限: /// /// 声明权限的标记 /// [AttributeUsage(AttributeTargets.Method)] public class PermissonAttribute : Attribute { public string Role { get; set; }
2014-07-15 10:17:48 3338
原创 Visual Studio 2013 安装和部署中没有安装向导
http://visualstudiogallery.msdn.microsoft.com/9abe329c-9bba-44a1-be59-0fbf6151054d?SRC=VSIDE
2014-06-24 13:46:12 6912
原创 左右编码树的通用SQL语句
关于左右编码树,看我转载的一片文章http://blog.csdn.net/lee576/article/details/18939657左右编码树的好处不多说了,下面是操作左右树的SQL假设有如下数据表ResultID为表主键,LeftID为左值编码,RightID为右值编码-- 查询树节点(带级别),按照前序遍历排序SELECT tree2.ResultID , tree2
2014-04-21 23:02:01 1486
原创 正确使用MVP模式
目前做这个产品也有一段时间了,其中MVP模式用的非常的频繁,但是很多时候没有用对,MVP模通常是这样Model 层, IVeiw 视图接口层, View视图层, Presenter层Model层存着业务逻辑和数据处理, Presenter 则裁决如何处理用户的请求,IView 则是把Presenter和Veiw 之间进行解耦,使Presenter可以不依赖于具体的视图, View 通过Presen
2014-04-21 22:23:51 3105 2
原创 .net环境下,服务器端运行Javascript
春节以前,老总说要把代码重构的时候,曾经问我可不可以在winform中运行Javascript.当时我想都没想就否定了(之前只知道一个node.js是在服务器端跑的,但那不具代表性,它只是一个JS库),觉得一个在浏览器里跑的玩意怎么可能在桌面程序里运行.通过这段时间对.net的DLR的研究,我觉得自己实在是眼界太小,见识不多,如此草率都就否定了这个问题.实际上支持在.net服务器端跑Javascr
2014-03-09 12:05:11 2370
原创 .net桌面应用程序的缓存MemoryCache
在.net 4 里面添加一个缓存类MemoryCache我们都知道在asp.net 中有一个缓存类System.Web.Caching.Cache,在winform或是wpf中也可以使用,但要引用System.Web.dll 这个dll是为web设计的,用来引用在桌面应用程序里面,似乎不太合适,于是MemoryCache类就诞生了!下面是它的MSDN的解释http://msdn.microsoft
2014-03-02 22:54:31 9259
原创 测试工具选型资料
首先拿测试种类来分,有黑盒测试工具和白盒测试工具黑盒测试和白盒测试对比 黑盒测试主要是为了发现以下几类错误:1、是否有不正确或遗漏的功能?2、在接口上,输入是否能正确的接受?能否输出正确的结果?3、是否有数据结构错误或外部信息(例如数据文件)访问错误?4、性能上是否能够满足要求?5、是否有初始化或终止性错误? 白盒测试主要是想对程序模块进行如下检查:1、对程序模块的所有独立的执行路径至少测试一遍。
2014-02-26 11:06:18 1813 1
原创 在C#中解决动态计算表达式的问题(如字符串"Sin(1)+Cos(2)",执行并得出结果)
在C#中解决动态计算表达式的问题(如字符串"Sin(1)+Cos(2)",执行并得出结果)
2014-02-20 16:14:25 8328 1
原创 C#让枚举返回字符串
下面的手段是使用给枚举项打标签的方式,来返回字符串下面分别定义一个属性类,和一个枚举帮助类 [AttributeUsage(AttributeTargets.Field,AllowMultiple = false)] public sealed class EnumDescriptionAttribute : Attribute { private strin
2014-02-20 10:32:33 10902 1
转载 两个数据库比较 对比视图存储过程及表结构差异
一、视图和存储过程比较【原理】利用系统表“sysobjects"和系统表“syscomments”,将数据库中的视图和存储过程进行对比。系统表"sysobjects"之前有详细介绍过,有兴趣可以看看:SQL Server系统表sysobjects介绍与使用【代码】/*--调用示例 exec p_compdb 'DBNAME1','DBNAME2' exec p_compdb 'DBNAME2','
2014-02-19 13:11:39 5016
原创 vs2013代码搜索的插件(Bing Code Search)
中文介绍http://www.csdn.net/article/2014-02-18/2818442-Microsoft-Visual-Studio-2013-Bing-Code-Search下载地址http://visualstudiogallery.msdn.microsoft.com/a1166718-a2d9-4a48-a5fd-504ff4ad1b65
2014-02-18 21:46:01 5327
原创 C#使用比较操作符(!=、<、>、<=、>=)的字符串构造Lambda表达式树,并生成委托执行
下面是一个把C#使用比较操作符的字符串作为参数来构造一个委托比如我告诉一个方法,我现在要比较x,y两个值,但具体是大于,还是小于,还是其它,我用操作符的字符串来当成参数,比如传递一个">"字符串给函数,我是要比较x是否大于y实现代码如下:using System;using System.Linq.Expressions;class DynamicPredicate{ public
2014-02-17 21:34:44 3237
原创 C#利用Lambda表达式树简化函数调用
没有使用表达式树的代码 //公式参数名称 var parameterNameGroup = GetGroupSetUpParameters(formulaElements, "ParameterNameGroup"); //公式参数范围 va
2014-02-17 16:44:20 3844
原创 从WinForm的CAB/SCSF转向WPF的Prism?
最近做的公司的这个产品应该从2010年开始做的,那时用的是基于WinForm的CAB/SCSF框架,其实WPF的Prism自2008年就在网络上出现了,不知道公司为什么没有采用.大家都知道,WPF应是可以完全取代WinForm技术的,无论是界面布局的能力,适应屏幕分辨率的能力,设计美观的能力,动画的能力,甚至是程序结构,没有一样不比WinForm强,那么CAB/SCSF框架有没有适用于WPF的对应
2014-02-17 10:40:30 4360
原创 数据库存储树形结构的数据
最近接触树形结构数据非常的多,几乎超过了过去8年多,开发所有系统的总和.本来嘛,一般的递归就可以解决了,可是这个系统中总是需要频繁的访问树结点,及父结点,子结点,动不动就要递归,且树的使用非常之多,做的多了搞的人都要呕吐了,下面在网上找到几篇比较有用的资料,记录汇总一下.首先,数据库不一定要用传统的关系型数据库,因为传统关系库有一些很难做到或者做起来非常麻烦的功能,尤其是父子关系特别复杂的时候,这
2014-02-05 15:28:26 33150 1
原创 IronPython 与 c# 交互之导入Python模块的两种方法
当我们要在C#中调用python时,有时候需要用到python里的一些函数,比如进行一些数学运算,开方,取对数,这个时候我们需要用到python里的math模块(类似C#的命名空间,但概念不完全一样).那么在C#中要导入python的模块有两种方法方法一ScriptSource source = engine.CreateScriptSourceFro
2014-02-04 13:24:27 10734 5
转载 最近写树的递归绑定写腻了,发现一篇好文章
由于前两个月加班,代码写的比较多,而且很多树的递归绑定,写的我不厌其烦,自己最后也写了一个套通用方法,但今天看到这个仁兄的方法,自觉人家写的更抽象通用一些,仅做参考原文链接如下http://www.cnblogs.com/francisYoung/p/3383178.html封装一个通用递归算法,使用TREEITERATOR和TREEMAP来简化你的开发工作。在实际工作中,你肯定会经常的对树进行遍
2014-01-26 14:42:12 1779
原创 IronPython 与 c# 交互测试程序
这个程序只是一个简单测试,在前两个文本框里输入数字,在最后一个文本框里出现结果,只不过是调的python的脚本运算using IronPython.Hosting;using Microsoft.Scripting;using System;using System.Windows.Forms;namespace IronPython{ public partial class
2014-01-23 22:35:32 2805
原创 xml中空格,Tab,回车,换行
空格 (& #x0020;) Tab (& #x0009;) 回车 (& #x000D;) 换行 (& #x000A;)要记得用得时候要把"&"和"#"之间的" "去掉
2014-01-23 21:34:55 6944
原创 Sql Server 2008的动态交叉表
今天又帮别人写了一段动态交叉表,几年没搞了,生疏了点,马上再记录一下DECLARE @S VARCHAR(MAX)SET @S = ''SELECT @S = @S + ',[' + TypeName + ']'FROM View_Analogy_DynamicQueryGROUP BY TypeNameSET @S = STUFF(@S, 1, 1, '')DECLARE
2014-01-23 14:52:46 3608
原创 VB/C# .Net to Python Code Converter
之所以使用这个转换是因为我试了几个在线的转换器都不成功,唯有这个可用,赞一个在线转换,网址如下http://www.digitalcoding.com/tools/vb-csharp-to-python-code-converter.html
2014-01-23 09:33:24 1730
转载 ORACLE行转列通用过程
1.使用视图123456789101112131415161718192021222324252627create or replace procedure row_to_col(tabname in varchar2, group_col in varchar2,
2014-01-16 09:02:03 1209
原创 T-SQL中找出一个表的所有外键关联表
二种方法(下例中表名为T_Work)1.SQL查询SELECT 主键列ID=b.rkey ,主键列名=(SELECT name FROM syscolumns WHERE colid=b.rkey AND id=b.rkeyid) ,外键表ID=b.fkeyid ,外键表名称=object_name(b.fkeyid) ,外键列ID=b.fkey
2014-01-10 14:29:36 4577
原创 UltraGrid单元格放多个图片
private void ultraGrid1_InitializeRow(object sender, InitializeRowEventArgs e){ // Get the images that we might want to show in the cell. // You could optimize this method by caching the Bitm
2014-01-02 19:33:51 1748 1
转载 List转换成DataSet
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; namespace WebApplication2 { p
2013-12-28 00:27:16 1443
转载 Lambda 表达式编写递归
12345678public delegate TFunction RecursiveLambda(Func self);public delegate TFunction RecursiveOperator(RecursiveOperator self); public static TFunction Y(RecursiveLambda lambda){ RecursiveOperato
2013-12-26 13:49:49 1743
原创 一个UltraTree结点拖动到另一个UltraTree上面
using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Forms;using System.Data;using Infragistics.Win;using Infragistics.Win.UltraWinTree;u
2013-12-16 10:51:52 1511
原创 UltraGrid中绑定UltraTextEditor在AfterEditorButtonCloseUp事件中获得所属UltraGridCell
private void AfterEditorButtonCloseUp(object sender, EditorButtonEventArgs e){ if (e.Context != null) { var cell = e.Context as UltraGridCell; }}
2013-12-14 09:56:33 1641
原创 从UltraGridCell或UltraGridRow获得所属的UltraGrid对象
cell.Band.Layout.Gridrow.Band.Layout.Grid
2013-12-13 22:51:31 2317
原创 用Linq给DataTable或DataRows 去重
DataRow[] unitRows = taskUnitDb.Select("GeoID=" + rootNode.ObjEntity.ObjID + " and NavigateID=" + rootNode.ObjEntity.NavigateID + " and UnitID=" + unitI
2013-12-07 16:15:47 4666
原创 XML有关键字无法识别怎么办?
比较XML会视为标记的开始结束,这时候就需要用 把你需要写入的结点内容括起来,如下 <![CDATA[ SELECT b.CalculatorUnitID , b.BackupYear , a.UnitID , a.UnitName , a.GeoID ,
2013-12-04 16:54:50 2302
转载 C# 的函数编程
http://www.oschina.net/translate/functional-programming-in-csharp?print
2013-12-01 23:40:15 1176
转载 VisualStudio自动编码插件(Autocode——devprojects.net)
今天无意之中发现了一个VS插件,功能还不错,推荐给大家。官网http://www.devprojects.net/有以下一些功能:智能感知!快速命令调用,只需按Ctrl +回车T4和ASPX一样的语法来生成代码在Visual Studio编辑器编辑代码片段Visual Studio自动化对象的完全访问FileCodeModel访问,SmartFormat,代码替代,光标定位更超过100个有用的命令
2013-12-01 00:00:50 2197 1
原创 复制整个文件夹下的文件(无限递归复制子文件夹)
//复制文件夹 public bool CopyDirectory(string srcdir = "", string desdir = "", bool result = false) { try { string folderName = ""; s
2013-11-23 15:07:16 4722 2
原创 UltraWinGrid单元格绑定Tree,双击Tree结点,返回结点值到单元格
重点是把要放Tree的那个单元格用一个全局变量保存,在事件中好给它赋值using System;using System.Collections.Generic;using System.Data;using System.Linq;using System.Windows.Forms;using Infragistics.Win;using Infragistics.Win.Ultr
2013-11-13 13:04:56 1940
转载 oracle实现id自增长
在表单增加数据时不需要用户输入id值,是通过自增加来实现的实现方法:--先建一个序列号:create sequence autoidincrement by 1start with 1minvalue 1maxvalue 9999999--建立一个触发器 create trigger trg_bs_company before insert on bs_company
2013-10-30 10:02:50 1208
转载 SCSF - Part 10 Commands in the CAB
IntroductionPart 9 of this series of articles discussed the Command design pattern. Commands in the CAB are a neat way of implementing this pattern. This article will examine them in some detail.Comma
2013-10-18 15:40:02 1376
.net 8 + Azure 登录 + Ant Design Blazor
2024-04-18
Advanced.Installer.v13.1注册机
2016-09-19
MySQLBackupFTP及注册工具
2016-09-19
AlwaysUp8.5及注册机
2015-09-25
数据库数据互导及文档生成工具(IT人员必备)
2015-01-19
类似SCSF中EventBroker解耦事件调用方和接受方,打破"+="带来的耦合
2014-08-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人