定义 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 --《设计模式GoF》 UML类图 使用场景 有多个子类共有的方法,且逻辑相同,可以抽象到父类中作为模板方法实现,避免代码重复。重要的,复杂的方法,可以考虑作为模板方法。 C#代码实现 u... ...
最近在做一个销售系统的时候,操作人员提交数据的时候数据库竟然会出现多条数据相同的记录,并且是在1秒之内,客户反馈给我们,第一反应是重复提交的问题,检查了下代码,程序执行完成后应该是跳转到别的页面的,可为什么执行了第一次后没有跳转呢? 并且系统的提交按钮提交后 会confirm 确认 后 disabled=“true”的,难道是confi... ...
学习想法:每一个程序都会有很多参数是需要记忆或者是保存成各个参数文件工艺配方以便快捷换型的,看到很多做法都利用conig文件的读写完成,所以这次就来学习一下使用config文件读写; (目前使用的都是最简单的判断方式,如果有更好更简单的判断方式欢迎私信指导。) 第一步:如下做一个基本的画面,其中有Button : button1、bu... ...
前言 在构建系统的时候,有时候自己会说,我的系统很复杂,但是这时候又遇到问题了,如何度量一个系统的复杂性呢,这个是个开放性的问题,本身答案见仁见智,这里记录一下自己的思考。 历史借鉴 算法的复杂度 在学习算法的时候,经常会有复杂度的分析,分为时间复杂度和空间复杂度;自我感觉在时间和空间维度,能够比较清晰的表述清楚; 代码的圈复杂度 概... ...
对c#底层不太了解,可能认识有误或者浅薄,欢迎斧正。 10 boxing 装箱 @1被装箱的值是初始化值的一个副本。---常见的一个应用是传参。 @2什么时候发生装箱: #1值类型转换成引用/System.ValueType/指向值类型实现的接口引用 #2 枚举转换成System.Enum 引用... ...
第五章:代理代理实现的是象c++等语言的指针功能,不同于函数指针,代理是一种面向对象、安全类型的。代理事派生于公共基类(system)的一种参考类型,方法被压入一个代理中,对于实例方法被称为实例的组成实体或关于实例的方法,而静态方法,被称为类的组成实体或类方法。代理的强大功能是它可以自动的匹配方法,而不管其类型。 写一个代理包括三个步骤:... ...
来源 ...
1.启动子进程,不等待子进程结束 private void simpleRun_Click(object sender, System.EventArgs e) { System.Diagnostics.Process.Start(@"C:\listfiles.bat"); } 2.启动子进程,等待子进程结束,并获得输出 1... ...
先看代码: string aTest = "abc";//分配固定的内存大小aTest += "ddd"; //销毁原先的数据再来分配,消耗大StringBuilder sb = new StringBuilder(20);//指定分配大小,指定分配内存大小,性能就会得到提升。 ... ...
方法一: //最有含量的一种 int days = System.Threading.Thread.CurrentThread.CurrentUICulture.Calendar.GetDaysInMonth(DateTime.Now.Year ,DateTime.Now.Month); 方法二://最奇怪的一种 DateTime... ...
当我们在初学使用C#时,常常会不知道该用StringBuilder合适还是用String; String类有不可改变性。每次执行字符操作时,都会创建一个新的String对象。 StringBuilder 类解决了对字符串进行重复修改的过程中创建大量对象的问题。初始化一个StringBuilder 之后,它会自动申请一个默认的Stri... ...
1。比较时间大小的实验 string st1="12:13"; string st2="14:14"; DateTime dt1=Convert.ToDateTime(st1); DateTime dt2=Convert.ToDateTime(st2); DateTime dt3=DateTime... ...
VS2010 读取excel文件的三种方法 方法一:NPOI NPOI参考 优点: NPOI 是 POI 项目的 .NET 版本。POI是一个开源的Java读写Excel、WORD等微软OLE2组件文档的项目。 使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 WORD/EXCEL 文档进行读写。 操作... ...
<? xml version="1.0" encoding="utf-8" ?> < webSiteList > < site > < siteName > 天涯社区 </ siteName > < itemlist > http://www.... ...
NuGet自建服务器教程 1.部署服务器1.1.新建asp.net web 应用程序1.2.安装nuget服务包——NuGet.Server1.3.运行项目1.4.删除重复节点1.5.发布项目1.6.配置IIS网站1.7.可能遇到的问题 2.生成Nuget包并运用——插件自动化生成2.1. 安装nuget插件:NuGet.Packag... ...
C#动态链接库的创建与使用 动态链接库(Dynamic Link Library)是实现共享代码段的一种方式,动态链接库文件为不可执行的二进制文件,是经过预先编译处理的,当程序需要时调用所需的dll文件,使用动态链接库的好处是不会占用调用dll文件程序的内存. 本文将使用 Visual Studio 2017 编译器。 如何生成dll文件... ...
C#中调用Dll动态链接库 起始 受限于语言的不同,我们有的时候可能会用别人提供的函数及方法 或者其他的什么原因、反正就是要调!!! 恰巧别人所使用的的语言跟自己又不是一样的 这个时候想要调用别人的函数库就需要借用一些别的东西了 今天我们要说的是“UnmanagedExports” 当前我所要实现的目的只是为某一QQ机器人编写插件 但我... ...
在过程中发现两种方法解决问题:一种是非托管C++创建的dll库,需要用静态方法调用。这种方法无法在C#的reference中直接引用,而是要用静态调用的方法,其他博客已经介绍的很详尽,唯一需要补充的是,C#文件需要先: using System.Runtime.InteropServices; 之后才可以调用[DllImport]方法... ...
C#调用dll,复制dll到exe同目录下,通过DllImport引入dll到程序中,具体操作:1)引用命名空间:using System.Runtime.InteropServices;2)在C#语言源程序中声明外部方法:[DllImport("dll名称+后缀")]//如:[DllImport("user32.dll")]stat... ...
C#调用C++动态链接库dll 由于公司很多底层的SDK,都是C++开发,上层的应用软件却是C# Winform程序。在实际工作的过程中,就经常碰到了C# 程序调用C++ 动态库的问题。最近一直在和C++ 打交道,C# 怎么调用C++ 类库函数。也遇到了一些问题,所以就来总结总结C#程序调用C++动态库时的各种坑。 1. 可能遇到的问题... ...