• C# 杂项


    1,函数访问等级必须高于参数等级,如函数等级是PUBLIC,则参数必须高于等于PUBLIC,若为INTERNAL 则不行。
    INTERNAL 低于PUBLIC, 用于同一个程序集内引用,PUBLIC则可以被别一个程序集引用
    程序集:一个DLL或EXE就是一个程序集,一个EXE可以引用其它的DLL
    这就好比大门是对外开放的,说了任何人都可以进,但进门时却说某些人达不到条件

    2,CLASS, STRUCT, DELEGATE及INTERFACE的默认都是INTERNAL, NAMESAPCE默认是PUBLIC且不可以使用任何MODIFER去修饰。ENUM默认也是PUBLIC的,可以修饰。
    非嵌套的类或结构,只能是PUBLIC或INTERNAL, 嵌套的可以是其它修饰。
    类成员结构成员默认都是私有的。这里要特别注意:在C++中结构体成员默认为公有类型的。
    结构成员不能是PROTECTED, 因为结构不能被继承
    抽象类的成员函数不能是私有的,必须是public或protected,因为它需要被子类实现
    接口的内部成员只能是公有的
    Any types declared within a namespace or at the top level of a compilation unit (for example, not within a namespace, class, or struct) are internal by default, but can be made public

    来自 <http://meinvchengxuyuan.iteye.com/blog/1612038>
    名字空间内的任何类型,以及编译单元的最高一层(如没有名字空间,类,或结构时),默认都是INTERNAL的,但可以修饰为PUBLIC。
    这句对应了上面的:类,结构,委托,接口默认都是INTERNAL

    3,命名空间中不可以直接有变量或函数

    4,继承
        abstract class IBASE
        {

        }
        abstract class IDBASE
        {
           protected abstract  void abfunc();
        }

        sealed class ENTITY :  public IDBASE //错误!IDBASE前不能像C++那样使用PUBLIC等修饰
        {
            protected override void abfunc() { }
        }
    5,C#中不可能定义全局函数,因为它是全面向对象的,要求所有函数必须在类内部。

  • 相关阅读:
    FastDfs安装
    groovy学习(二)
    jenkins(一)jenkins使用教程
    jenkins(二)Pipeline语法速成
    groovy学习(一)
    Docker笔记(一)
    运维笔记(一)
    Maven管理(一)
    工厂模式案例与理解
    python 探測端口
  • 原文地址:https://www.cnblogs.com/timeObjserver/p/5926108.html
Copyright © 2020-2023  润新知