• 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;
    }
  • 相关阅读:
    linux下解压命令大全
    关于伸展树的详细解析(E文)
    数据结构与算法汇总
    Linux下的压缩解压缩命令详解
    Linux Netcat 命令——网络工具中的瑞士军刀
    gethostbyname
    Html 转化为 PDF
    返回一个表
    sqlserver创建函数
    取不同类别的第一条数据
  • 原文地址:https://www.cnblogs.com/thlzhf/p/2790391.html
Copyright © 2020-2023  润新知