随笔分类 -  C#

摘要:定义:特性本质上就是有一种类,通过添加特性,就可以实例化这个特性类; 我们主要讲一下如何自定义特性,定义的方式和普通的类定义方式一致,但是,第一:需要继承标准特性类第二:需要添加标准特性,用来限制特性的使用范围等第三:必须要定义构造函数,即使是空的如下: 使用特性例子如下:(这里相当于实例化了2个类 阅读全文
posted @ 2016-11-25 15:53 在西天取经的路上……
摘要:扩展方法的目的就是为一个现有的类型添加一个方法,现有类型既可以是int,string等数据类型,也可以是自定义的数据类型。 扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用。例如,我们可以让Random类的所有实例对象拥有一个返回随机bool值的方法。我们不能对Random类本 阅读全文
posted @ 2016-11-24 18:10 在西天取经的路上……
摘要:先创建一个控制台应用程序,并创建一个Class1类,在Class1里面写上一个无参构造函数和一个静态构造函数,并在Main方法里面分别实例化两次Class1 从中可以得出在同一个程序中,静态构造函数只会被执行一次!这就是静态构造函数的本质!掌握到这个了就可以自己更深层次的扩展! 有时,在一个类中有几 阅读全文
posted @ 2016-11-24 16:33 在西天取经的路上……
摘要:表示只读; 例:public string DisplayName { get; private set; } 称为“自动属性” 等同于: private string _DisplayName; public string DisplayName { get{return _DisplayName 阅读全文
posted @ 2016-11-24 16:04 在西天取经的路上……
摘要:在C#的学习中,容易混淆virtual方法和abstract方法的使用,现在来讨论一下二者的区别。 它们有一个共同点: 二者都是用来修饰父类的,只能作为基类使用,通过覆盖父类的定义,让子类与override的配合重新定义。 如果用来修饰方法,前面必须添加public。毕竟加上virtual或abst 阅读全文
posted @ 2016-11-24 15:29 在西天取经的路上……
摘要:sealed 修饰符表示密封 用于类时,表示该类不能再被继承,不能和 abstract 同时使用,因为这两个修饰符在含义上互相排斥 用于方法和属性时,表示该方法或属性不能再被重写,必须和 override 关键字一起使用,因为使用 sealed 修饰符的方法或属性必须是基类中的虚成员,所以也不能用于 阅读全文
posted @ 2016-11-24 14:48 在西天取经的路上……
摘要:一、首先理解一下什么叫多态: 同一种操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。举一个形象的例子,在我们听音乐会的时候,当指挥发出开始的信号,不同的乐器收到相同的信号,但是他们产生不同的行为:钢琴发出的是钢琴的声音,小号发出的是小号的声响。或者,如果把每个动物当成一个对 阅读全文
posted @ 2016-11-19 18:05 在西天取经的路上……
摘要:在讲解我们的小例子之前,让我们先对继承有个大概的了解。 1、含义:当一个类A能够获取另一个类B中所有非私有的数据和操作的定义作为自己的部分或全部成分时,就称这两个类之间具有继承关系。被继承的类B称为父类或超类、基类,继承了父类或超类的数据和操作的类A称为子类、派生类。 2、继承的语法格式 3、如何用 阅读全文
posted @ 2016-11-19 18:04 在西天取经的路上……
摘要:第一次在编程语言中接触委托,感觉很是生疏。敲了几个例子自后,发现其实在面向对象语言中的委托和我们现实生活中是一样的。比如说,小红需要去银行取钱,这里取钱就是小红这一个对象的方法。同样如果是小明,他也可以有取钱这一个方法。如果小红由于一些事情让小明替她去取钱,在这里就是委托了。也就是小明以小红的名义去 阅读全文
posted @ 2016-11-19 18:00 在西天取经的路上……
摘要:三种用法如下: 在 C# 中,new 关键字可用作运算符、修饰符或约束。 1)new 运算符:用于创建对象和调用构造函数。 2)new 修饰符:在用作修饰符时,new 关键字可以隐藏从基类继承的成员。 3)new 约束:用于在泛型声明中约束用作类型的参数必须要有Public无参数构造函数。 关于第二 阅读全文
posted @ 2016-06-01 16:29 在西天取经的路上……