修饰符【C#】

cs 复制代码
分为四部分:
            属性修饰符,
            存取修饰符,
            类修饰符
            和成员修饰符。

属性修饰符:

Serializable\]:按值将对象封送到远程服务器。在按值封送对象时,就会创建一个该对象的副本,并将其序列化传送到服务器。 任何对该对象的方法调用都是在服务器上进行的。 \[STAThread\]:是Single-Threaded Apartment**单线程套间**的意思,是一种线程模型(线程模式用于处理组件在多线程的环境里并行与并互的方式),套间线程(STAThread)模式中接口跨线程传递必须被调度(Marshal),不调度直传肯定会失败!而MTA或FreeThread模式中的接口可以不经调度直接传递。这种调度在特定的环境中非常影响性能(可有几百倍之差)。如VB里只支持STAThread模式。FreeThread模式的组件会在里面表现成和跨进程一样慢!线程模式是微软的COM基础中的极其重要的概念。一定要吃透! \[MTAThread\]:是MultiThreaded Apartment**多线程套间**的意思,同上也是一种线程模型。 #### 存取修饰符: public:存取不受限制。 private:只有包含该成员的类可以存取。 internal:只有当前工程可以存取。 protected:只有包含该成员的类以及派生类可以存取。 #### 类修饰符: abstract:抽象类。指示一个类只能作为其它类的基类。 sealed:密封类。指示一个类不能被继承。理所当然,密封类不能同时又是抽象类,因为抽象总是希望被继承的。 #### 成员修饰符: abstract:指示该方法或属性没有实现。 sealed:密封方法。可以防止在派生类中对该方法的override(重载)。不是类的每个成员方法都可以作为密封方法密封方法,必须对基类的虚方法进行重载,提供具体的实现方法。所以,在方法的声明中,sealed修饰符总是和override修饰符同时使用。 delegate:委托。用来定义一个函数指针。C#中的事件驱动是基于delegate + event的。 const:指定该成员的值只读不允许修改。 event:声明一个事件。 extern:指示方法在外部实现。 override:重写。对由基类继承成员的新实现。 readonly:指示一个域只能在声明时以及相同类的内部被赋值。 static:指示一个成员属于类型本身,而不是属于特定的对象。即在定义后可不经实例化,就可使用。 virtual:指示一个方法或存取器的实现可以在继承类中被覆盖。 new:在派生类中隐藏指定的基类成员,从而实现重写的功能。 若要隐藏继承类的成员,请使用相同名称在派生类中声明该成员,并用 new 修饰符修饰它。

相关推荐
迷渡11 小时前
聊一聊 Bun 用 Rust 重写这件事
开发语言·后端·rust
古怪今人11 小时前
Gradle构建工具 Groovy/Kotlin DSL的现代化自动化构建工具
开发语言·kotlin·自动化
赏金术士11 小时前
Kotlin 协程与挂起函数(Coroutines & suspend)入门到实战
android·开发语言·kotlin
y = xⁿ12 小时前
Java并发八股学习日记
java·开发语言·学习
xifangge202512 小时前
【深度排障】从 OS 底层寻址剖析 javac 不是内部或外部命令 核心报错:变量空间隔离与自动化部署终极范式
java·开发语言·jdk·自动化
肖恩想要年薪百万12 小时前
JSP中常用JSTL标签
java·开发语言·状态模式
l1t12 小时前
在aarch64机器上安装clang来生成codonjit python模块
开发语言·python
谙弆悕博士12 小时前
快速学C语言——第19章:C语言常用开发库
c语言·开发语言·算法·业界资讯·常用函数
月落归舟12 小时前
深入解析Java基础之基础
java·开发语言
折哥的程序人生 · 物流技术专研12 小时前
《Java 100 天进阶之路》第20篇:Java初始化、构造器、对象创建的过程
java·开发语言·后端·面试