zoukankan      html  css  js  c++  java
  • CLR Via CSharp读书笔记(6):类型和成员基础

    类型成员定义:

    类型的可访问性:

    internal: 仅对定义程序集中的所有代码可见。类型默认可见性为internal;

    public class ThisIsAPublicType { }
    internal class ThisIsAnInternalType{ }
    class ThisIsAlsoAnInternalType{ }
    [assembly: InternalsVisibleTo("Wintellect, Publickey=123456789...90abcdef")]   

    [assembly: InternalsVisibleTo("Microsoft, PublicKey=b77a5c56...1934e089")]

    将当前程序集中定义的internal类型暴露给Wintellect程序集和Microsoft程序集。

    成员的可访问性:

    private: 定义类型以或嵌套类型中的方法访问

    protected: private + 派生类型

    internal: 定义程序集中的方法访问。

    protected internal: protected + internal

    public: 任意程序集的任意方法访问

    成员默认可见性为private.接口类型的成员默认可见性为public.

    C#编译器要求原始成员和重写成员具有相同的访问性。CLR允许放宽成员的可访问性限制,但是不允许收紧。

     静态类:

    静态类唯一的作用是将一组相关的成员组合到一起。

    static只能应用于类,不能应用于结构(值类型)。因为CLR总是允许值类型实例化。

    静态类必须直接从System.Object派生,不能实现任何接口,只能定义静态成员(字段,方法,属性和事件),本身不能作为字段,方法参数和局部变量使用。

    public static class AStaticClass {
        public static void AStaticMethod() { }
    
        public static String AStaticProperty {
            get { return _aStaticField; }
            set { _aStaticField = value; }
        }
    
        private static String _aStaticField;
    
        public static event EventHandler AStaticEvent;
    }
  • 相关阅读:
    Explain详解
    InnoDB缓存---InnoDB Buffer Pool
    多线程之---线程同步
    多线程之--等待与通知
    谈算法与数据结构的学习
    分布式系统理论
    算法与数据结构基础
    算法与数据结构基础
    算法与数据结构基础
    算法与数据结构基础
  • 原文地址:https://www.cnblogs.com/thlzhf/p/2790391.html
Copyright © 2011-2022 走看看