C#
锋璠
这个作者很懒,什么都没留下…
展开
-
C#中动态绑定
动态绑定( dynamic binding)将绑定( binding)(即解析类型、成员和操作的过程从编译时延迟到运行时。动态绑定适用于那些开发者知道某个特定的函数、成员或操作的存在,而编译器不知道的情况。这种情况通常出现在操作动态语言(例如 Ironpython)和COM时。在这些情况下,如果不使用动态绑定就只能使用反射机制了动态类型是通过上下文关键字 dynamic声明的:dynamic d=GetSomeObject();d.quack();动态绑定类型会告诉编译器“不要紧张”,我们认为d的运原创 2020-05-31 20:55:59 · 612 阅读 · 5 评论 -
对于C#配置文件的整理学习
配置文件的真正使用是我接触机房合作之后进行,之前都是进行学习,而且对配置文件总是有些模糊,买了一本xml的书,看过之后感觉是一本讲解XML知识的东西,和配置文件还是有些差距的,但是该书对我之后理解配置文件的运行原理奠定了基础,还是很有帮助的。关于C#中配置文件我也仅是浅显接触,只能浅显的使用,还不能像那些大佬一样进行熟练的使用。我使用配置文件最多的还是自定义节点,因为这样可以让我刚到更加自由,和对自己配置文件中的值有一个更好的梳理。自定义节点首先是定义自定义节点。如图所示所有的自定义节点以及节点内的值原创 2020-05-30 21:09:38 · 326 阅读 · 5 评论 -
值类型与引用类型及ref修饰符与out修饰符的关系
值类型与引用类型的区别;下面我用一个例子,画一个图来说明一下值类型与引用类型的区别;ref修饰符,的作用是将值类型的参数修饰为引用类型。out修饰符的功能主要是返回方法中的参数。...原创 2020-01-19 21:29:42 · 342 阅读 · 7 评论 -
安全思考
对于安全问题,我觉得大家应该注意,尤其是路上的安全问题。我对路上的安全问题一直很注意,但是听到新的交通事故,我的内心每次都是比较震惊的。但我听到老师说自己将一个妇女连同其孩子撞飞的时候,我内心是感到悲伤的,因为一个噩梦笼罩了这个家庭,这个孩子内心留下了伤疤,这个家庭遭受了重创。虽然这起交通事故是这个妇女的过错。但是这个家庭毕竟遭受了重创,甚至可能因为这次交通事故,这个家庭就会支离破碎,世上就会又多...原创 2020-01-06 21:20:04 · 267 阅读 · 5 评论 -
C#代码的规范
身为一个程序员,如果要想写出好的程序,就一定要是写出好的代码,我们就要明白书写代码的规范。为了统一公司软件开发的设计过程中关于代码编写时的编写规范和具体开发工作时的编程规范,保证代码的一致性,便于交流和维护,特制定此规范。标准注释关于代码注释我之前的理解一直以为只是简单的代码的注解,然后我发现注释不仅仅有对代码注解这一种作用,下面我介绍一下注释的三种用途:在模块、类、属性、方法前一行添加注释...原创 2020-01-05 20:51:42 · 253 阅读 · 4 评论 -
C#中属性PropertyInfo的setvalue方法
下面是关于setvalue方法的介绍以及错误简介用索引化属性的可选索引值设置指定对象的该属性值。C#public virtual void SetValue (object obj, object value, object[] index);参数obj Object将设置其属性值的对象。value Object新的属性值。index Object[]索引化属性的可选索...原创 2019-12-28 20:42:58 · 8826 阅读 · 10 评论 -
C#中PropertyInfo的用法
敲代码遇到一个问题,因为之前瞧的机房系统的组合查询功能有许多的数据需要赋值给实体,如果一个一个赋值,这样会导致产生许多相似的代码,就会不符合封装的要求,所以到网上查找之后,找到propertyinfo。属性定义:它提供灵活的机制来读取、编写或计算某个私有字段的值。 可以像使用公共数据成员一样使用属性,但实际上它们是称作“访问器”的特殊方法。 这使得可以轻松访问数据,此外还有助于提高方法的安全性和...原创 2019-12-28 20:12:47 · 3624 阅读 · 5 评论 -
C#遍历实体的所有属性并为属性赋值
using System.Reflection;class Config{public string encoding { get; set; }public string plugins { get; set; }}将hashtable的key值赋给实体类config.Hashtable ht = new Hashtable();ht.Add(“encoding”, “utf8”...转载 2019-12-26 17:06:25 · 2057 阅读 · 14 评论 -
C#中泛函数的应用
泛函数,从泛字的意思有广泛、一般的意思,所以泛函数就是一个一般的函数,当然这个一般指的不是函数本身而是函数的参数。泛函/泛型 指的是编译时不需要指定具体的参数类型,可以在运行时动态地赋予某一种数据类型的机制。 相信很多人对泛型并不陌生,像Dictionary,List等结构都属于泛型。有趣的是,一个函数也可以泛化。假如我们需要些一个函数,这个函数负责某一种逻辑操作(例如排序、求和、个数统计等...原创 2019-12-25 12:05:31 · 583 阅读 · 16 评论 -
在C#中Datatable的几种用法
在C#中,从数据库中读取出来的数据一般都会存储在datatable中。datatable其实也是一张表,就像是从数据库中将检索出来的结果copy到datatable中一样。datatable的内部数据结构就是这样的 一个二维表。下面介绍一下datatable中的几种用法。添加引用//引用命名空间using System.Data;创建表//创建一个空表DataTable dt = ...转载 2019-07-28 18:05:37 · 1944 阅读 · 11 评论 -
设计模式五大基本原则
单一职责原则就一个类而言,应该仅有一个引起他变化的原因。也就是就一个类而言,仅有一个功能。也就是在进行软件设计的时候,一个类不要承担太多的功能,如果一个类中如果承担太多的功能,就等于将这些职责耦合在一起。一个功能的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。设计软件真正要做的许多内容,就是发现职责并把那些职责相互分离。...原创 2019-06-09 18:20:49 · 373 阅读 · 8 评论 -
C#中MediaPlayer的基本属性
MediaPlayer.URL 播放歌曲的地址MediaPlayer.Ctlcontrols.play();让歌曲播放MediaPlayer.Ctlcontrols.pause();歌曲暂停MediaPlayer.settings.volume 播放器的声音(0~100);MediaPlayer.settings.mute = true;静音功能MediaPlayer.Ctlcontr...原创 2019-05-07 19:50:48 · 451 阅读 · 2 评论 -
观察者模式总结
观察者模式:定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主体对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们自动更新自己。现实联想:这个模式就好像小偷偷东西,有一个或者多个人放哨(通知者),当警察来的时候,放哨的人就会通知偷东西的人(观察者)赶紧跑。观察者模式特点观察者模式其实就是降低耦合作用,让耦合双方都依赖于抽象而不是依赖于具体。从而使得各自代码的变化都...原创 2019-05-26 20:52:33 · 223 阅读 · 7 评论 -
抽象工厂模式
抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口,而无需制定他们具体的类。现实联想:抽象工厂模式就好像是工厂模式的再一次细化。这次细化的是工厂模式中的各个生产线。举个例子,比如说是一个手机充电器的生产工厂。在工厂模式中,他们的生产线是这样的:充电器,充电线,充电线的接口;而在抽象工厂中他们的生产线是这样的:充电器(虚类或是接口)——快充充电器、慢充充电器;充电线(虚类或是接口)——快...原创 2019-05-26 21:15:11 · 156 阅读 · 10 评论 -
状态模式
状态模式:当一个对象的内在状态改变时,允许改变其行为,这个对象看起来是改变了其类。当一个对象的状态发生改变的时候,它所对应的行为也随之改变,但是该行为的改变是靠类的改变完成的。简单点说,这个对象的每个行为都是一个类,当该对象的状态发生改变的时候,该对象的行为也随之改变,也就是该对象所调用的随之改变。现实联想:状态模型就像是一个室温恒温系统。这个形容有点简单,但是也可以解释状态模式。我想去...原创 2019-05-28 20:39:44 · 133 阅读 · 6 评论 -
适配器模式
适配器模式:将一个接口转换为客户端希望的另外一个接口。适配器使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。现实联想:适配模式就像是变压器,将高压电变成低压电,方便人们的使用。同时是也像是一个桥,将河两岸链接起来。适配器模式用途链接两个接口不一样的类适配器模式实例姚明刚到美国时,不会英语无法直接与队友和教练交流,需要翻译(适配器)进行队友和教练之间的交流。其他队员abs...原创 2019-05-28 20:49:26 · 144 阅读 · 7 评论 -
备忘录模式总结
备忘录模式:在不破坏封装的情况下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可以将该对象恢复到原先保存的状态。备忘录模式理解:就是备忘录,将我们更改之前的数据存储在备忘录中,当我们要取消更改,或者更改错误,想要返回之前的时候,通过备忘录管理者(就像是一个接口,专门用来提取备忘录中的数据和更改备忘录中的数据的,这样可以减少客户端代码的负担。)来获取我们之前保存在备忘录中的数据。...原创 2019-06-09 09:28:01 · 263 阅读 · 6 评论 -
组合模式总结
**组合模式:**将对象组合成树形结构以表示”部分—整体“的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。组合模式理解组合模式就是当我们所要处理的事件,存在层级关系,并且各个层级所要处理的事件所要应用的方法其实是一样的时候,我们就要应用到组合模式了。就比如,一个大公司,有多个分公司。大公司人员管理部门和财务管理部门。分公司也有人员管理部门和财务管理部门。在上面这个例子中大...原创 2019-06-09 09:35:33 · 228 阅读 · 5 评论 -
桥接模式总结
桥接模式:将抽象的部分与它的实现部分分离,使它们都可以独立的变化。桥接模式就像是先将一对复杂的对象分类,然后建立各自类的父类,最后寻找各个父类之间的关系(桥接)。这就涉及到了合成/聚合原则该原则聚合就是单个个体聚合成一个群体。合成就是一个模型有各个零件组成的。而桥接模式就像是在组装一个模型,先讲所有的零件摆出然后分类,然后寻找各个零件群体之间的关系和接口,最后将整个模型组装完毕。实例:...原创 2019-06-09 09:53:19 · 251 阅读 · 5 评论 -
C#结构总结
结构的关键字是 struct,该关键字后面跟的是该结构的名字,结构是由结构名和字段构成的。结构是和类同一级的存在,所以编写结构的代码的时候,写在类的同一级在调用结构的时候只需要实例化结构体就行,结构实例化是需要在结构名之后添加一个新的名字就行。结构和类的区别:结构体的赋值是将值直接赋值给实例化的结构体。类的赋值是复制一个引用给类的实例类的赋值结构的赋值结构体一定不能赋初始值...原创 2019-05-01 09:13:32 · 133 阅读 · 6 评论