zoukankan      html  css  js  c++  java
  • [Clr via C#读书笔记]Cp8方法

    Cp8方法

    构造器

    作用就是初始化所有成员字段;.ctor;派生类和基类都有自己的构造函数。默认有一个无参数的构造函数,值字段初始化为0,引用字段初始化为null;可以有多个构造器;
    值类型的初始化其实是通过内联的方式来简化的语法;

    结构的构造器

    一般是new了再使用,new的含义是调用默认的构造器,不是创建引用对象;可以自己创造含参数的构造器。如果不适用new,那么结构就必须手动一个个的初始化赋值,全部赋值。

    实例的构造器

    就是最普通的实例构造器

    类的构造器

    静态构造器,用来初始化静态成员。这个没有默认的,必须手动设置。C#会自动设置为private,不需要手动设置;
    任何一个类定义了静态构造器,JIT都会检查针对当前AppDomain又没有执行调用,如果有后面就不执行了,如果没有就要执行,反正确保只执行一次。

    构造器运行的性能问题

    这里了解一下就行了,基本上是编译器决定的。

    操作符重载

    特殊的方法重载

    转换操作符方法

    implicit和explicit;System.Decimal是一个典型的研究转换操作符的例子;

    扩展方法

    可以在不能修改的类上添加方法;比如后面的linq的扩展方法就是很常用的例子,实现链式调用;
    实质是对一个静态方法的调用;
    可以为接口实现扩展方法,任何实现了这个接口的类都可以使用到这个扩展方法。

    扩展方法的规则和原则

    静态类,静态方法,第一个参数必须是要扩展的类型,前面必须加this;

    分部方法

    类似分部类的理解方式吧,很少用到。

  • 相关阅读:
    sql导数据 自增长
    只能在执行 Render() 的过程中调用 RegisterForEventValidation
    JS获取DropDownList的值
    解决IE6、IE7、IE8、Firefox兼容的两种方案
    C#日期格式化
    页面弹出窗口刷新父页面方式小结
    Dictionary Queue Stack SortedList ArrayList
    asp.net水晶报表推模式加载报表数据代码段
    JS隐藏工具栏菜单栏
    解决在SQL Server 2000的存储过程不能调试
  • 原文地址:https://www.cnblogs.com/newlifechou/p/8158126.html
Copyright © 2011-2022 走看看