C#特性
henreash
Think Differently.
展开
-
设计模式简化记忆
1、设计7大法则类与接口要单一,(单一原则)依赖接口要最少。(接口隔离)设计面向是接口,(依赖反转)聚合组合少继承。(里氏替换,过多的继承重写,导致里氏替换法则被破坏)扩展不改封装类,(开闭法则,新增功能不能去修改已有实现)核心目标降耦合。(开闭法则是7大法则的核心)预测变化早分离,(设计过程中预测到可能发生的变化,早做规划,将稳定功能和易变功能区别对待)改善系统扩展性。2、uml类图参数返回叫依赖,(做类的成员函数参数和返回值的其他类,构成了依赖关系)成员.原创 2020-11-06 12:27:11 · 393 阅读 · 0 评论 -
自动表单生成工具说明(后端、桌面、web、移动端)
功能描述:使用模型编辑工具编辑模型,每个模型对应数据库一张表,内含多个字段。 从模型生成数据库(现支持sqlite)。 从模型生成golang微服务代码,并自动进行编译。 从模型生成winform dll项目,并可自动编译、拷贝dll到模型工具同目录下、生成模型工具菜单配置文件,重启模型即可看到新的表单菜单,打开对应表单,编辑数据。 从模型生成vue项目,并可自动安装依赖,启动开发测试...原创 2020-02-16 00:08:10 · 2739 阅读 · 2 评论 -
C#异步编程
所谓同步:如果在代码中调用了一个方法,则必须等待该方法所有的代码执行完毕之后,才能回到原来的地方执行下一行代码。异步:如果不等待调用的方法执行完,就执行下一行代码。同步例子:namespace AsyncProgram{ class Program { //Calculate the folder's total size private转载 2014-10-17 08:46:21 · 1404 阅读 · 0 评论 -
C# spring IOC测试
从网上下载Spring.net,解压后得到源码和编译好的dll。新建项目,添加Common.Logging.dll、Spring.Core.dll引用。Spring.net的IOC配置可以采用独立的xml,也可以使用应用程序的配置文件。为了方便管理,这里将配置写入应用程序配置文件中。首先在应用程序配置文件的节点中添加:原创 2014-12-17 09:21:29 · 2776 阅读 · 0 评论 -
C# Spring AOP测试
1、新建库AOPCommon,里面定义一个接口ICommand: namespace AOPTest.BLL{ public interface ICommand { void Execute(); void UnExecute(); }} 2、新建库AOPBLL,引用AOPCommon,定义一个类实现ICommand接口: namespace AOP原创 2014-12-24 14:47:29 · 2582 阅读 · 0 评论 -
ActiveRecord测试
1、下载Castle.ActiveRecord-3.0.RC,新建项目,将下载到的包中所有dll引入到项目中。2、连接数据库 1)配置文件的方式: 在EXE输出目录中新建一个appconfig.xml: key="connection.driver_class" value="NHibernate.Driver.SqlClientDr原创 2014-12-30 09:43:50 · 1653 阅读 · 0 评论 -
Pre-compile (pre-JIT) your assembly on the fly, or trigger JIT compilation ahead-of-time
IntroductionAll .NET developers know that one of the best features of the CLR is JIT-compilation: Just-In-Time compilation. Its name describes how it works: right before calling your method (just in t转载 2015-04-10 11:07:46 · 1775 阅读 · 0 评论 -
Log4net测试笔记
到官网下载release版后,找到对应framework的dll,将这个dll引用到winform项目中,在原创 2014-10-24 13:31:21 · 998 阅读 · 0 评论 -
.net4.0使用yield避免异步操作大量回调嵌套
在.net4.0以上版本,提供了async、await关键词,可以很好的解决异步操作代码顺序问题,可以像写同步代码一样顺序编写代码,非常容易阅读。但.net4.0中的异步还是要依赖回调,代码嵌套层次过多,看代码的时候容易晕。 比如软件中有一个工作线程,接收工作任务,任务执行完毕后,通知调用方,调用方继续下发任务,这些任务顺序执行,组合起来完成一个功能。//工作线程对象privat...原创 2017-07-20 21:29:25 · 1194 阅读 · 0 评论 -
101 Rx Samples
Rx 范例Start 方法- 异步运行代码异步后台操作public static void StartBackgroundWork() { Console.WriteLine("Shows use of Start to start on a background thread:"); var o = Observable.Start(() => { ...翻译 2018-07-06 11:25:00 · 517 阅读 · 0 评论 -
C#中使用MongoDB4的事务
Mongo4终于支持事务了,可适用于更多应用场景!连接数据库: private const string connUrl = "mongodb://127.0.0.1:27017"; /// <summary> /// 指定的数据库 /// </summary> private cons...原创 2018-12-06 16:50:05 · 3306 阅读 · 0 评论 -
C#中的async和await
1、函数内部使用await则函数声明必须使用async;2、await一个任务,则会等待执行完毕,才会继续执行后面的代码,但不阻塞UI界面刷新;3、await一个Task,即启动一个新的线程,并等待线程执行完毕,才继续执行后面的代码;4、await的内容在新线程中执行,执行完毕后,会切换到当前线程继续执行;可使用ConfigureWait方法调整这种行为,后续代码在线程池中执行;5...原创 2018-12-28 20:37:12 · 954 阅读 · 0 评论 -
C#的Timer
再C#里现在有3个Timer类:· System.Windows.Forms.Timer· System.Threading.Timer· System.Timers.Timer这三个Timer我想大家对System.Windows.Forms.Timer已经很熟悉了,唯一我要说的就是这个Timer在激发Timer.Tick事件的时候,事件的处理函数转载 2014-11-26 14:46:24 · 1620 阅读 · 0 评论 -
在C#中SendMessage和PostMessage的参数传递(包括对象和字符串)
在C#中可以使用Window API提供的SendMessage和PostMessage来传递参数。两者的区别简单介绍下:返回值的不同,我们先看一下 MSDN 里的声明:LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);BOOL PostMessage(HWND hWnd,UIN...转载 2014-10-16 09:47:54 · 11972 阅读 · 0 评论 -
Net 中的反射(反射特性) - Part.3 (收藏转帖http://blog.csdn.net/xxw_come/archive/2008/03/24/2213897.aspx)
反射特性(Attribute)可能很多人还不了解特性,所以我们先了解一下什么是特性。想想看如果有一个消息系统,它存在这样一个方法,用来将一则短消息发送给某人:// title: 标题;author:作者;content:内容;receiverId:接受者Idpublic bool SendMsg(string title, string author, string content, in转载 2008-03-26 11:39:00 · 1092 阅读 · 0 评论 -
.net多线程编程的经验(收藏转帖http://www.cnblogs.com/hzuIT/articles/924757.html)
这两天写了几个多线程的程序,刚有点心得体会以,准备写出来。没想到有同仁已写出来了,那就借鉴一下吧,原文如下:.Net提供了许多多线程编程工具,可能是因为太多了,所以掌握起来总是有一些头疼,我在这里讲讲我总结的一些多线程编程的经验,希望对大家有帮助 不需要传递参数,也不需要返回参数我们知道启动一个线程最直观的办法是使用Thread类,具体步骤如下<!-- Code hig转载 2008-03-28 16:52:00 · 3897 阅读 · 1 评论 -
Net 中的反射(查看基本类型信息) - Part.2 (收藏转帖http://blog.csdn.net/xxw_come/archive/2008/03/24/2213888.aspx)
反射概述 和Type类1.反射的作用简单来说,反射提供这样几个能力:1、查看和遍历类型(及其成员)的基本信息和程序集元数据(metadata);2、迟绑定(Late-Binding)方法和属性。3、动态创建类型实例(并可以动态调用所创建的实例的方法、字段、属性)。序章中,我们所采用的那个例子,只是反射的一个用途:查看类型成员信息。接下来的几个章节,我们将依次介绍反射所提供的其他能力。2原创 2008-03-26 11:37:00 · 1210 阅读 · 0 评论 -
Net 中的反射(序章) - Part.1 (收藏转帖http://blog.csdn.net/xxw_come/archive/2008/03/24/2213678.aspx)
引言反射是.Net提供给我们的一件强力武器,尽管大多数情况下我们不常用到反射,尽管我们可能也不需要精通它,但对反射的使用作以初步了解在日后的开发中或许会有所帮助。反射是一个庞大的话题,牵扯到的知识点也很多,包括程序集、自定义特性、泛型等,想要完全掌握它非常不易。本文仅仅对反射做一个概要介绍,关于它更精深的内容,需要在实践中逐渐掌握。本文将分为下面几个部分介绍.Net中的反射:转载 2008-03-26 11:34:00 · 1289 阅读 · 0 评论 -
[Remoting] 九:动态发布(收藏转帖http://www.rainsts.net/article.asp?id=416)
使用动态发布有什么好处?1. 避开 SAO 只能使用默认构造方法的限制。2. 自主管理 SAO 的载入、卸载,以及其 URI。RemotingServices通过使用类 RemotingServices 提供的方法,我们可以很轻松实现这些目标。 Marshal: 用于将 MarshalByRefObject 转换为 ObjRef 类的实例。 Connect:客户端可以用该转载 2008-03-26 14:17:00 · 1174 阅读 · 0 评论 -
泛型(收藏转帖http://blog.csdn.net/tianyebangwoitren/archive/2008/03/24/2214653.aspx)
泛型转载 2008-03-26 11:18:00 · 822 阅读 · 0 评论 -
智能客户端
什么是“智能客户端”?智能客户端不将再是梦想。人们对智能客户端的关注是从微软开始的。事实上,自微软推出.NET战略以来,其最令人关注的技术新动向之一就是对智能客户端(SmartClient)技术的深人研究与应用推广。微软对于智能客户端的定义是这样的:是易于部署和管理的客户端应用程序,它们通过统筹使用本地资源和到分布式数据资源的智能连接,提供适应的、快速响应的和丰富的交互式体验。智能客户端技术是瘦客转载 2009-11-16 22:23:00 · 1115 阅读 · 0 评论 -
智能客户端(SmartClient)
本文主要讨论基于企业环境的客户端应用程序模型,由于本人曾经从事过传统的客户端/服务器两层结构应用程序和基于.net平台的多层结构应用程序的开发,因此本文将着重描述.net平台上的智能客户端应用程序模型,并根据一般的企业应用系统的需求来一步一步构造出一个较为完整的客户端软件框架。简介 智能客户端的概念作为Microsoft.net平台的一个特性而被提出,其实它的很多功能在传统的应用转载 2009-11-16 22:26:00 · 1053 阅读 · 0 评论 -
WPF入门介绍
WPF入门介绍 收藏 Windows Vista已经于2007年1月30正式发行零售版本,安装Vista的计算机将会大量出现。在Vista时代,身为编程员,就一定要具备Vista桌面应用开发的能力。而开发Vista桌面应用,最重要的就是要会WPF。本系列文章整理WPF技术的精华,以连载的方式,介绍如何使用WPF编写微软Windows平台。什么是WPF?WPF是Windows Presen转载 2009-11-18 08:42:00 · 1444 阅读 · 0 评论 -
.NET 性能优化方法总结==转
.NET 性能优化方法总结目录1. C#语言方面... 41.1 垃圾回收... 41.1.1 避免不必要的对象创建... 41.1.2 不要使用空析构函数 ★... 41.1.3 实现 IDisposable 接口... 41.2 String 操作转载 2011-08-22 15:41:17 · 1450 阅读 · 0 评论 -
归纳一下:C#线程同步的几种方法
转自http://www.cnblogs.com/michaelxu/archive/2008/09/20/1293716.html归纳一下:C#线程同步的几种方法 我们在编程的时候,有时会使用多线程来解决问题,比如你的程序需要在后台处理一大堆数据,但还要使用户界面处于可操作状态;或者你的程序需要访问一些外部资源如数据库或网络文件等。这些情况你都可以创建一个子线程去处理,然而,多线程不可避转载 2012-07-25 15:58:10 · 1183 阅读 · 0 评论 -
C#中跨线程访问控件问题解决方案
net 原则上禁止跨线程访问控件,因为这样可能造成错误的发生,推荐的解决方法是采用代理,用代理方法来间接操作不是同一线程创建的控件。 第二种方法是禁止编译器对跨线程访问作检查,可以实现访问,但是出不出错不敢保证Control.CheckForIllegalCrossThreadCalls = false;最近我在做一个项目,遇到了跨线程要去访问页面控件.但是总是提示出错,不能在其它线程中修转载 2012-07-26 15:34:21 · 26381 阅读 · 1 评论 -
WPF中的数据模板(DataTemplate)
WPF中的数据模板(DataTemplate) 周银辉在WPF中我们可以为自己的数据定制显示方式,也就是说虽然某数据数据是一定的,但我们可以做到让它的表现方式转载 2014-09-25 09:17:57 · 902 阅读 · 0 评论