zoukankan      html  css  js  c++  java
  • CLR via 随书笔记

    CTS(common type system)
    通用类型系统规定,一个类型可以包含零个或者多个成员,如下:
     
    字段(Field):
    作为对象状态一部分的数据变量。字段根据名称和类型来区分
     
    方法(Method):
    针对对象执行操作的函数,通常会改变对象状态。方法有一个名称,一个签名以及一个或多个修饰符。签名指定参数数量(及其顺序);参数类型:方法是否有返回值。如果有返回值,还要指定返回值类型
     
    属性(prolerty):
    对于调用者,属性看起来像是字段。但是对于类型的实现者,属性看起来是一个方法(或是两个方法)。属性允许在访问值之前校验输入参数和对象状态,以及或者仅在必要时才计算某个值。属性还允许类型的用户采用简化语法。最后,属性允许创建只读或只写的字段
     
    事件:
    事件在对象以及其他相关对象之间实现了通知机制。例如,利用按钮提供的一个事件,可在按钮被点击之后通知其他对象
     
    同时CTS还指定了可见性规则以及类型成员的访问规则,例如如果将类型标记为public,任何程序集都能看见并访问该类型。但是如果标记为assembly(C#中使用internal修饰),只有同一个程序集中的代码才能看见并访问该类型,所以,利用CTS制定的规则,程序集为一个类型建立了可视边界,CLR也强制贯彻了这些规则:
    private:
    成员只能由同一个类型中的其他成员访问;
    protected:
    成员可由派生类访问,不管那些类型是否在同一程序集中。
    internal:
    成员可由同一个程序集中的任何代码访问
    protected internal:
    成员可由任何程序集中的派生类型访问,成员也可由同一程序集中的任何类型访问
    public
    成员可由任何程序集中的任何代码访问
  • 相关阅读:
    网络通信协议八之(传输层)TCP协议详解
    MongoDB数据库连接失败
    Flask web开发之路十四
    Flask web开发之路十三
    Flask web开发之路十二
    Flask web开发之路十一
    Flask web开发之路十
    NEERC 1999 Advertisement /// oj22646
    upper_bound() lower_bound() 用法
    palindrome 回文 /// Manacher算法
  • 原文地址:https://www.cnblogs.com/yankun1991/p/6972808.html
Copyright © 2011-2022 走看看