C# 6.0 新特征 Demo
摘要:1 using System; 2 using System.Collections.Generic; 3 using System.Text; 4 using static System.Math; 5 6 namespace ConsoleApp1 7 { 8 public class CSharp6 9 { 10 //属性默认值 11 ...
阅读全文
posted @
2019-08-21 14:33
极简
阅读(173)
推荐(0) 编辑
itextSharp 使用模板(PdfTemplate)不规则分栏(ColumnText)
摘要:1 public static void Main() 2 { 3 4 Document document = new Document(); 5 BaseFont bf = BaseFont.createFont(Base...
阅读全文
posted @
2014-06-28 12:55
极简
阅读(527)
推荐(0) 编辑
itextSharp 对pdf的每个页面添加footer/header
摘要:1 static void SetAllHeaderFooter(string inputPath) 2 { 3 4 PdfReader reader=new PdfReader(inputPath); 5 PdfStamper...
阅读全文
posted @
2014-06-28 12:55
极简
阅读(1452)
推荐(0) 编辑
ean128与code128 条形码 算法分析
摘要:【code128条形码组成】除终止符(STOP)由13个模块组成外,其他字符均由11个模块组成就是说,如果用‘1’表示黑线(实模块),用‘0’表示白线(空模块),那么每表示一个字符就需要11条线,也就是11个模块。在条码字符中,每三个条和三个空组成一个字符,终止符有四个条和三个空组成。就是说,这11...
阅读全文
posted @
2014-06-28 12:54
极简
阅读(4508)
推荐(0) 编辑
CodeFirst 表之间的关联
摘要:多重性关系可以是Optional(一个属性可拥有一个单个实例或没有)Required(一个属性必须拥有一个单个实例)Many很多的(一个属性可以拥有一个集合或一个单个实例)。Has方法包括如下几个:• HasOptional• HasRequired• HasMany在多数情况还需要在Has方法后面...
阅读全文
posted @
2014-06-27 14:03
极简
阅读(848)
推荐(0) 编辑
windows azure 实例
摘要:1 public class Album : TableServiceEntity 2 { 3 } 4 public class PhotoAlbumDataContext : TableServiceContext 5 { 6 pu...
阅读全文
posted @
2014-06-27 13:59
极简
阅读(418)
推荐(0) 编辑
C# 实现 Aop [Emit动态生成代理类方式]
摘要:1 using System.Reflection; 2 using System.Reflection.Emit; 3 public static class DefaultProxyBuilder 4 { 5 private static readonly Type VoidType = Type.GetType("System.Void"); //函数返回 void类型 6 7 public static T CreateProxy<T>() 8 { 9 Type...
阅读全文
posted @
2013-03-16 15:54
极简
阅读(1645)
推荐(0) 编辑
C# 实现 Aop [继承ContextBoundObject方式]
摘要:AopAttribute 1 [AttributeUsage(AttributeTargets.Class, AllowMultiple = false)] 2 public class AopAttribute : ProxyAttribute 3 { 4 private IAopProxyBuilder builder=null; 5 public AopAttribute(Type builderType) 6 { 7 this.builder = (IAopProxyBuilder)Activator.C...
阅读全文
posted @
2013-03-16 15:54
极简
阅读(2071)
推荐(0) 编辑
Spring.Net Aop
摘要:Spring.Net 有四种通知:IMethodBeforeAdvice,IAfterReturningAdvice,IMethodInterceptor,IThrowsAdviceBeforeAdvice 1 using System.Reflection; 2 using Spring.Aop; 3 public class BeforeAdvice : IMethodBeforeAdvice 4 { 5 public void Before(MethodInfo method , object[] args , object target...
阅读全文
posted @
2013-03-16 15:53
极简
阅读(567)
推荐(0) 编辑
Spring.Net Ioc 实例
摘要:配置文件 import.xml 1 <?xml version="1.0" encoding="utf-8" ?> 2 <objects xmlns="http://www.springframework.net" xmlns:aop="http://www.springframework.net/aop"> 3 4 <!--带参数的构造函数--> 5 <object id="HelloWorld1" type="IocApp.HelloWor
阅读全文
posted @
2013-03-16 15:53
极简
阅读(264)
推荐(0) 编辑
NBear实例讲解
摘要:Nbear的接口主要是调用ObjectConvertor类的3大类方法:ToObject,ToList,ToDataTable。主要功能:不同类型的对象可以通过类型属性的映射,进行转换,包括类与接口。对于两种类型毫无继承关系,且两种类型的数据需要转换时,Nbear是很有用的。另外Nbear是开源代码,在类型转换的过程中,主要使用 System.Reflection.Emit;反射来取值并赋值到新对象。使用IL编程一定程度上提高了程序的效率。要研究IL的网友,可以认真研究一下其源码。数据模型 1 public interface IUser 2 { 3 4 stri...
阅读全文
posted @
2013-03-16 15:52
极简
阅读(387)
推荐(0) 编辑
Nbear讲解 之核心类CodeGenerator
摘要:以下是CodeGenerator类用的一些辅助类:Cmp比较类型 1 /// <summary> 2 /// Cmp 3 /// </summary> 4 public enum Cmp 5 { 6 /// <summary> 7 /// LessThan 8 /// </summary> 9 LessThan,10 /// <summary>11 /// EqualTo12 /// </summary>13 EqualTo,14 ...
阅读全文
posted @
2013-03-16 15:52
极简
阅读(398)
推荐(0) 编辑
索引器的本质
摘要:讲索引器的本质前,先说说属性的本质,在IL里面我们可以清楚地看到,属性的get和set两个访问器,其实就是直接调用类里面定义的两个方法: set_属性名|get_属性名.所以访问属性的途径,除了反射获取Propertie以外,我们可以绕过属性对象,直接调用set_属性名|get_属性名方法。索引器除了具备属性的特性之外,索引器所对应的属性名必须为Item,如果一个类中定义了索引器,又定义了一个名为Item的属性,结果就会提示同名的错误.除此之外,从IL中看出,属性本身就是特殊的方法,一般的属性都不带参数,而索引器至少带一个参数.如图: 1 public class getset 2 ...
阅读全文
posted @
2013-03-16 15:51
极简
阅读(314)
推荐(0) 编辑
接口 显式实现 反射
摘要:接口的显式实现,需要转为接口来调用.如下图,该方法不仅是私有的,而且是虚类型的。反射无法取到私有方法,所以也就无法通过反射该类来调用显式实现方法。此时可以考虑使用接口类型反射来调用。在多接口继承,并且接口多层次时,需要弄清楚最终实现的类到,是否多次包含最顶层接口的方法例如B继承A,C继承A,而D继承B,C, 此时D是实现一个A还是两个A,答案是一个A。也就是D的实现,不是实现B中A的方法,跟C中A的方法,而是分别实现,A,B,C所定义的方法。 1 public interface ISpeakor 2 { 3 void Speak(); 4 } 5 ...
阅读全文
posted @
2013-03-16 15:51
极简
阅读(349)
推荐(0) 编辑
C# 协变与逆变 有何实用性剖析
摘要:【协变】 主要体现在泛型中,更大地兼容返回值的类型【逆变】继承类的操作类/操作方法参数,可以用基类的操作类/操作方法进行复用,不需要重复定义. 实际开发中,如果不同控件 响应相同的操作,正常情况下,由于不同的控件事件的委托不同,要写两个操作函数。 在逆变的情况下, 就可以简化为一个事件参数使用 System.EventArgs类型,也就是基类型。 现在自动生成的事件函数都是一下格式: DoEvent(object sender, System.EventArgs e)。【接口中的应用】 逆变:TypeBookBase类的ShowSort()方法,使用继承于IComparer<Book&g
阅读全文
posted @
2013-03-16 15:48
极简
阅读(501)
推荐(0) 编辑
持久层框架:Db4objects [Db4objects.Db4o.dll]
摘要:DBContext 1 public class DBContext 2 { 3 private static IObjectContainer _db; 4 public static IObjectContainer DB 5 { 6 get 7 { 8 if (_db == null) 9 {10 11 _db = Db4oFactory.OpenFile(Path);12 }13 ...
阅读全文
posted @
2012-12-09 14:16
极简
阅读(464)
推荐(0) 编辑
检测 邮箱地址 是否存在[C#]
摘要:[检测某个邮箱地址是否存在]CheckEmail 1 public class CheckEmail 2 { 3 private static string mailQQ = "http://emailreg.qq.com/cgi-bin/signup/ajaxcheckmail?type=1&email={0}"; 4 private static string mailFox = "http://emailreg.qq.com/cgi-bin/signup/ajaxcheckmail?type=3&email={0}"; 5 priv
阅读全文
posted @
2012-12-09 14:15
极简
阅读(670)
推荐(0) 编辑
正则表达式详解[C#]
摘要:正则表达式常用功能:匹配,捕获,替换。匹配是基础,捕获是关键,替换就是在前面基础上调整一下位置。[url重写:正则表达式替换]1 string lookFor="^~/root/(\w{1,20})/somepage/(\d{1,8})/(\w)*?/(\d{1,8}).aspx$"2 string...
阅读全文
posted @
2012-12-09 14:15
极简
阅读(444)
推荐(0) 编辑
Url 相关操作
摘要:【301重定向】1 static void Redirect301(string url)2 {3 HttpContext.Current.Response.StatusCode = 301;4 HttpContext.Current.Response.RedirectLocation = url;5 HttpContext.Current.Response.End();6 }【串行参数】1 static string GetQueryString(NameValueCollection list)2 {3 StringBuilder sb...
阅读全文
posted @
2012-12-02 17:23
极简
阅读(191)
推荐(0) 编辑
C# 加密算法[汇总]
摘要:【散列类型】 不可逆,严格说不算加密算法,是一种保证数据完整性的算法或数字签名.MD5 1 public static string EnMd5(string str) 2 { 3 string pwd = ""; 4 MD5 md5 = MD5.Create(); 5 //注意编码UTF8/Unicode 6 byte[] s = md5.ComputeHash(Encoding.UTF8.GetBytes(str)); 7 for (int i = 0; i < s.Length; i++) 8 { 9 pwd = ...
阅读全文
posted @
2012-12-02 17:19
极简
阅读(915)
推荐(0) 编辑