C#修饰符stattic、virtual、abstract、override、sealed、extern
来源:互联网 发布:火车头数据采集器使用 编辑:程序博客网 时间:2024/04/27 04:58
- static
用于所有成员(函数,类、方法、属性)成员不作用于类的具体实例。因此不需要实例化。
创建的一个Test1类里面包含static静态的属性和方法using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace WindowsFormsApplication3{ public class Test1 { public static string a = "123"; string _b = ""; public string b { get { return _b; } set { value = _b; } } public static void TestFunction() { } }}FORM窗口中调用该函数Test1.a = "qwe";Test1.TestFunction();注意:这是不需要实例化的。
- virtual
用于函数成员,成员可以由派生类重写。用该修饰符修饰的函数可以作为正常的函数使用,也可以在派生类中用override进行重写。 - abstract
对于该修饰符,在我的另一篇微博中作出了详细的讲解。
4.sealed
用于类、方法和属性。对于类不能进行继承只能实例化。对于属性和方法,不是类的每个成员方法都可以作为密封方法,要作为密封方法必须对基类的虚方法进行重写,提供具体的实现方法。
using System ;class A{ public virtual void F( ) { Console.WriteLine("A.F") ; } public virtual void G( ) { Console.WriteLine("A.G") ; }} class B: A { sealed override public void F( ) { Console.WriteLine("B.F") ; } override public void G( ) { Console.WriteLine("B.G") ; } } class C: B { override public void G( ) { Console.WriteLine("C.G") ; }}
5.extern
extern 修饰符用于声明在外部实现的方法。 extern 修饰符的常见用法是在使用 Interop 服务调入非托管代码时与 DllImport 特性一起使用。 在这种情况下,还必须将方法声明为 static,如下面的示例所示:
[DllImport(“avifil32.dll”)]
private static extern void AVIFileInit();
将 abstract 和 extern 修饰符一起使用来修改同一成员是错误的做法。 使用 extern 修饰符意味着方法是在 C# 代码的外部实现的,而使用 abstract 修饰符意味着类中未提供方法实现。
示例 1. 在此示例中,程序接收来自用户的字符串并将该字符串显示在消息框中。 程序使用从 User32.dll 库导入的 MessageBox 方法。 //using System.Runtime.InteropServices; class ExternTest { [DllImport("User32.dll", CharSet=CharSet.Unicode)] public static extern int MessageBox(IntPtr h, string m, string c, int type); static int Main() { string myString; Console.Write("Enter your message: "); myString = Console.ReadLine(); return MessageBox((IntPtr)0, myString, "My Message Box", 0); } }
0 0
- C#修饰符stattic、virtual、abstract、override、sealed、extern
- virtual,override,new ,extern,abstract修饰符
- virtual, sealed, override, abstract等修饰符作用
- C#中virtual,abstract,override修饰符
- C# 关键字 abstract, virtual, override, sealed, new
- C#中继承修饰符(virtual/abstract/sealed)
- C#中继承修饰符(virtual/abstract/sealed)
- C#中继承修饰符(virtual/abstract/sealed)
- C#中修饰符用法“virtual(虚拟函数)、override(函数复写)、static(静态函数)、abstract(抽象函数)、sealed(密封函数)”
- virtual、override、static、abstract、sealed
- new virtual abstract sealed override
- c#中override virtual static abstract sealed 的作用
- c#关键词 virtual、override、new、abstract、sealed的用法
- c#中abstract、override、new、virtual、sealed使用和示例
- c#中override virtual static abstract sealed 的作用
- C# new,Virtual,abstract,sealed,Override的簡單理解
- C#关键字sealed override abstract virtual new总结
- C#继承之base,virtual,override,abstract,new,sealed关键字
- acm数数小木块
- 今天心情非常好
- Struts2框架-基础知识
- jQuery动态生成html元素的几种方法
- 简单的二维码扫描封装,要在真机上试才不会崩溃
- C#修饰符stattic、virtual、abstract、override、sealed、extern
- JavaScript Ajax实现异步通信
- EL(Expression Language)表达式
- 消息队列选型[首选Kafka](备选:RabbitMQ/NSQ/RocketMQ/disque/Kafka)
- SQL Server 2008可视化设置外键
- 安卓ListView与ScrollView截图
- MindManager 2017中线条颜色该怎么调整?
- easyui 改变下拉框高度
- Hashtable