.NET开发笔记
文章平均质量分 81
记录看到,遇到的东东
hpugisers
每天进步一点点,美滋滋
展开
-
装饰器设计模式
装饰器模式模式一直以来都以烧脑著称,今天大话一下红烧肉的做法进行装饰模式的展示。一、类之间的关系1、纵向关系:继承2、横向关系:聚合、组合二、先声明一个抽象的菜品基类public abstract class AbstractFood { public string Name { get; set; } public int Pri...原创 2018-07-28 19:32:01 · 168 阅读 · 0 评论 -
将C#Switch替换掉的一种写法
假设有这样的一个场景:商场经常会根据情况采取不同的打折方案,如果打折方案比较少,可以考虑使用switch语句作判断。但如果有几十甚至几百种打折方案的时候,用switch语句就不够优雅。一、先来一个打折接口。 public interface IValueProcessor { decimal DaZhe(short policy,decimal orginPric...转载 2018-06-26 09:07:11 · 1369 阅读 · 0 评论 -
在ASP.NET MVC中搭建环境时抽象类构造函数的妙用
一、首先了解下子类继承父类构造函数调用的问题● 通过子类无参构造函数创建子类实例,会默认调用父类的无参构造函数● 通过子类有参构造函数创建子类实例,也会默认调用父类的无参构造函数● 在子类构造函数中通过base关键字指明父类构造函数,当通过子类构造函数创建实例,会调用指明的、父类的构造函数● 父类的公共属性可以通过子类来赋值,子类也可以获取到父类的公共属性二、抽象类能否有构造函数?我们知道,抽象类...原创 2018-06-27 09:41:58 · 569 阅读 · 0 评论 -
.NET领域最为流行的IOC框架之一Autofac
一、前言Autofac是.NET领域最为流行的IOC框架之一,微软的Orchad开源程序使用的就是Autofac,Nopcommerce开源程序也是用的Autofac。Orchad和Nopcommerce在用Autofac的时候进行封装,看过源码的都知道Autafac使用简单,功能强大。建议下载Orchad和Nopcommerce学习下源码:附上下载地址http://www.orchardproj...转载 2018-06-18 09:44:12 · 3165 阅读 · 1 评论 -
ASP.NET Session 详细介绍
一、概述Session用于存储特定的用户会话所需的信息 。 Session对象的引入是为了弥补HTTP协议的不足,HTTP协议是一种无状态的协议。Session中文是“会话”的意思,在ASP.NET中代表了服务器与客户端之间的“会话”。Session的作用时间从用户到达某个特定的Web页开始,到该用户离开Web站点,或在程序中利用代码终止某个Session结束。引用Session 则可以让一个用户...转载 2018-05-30 11:14:51 · 13238 阅读 · 0 评论 -
分享点.NET平台下的框架
自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的学习曲线,让我对这个平台产生了浓厚的兴趣,在工作和学习中也积累了一些开源的组件,就目前想到的先整理于此,如果再想到,就继续补充这篇日志,日积月累,就能形成一个自己的组件经验库。常用的一些开源组件整理:导出Excel报表的插件:NOPI.dll(基于微软OpenXml实现)开源的作业调度和自动任务框架:Quartz.N...转载 2018-06-18 11:35:42 · 536 阅读 · 0 评论 -
IHttpModule接口
IHttpModule向实现类提供模块初始化和处置事件。 IHttpModule包含两个方法:public void Init(HttpApplication context);public void Dispose();Init():这个方法接受一个HttpApplication对象,HttpApplication代表了当前的应用程序,我们需要在这个方法内注册 HttpApplication对象...转载 2018-04-12 21:49:21 · 239 阅读 · 0 评论 -
C#中的正则表达式
详细链接点击打开链接原创 2018-04-13 10:14:34 · 127 阅读 · 0 评论 -
Asp.NET MVC 中登录验证(BaseController自定义控制器)
可以声明一个自定义控制器BaseController继承Controller重写Controller中的OnActionExecuting虚方法,然后其他控制器继承BaseController就可以,避免了给每个控制器打个过滤标签去验证public class BaseController : Controller { public UserInfo Lo...原创 2018-05-07 09:13:44 · 4860 阅读 · 0 评论 -
ASP.NET MVC 中Filter过滤器的使用和注册
一、AuthorizeAttribute{ /// <summary> /// 允许 /// </summary> public class HasPermissionAttribute : AuthorizeAttribute //Authorize授权特性 { private string _str = ""; ...原创 2018-05-07 09:11:59 · 877 阅读 · 0 评论 -
在HTML中上传图片文件和后台接受处理
在这里我们用到的是 HttpFileCollection类HTML中代码: <form action="/Home/Save" method="post" enctype="multipart/form-data"> <!--method必须为post enctype必须设置为multipart/form-data否则后台的HttpFileCollectio...原创 2018-05-07 10:19:09 · 2419 阅读 · 0 评论 -
readonly和const介绍
尽管你写了很多年的C#的代码,但是可能当别人问到你const与readonly的区别时候,还是会小小的愣一会吧~原文:http://www.cnblogs.com/royenhome/archive/2010/05/22/1741592.html 笔者也是在看欧立奇版的《.Net 程序员面试宝典》的时候,才发现自己长久以来竟然在弄不清出两者的情况下,混用了这么长的时间。的确,const与...转载 2018-05-07 10:58:30 · 158 阅读 · 0 评论 -
Task的知识点总结
Task是在.NET Framework 4中添加进来的,这是新的namespace:System.Threading.Tasks;它强调的是adding parallelism and concurrency to applications。现在都是多核的CPU,在系统内,Task Parallel Library能更有效地利用CPU核心。TPL 会动态地按比例调节并发程度,以便最有效地使用所有...转载 2018-05-18 10:45:38 · 283 阅读 · 0 评论 -
C#中索引器和属性的区别
索引器允许类或者结构的实例按照与数组相同的方式进行索引取值,索引器与属性类似,不同的是索引器的访问是带参的。索引器和数组比较:(1)索引器的索引值(Index)类型不受限制(2)索引器允许重载(3)索引器不是一个变量索引器和属性的不同点(1)属性以名称来标识,索引器以函数形式标识(2)索引器可以被重载,属性不可以(3)索引器不能声明为static,属性可以一个简单的索引器例子using Syste...转载 2018-05-22 10:02:32 · 847 阅读 · 0 评论 -
C#中的正则表达式使用
前言在网上看到一个不错的简易版正则匹配和替换的工具,现在补充进来,感觉还不错,效果如下(输入验证中文汉字的正则表达式) 在线下载 密码:5tpt注:好像也是一位园友写的,但是找不到地址了,有看到的可以留言告知下,thx文章导读 正则表达式的本质是使用一系列特殊字符模式,来表示某一类字符串。正则表达式无疑是处理文本最有力的工具,而.NET提供的Regex类实现了验证正则表达式的方法。...转载 2018-05-22 10:12:11 · 377 阅读 · 0 评论 -
Quartz.NET在C#中的应用
Quartz.NET是一个开源的作业调度框架,是OpenSymphony 的 Quartz API的.NET移植,它用C#写成,可用于winform和asp.net应用中。它提供了巨大的灵活性而不牺牲简单性。你能够用它来为执行一个作业而创建简单的或复杂的调度。它有很多特征,如:数据库支持,集群,插件,支持cron-like表达式等等。你曾经需要应用执行一个任务吗?这个任务每天或每周星期二晚上11:...转载 2018-05-30 10:13:37 · 801 阅读 · 0 评论 -
ASP.NET验证码的封装和使用
一、后台代码封装using System;using System.Collections.Generic;using System.Drawing;using System.Drawing.Drawing2D;using System.Drawing.Imaging;using System.IO;using System.Linq;using System.Text;using...原创 2018-06-08 09:44:01 · 242 阅读 · 0 评论 -
ASP.NET中MemcacheHelper封装
using Memcached.ClientLibrary;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace HOPU.Common{ public class MemcacheHelp...原创 2018-06-08 10:04:54 · 699 阅读 · 0 评论 -
ASP.NET MVC 中IBaseDal接口的封装
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace HOPU.IDAL{ public interface IBaseDal<T>where T:class,new() ...原创 2018-06-09 11:47:10 · 519 阅读 · 0 评论 -
.NET面试试题
.Net基础知识什么是面向对象 面向对象OO =面向对象的分析OOA +面向对象的设计OOD +面向对象的编程OOP; 通俗的解释就是万物皆对象,把所有的事物都看作一个个可以独立的对象(单元),它们可以自己完成自己的功能,而不是像C那样分成一个个函数; 现在纯正的OO语言主要是java和C#,C++也支持OO,C是面向过程的。阐述面向接口、面向对象、面向方...转载 2018-06-10 10:33:58 · 1446 阅读 · 0 评论 -
C# Invoke 和 BeginInvoke 的的区别
BeginInvoke 方法真的是新开一个线程进行异步调用吗?参考以下代码:public delegate void treeinvoke();private void UpdateTreeView(){ MessageBox.Show(System.Threading.Thread.CurrentThread.Name);}private void button1_Click(o...转载 2018-06-14 09:20:48 · 132 阅读 · 0 评论 -
C# 队列(Queue)和 堆栈(Stack)
C# 队列(Queue)队列(Queue)代表了一个先进先出的对象集合。当您需要对各项进行先进先出的访问时,则使用队列。当您在列表中添加一项,称为入队,当您从列表中移除一项时,称为出队。原文:https://blog.csdn.net/CoderJYF/article/details/54580987Queue 类的方法和属性下表列出了 Queue 类的一些常用的 属性:属性描述Count获取 Q...转载 2018-06-14 09:26:24 · 189 阅读 · 0 评论 -
ADO,NET中简单三层SQLHelper封装介绍
一、这个东西好久没有用过了,感觉都快要忘记了,老了老了,自从用了EF,感觉这个sql封装真是low,但是这确实最底层的使用,一直都在接触CSDN,以前都没有写过文章,一方面是自己不想写,然而我却犯二的写了五六个笔记本的笔记,想想真是让人恶心至极,好了。开车:二、全部源码 public static class Sqlhelp { //定义一个连接字符串,readonly修饰的...原创 2018-06-21 09:21:36 · 422 阅读 · 0 评论