随笔分类 - C#.NET
Excel标题与索引的对应关系
摘要:/// /// 返回对应标题的索引 /// /// Excel定义列标题:大写字母 /// 索引从0开始 public static int GetColumnIndex(string columnTitle) { int len = columnTitle.Length ...
阅读全文
拼接LINQ动态表达式
摘要:using System; using System.Linq; using System.Linq.Expressions; public static class LinqBuilder { /// /// 默认True条件 /// /// /// public static Expression> True() { return f...
阅读全文
简单缓冲池代码
摘要:本笔记只作为学习标识,对代码不作注释!代码下载:下载使用方 protected void Button_Click(object sender, EventArgs e) { var dealThread = new DealThread(); dealThread.Pool(3); dealThread.DealFunction(Func);//可以去掉使用内部的处理方法 ThreadInfo.SetProxy(dealThread); } prot...
阅读全文
分享EF的Linq下的数值类型转为字符串类型
摘要:在项目中碰到一个Linq(Linq To Sql)的Int转为string的头痛问题,在网络上找了1个多小时无果...最后还是通过自己实践出来了。转换的方法很容易:引入容易空间:using System.Data.Objects.SqlClient;使用该命名空间里的SqlFunctions类的方法(顺便说一下:Linq To Sql也支持EntityFunctions,该类型的命名空间位于:)SqlFunctions.StringConvert(【数值字段】 * 1m).Trim() 数值字段 * 1m会产生一个Decimal的数值类型,就可以使用SqlFunctions.StringCo.
阅读全文
如何实例化接口
摘要:通常我们的业务交给暴露给外部使用的时候,一般情况会采用接口的方式,但有时候,我们也会也会为对外暴露的业务接口提供默认的操作方法。很多时候,我们在别人提供的接口的默认方法时候,很难找到该接口的对应该方法(比较规范的编程方式还好找,如果是杂草式的编程方式的话,估计找半天都找不到)由此,我们对该问题展开讨论解决。我们都知道“接口是不能实例化接口”的。如(错误):public interface IErrorFace{ void Error();}//错误的使用接口方式:IErrorFace ef = new IErrorFace();但我们可以通过实现接口来完成这一个功能。如(正确):publ...
阅读全文
调用WCF的一些看法
摘要:看了DUDU的两篇文章:文1:http://www.cnblogs.com/dudu/archive/2011/11/02/wcf_client_no_using_call.html文2:http://www.cnblogs.com/dudu/archive/2011/12/31/wcfclient.html基于这篇文章所描述的需要两种方式支持有无返回值的函数,在REF和OUT支持也会受限制今天有一种构想就是: public class ServiceInvoke<T> { public static T Invoke() { va...
阅读全文
如何编写属于自己的事件集合
摘要:public class MyEvent { /// <summary> /// 定义某一类事件的名称 /// </summary> private const string EventName = "MyEvent"; /// <summary> /// 定义某一类事件的名称 /// </summary> private const string EventName1 = "MyEvent1"; /// <summary> /// 事件集合 ...
阅读全文
一般窗体的设计方式
摘要:一般窗体的设计方式:包含有(搜索框、数据列表框、分页框)、由搜索返回的数据列表中是否包含“当前页码”、“页数量”的名称来决定显示分页功能。如果你的搜索框经常性出现大于10个字段的搜索的话,那么应该采用HashTable的参数传递。这样效率会提高一点点。当然,在这里的搜索框我只提供一个搜索的功能接口,但实际上,远远不止这么一个,比如批量删除、打印等等。视情况增减。设计图例:
阅读全文
c#动态创建内存模型(笔记)
摘要:支持可为Null的模型属性:基础:值类型是继承ValueType、对象类型是继承ObjectType;因此,我们只要看基类型属于那种就可以添加:“?” ///<summary> /// 动态创建内存模型 ///</summary> public class CreateDnyModel { ///<summary> /// Dictionary {属性名称,属性类型} ///</summary> private Dictionary<string, Type> dicList = new Dictionary...
阅读全文
implicit 与 explicit 的区别(笔记)
摘要:public class RMB { public int Yuan = 0; public RMB(int yuan) { Yuan = yuan; } public static RMB operator +(RMB rmb1, RMB rmb2) {//一式 return new RMB(rmb1.Yuan + rmb2.Yuan); } public static implicit operator int(RMB r...
阅读全文
c#如何计算当月季度时间段
摘要:先列个CODE出来 public void MadeDateTime(DateTime standTime, out DateTime? startTime, out DateTime? endTime) { //1~3;4~6;7~9;10~12 //1-4-7-10 int baseMonth = standTime.Month - 1; int MonthLen = baseMonth / 3; startTime = new DateTime(sta...
阅读全文
控制台关闭的特殊处理
摘要:C#处理控制台关闭的时候调用了public delegate bool ConsoleCtrlDelegate(int ctrlType);[DllImport("kernel32.dll")] private static extern bool SetConsoleCtrlHandler(ConsoleCtrlDelegate myHandler, bool add);static Main(){ConsoleCtrlDelegate consoleDelegete = new ConsoleCtrlDelegate(MyHandler);SetConsoleCtrlH
阅读全文
C#3.0分部份方法
摘要:例程: class Program { static void Main(string[] args) { MyClass mc=new MyClass(); mc.write(); Console.Read(); } } //分部份方法 partial class MyClass {//方法声明类 partial void myFirstMothed(); public void write() { Console.WriteLine(i); myFirstMothed(); Console.WriteLine(i); } } partial class MyClass {//方法实现类 p
阅读全文
关于使用“状态模式”做工作流概要。
摘要:最近,以前一名同事问了一下工作流的事情,我现在将太概的模式写一下。临时写的,可能有点乱,如果需要创建一个新的工作流模板的时候请新建一个工作流序列类,职责单一便于维护。using System;using System.Collections.Generic;using System.Text;namespace WF{ /// <summary> /// 工程名称:通过工作流状态进行工作流管理 /// <para>Author:Evan Lee</para> /// <para>编写时间:2011-05-08</para> /// &
阅读全文
关于SSO的点点滴滴....(未完)
摘要:进度会比较慢,因为平时实在抽不出时间:概要设计图--->粗略登录设计--->模型设计--->SSOWeb与SSOService内部数据通信设计图--->WebSite与SSOService外部通信设计图--->会话超时策略设计---->数据库设计图-->SSOService编码--->SSOWeb编码--->WebSite通信编码--->测试(非严格)--->上传源代码。、SSO设计概要图:二、登录设计图 原来打算将每种情况都画出来,后来想想,还是合并成一张图直观一些。三、模型设计图片:四、内部通信类设计图五、MongoDB数据
阅读全文
俺也来卖盐
摘要:话说最近风波不少啊,俺也来买“盐了”/// <summary>/// c#专用盐/// </summary>public class 盐{public 盐(){List<string> 味 = new List<string>();味.Add(味道集.咸.ToString());味道 = 味;//.....}[Flags]public enum 味道集{咸}public struct 盐的棱角坐标{public double X;public double Y;public double Z;}public struct 成份功效{public
阅读全文
如何设计模型
摘要:通常情况,我们在设计模型的时候基本上是按照都是按照对象的属性都合并在一个模型中,其实当在设计这个对象的模型的时候,我们有没有考虑过模型粒度细化呢,虽然模型粒度细化会提高维度的成本,但是也提高的系统的灵活性,首要条件就是模型的粒度细化要合理化。(本文只讲设计不讲模型属性字段的属性问题)1、通常的模型设计2、细化的模型设计3、讨论一下C#的类框架继承问题一、通常的模型设计:回忆一下,平时我们在设计模型的时候是不是都按对象的属性设计呢?比如以下:其实我们回头看看这个设计方法是不是存在了一个重复的属性呢(可能由于国人还是比较喜欢做重复的事情吧,包括我也被强逼写重复的东西,唉)?为什么我们不能将模型先设
阅读全文
我们应该怎么样设置枚举
摘要:很多朋友认为设置枚举还不容易,如以下代码就OK了,我们看看上面的代码,这样的设置的确没错,但确没有考虑到一个复用性的效果。很多时候,我们能够看到WINDOW的一个枚举能够并用,如:Test t=Test.Add|Test.Del,等等那么我们怎么样才能设置这样的枚举呢?下面我们来看一段枚举代码:1、[Flags]在C#的枚举中:Flags属性很重要,因为她可以将你的枚举中的类型转成字符串。2、public enum Popendom : int这个枚举继承的int类型,也就是起到约束的作用。3、枚举设置值,很多认为里面的值是可以随意设置的,但其实里面有个设置技巧,视项目的需求不同的。在设置可并
阅读全文