C#语法手册

class关键字与class的声明


class关键字用于类的声明。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CSGDemo
{

    //https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/class

    //#csg005-01
    //类的声明
    //不带修饰符的类的默认方位级别为 internal
    class TestClass
    {
        // 类内部可包含方法,属性,字段,事件,委托
        // 以及嵌套类
    }


    //#csg005-02
    //命名空间下类的访问修饰符:
    //命名空间下的类只能使用public 或 internal
    //public修饰符说明类型为公共访问,公共访问是允许的最高访问级别。 对访问公共成员没有限制。
    public class TestClass_Public
    {

    }

    //#csg005-02
    //internal为内部访问,只有在同一程序集的文件中,内部类型或成员才可访问。
    internal class TestClass_internal
    {

    }


    //#csg005-03
    //嵌套类的访问修饰符
    public class ClassContiansNestedClass
    {
        //#csg005-03
        //protected成员在其所在的类以及其派生类中访问
        protected class TestClass_protected
        {

        }

        //#csg005-03
        //私有(private)访问是允许的最低访问级别,只能在所在类中访问
        private class TestClass_private
        {

        }

        //#csg005-03
        //protected internal是一种组合访问修饰符
        //可从其程序集内的任何类型访问基类的受保护的内部成员。
        protected internal class TestClass_protected_internal
        {

        }

        //#csg005-03
        //protected private 是一种组合访问修饰符
        //仅派生自包含类的类型可访问私有受保护成员,并且只能在其包含的程序集中访问
        protected private class TestClass_private_protected
        {

        }

    }

}