个人资料

主页 博客 留言板 搜索
跳过导航链接首页 > 博客列表 > 博客正文

C#使用关键字using static简化引用代码,类似VB中函数模块

分类

我们知道使用static方法写静态方法,在使用的时候直接类名.方法();

比如class类:MyHelpper有静态方法

/// <summary> 什么也不做</summary>
public static void DoNothing(string description = "什么也不做")
{
    //什么也不做
}



使用的时候MyHelpper.DoNothing()即可,不需要实例化MyHelpper类。但是这样还是感觉太臃肿了,因此C#(6.0)新增using static语法,using static仅仅是编译器的语法糖,帮助我们简化代码的,和之前的写法并无任何本质上的差异,编译后是无任何差别的。

using static[class],跟进的是类名,不是命名空间。这一点和引用命名空间不同,同时引用的类必须是静态的,类是静态,里面的方法当然也全部是静态方法。例如:



namespace Functions
{
    static class GloableFunction
    {
        internal static void Dowork()
        {
            //dowork
        }
    }
}
//------------
using System.Windows.Forms;
using static Functions.GloableFunction;
 
namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            Dowork();//可以直接使用了
        }
    }
}

老的C#语法,这样简化写法可能只能通过继承来实现,还不能多重继承,这样C#可以实现类似VB中module的功能了。当然这只是简化写法,翻译成中间语言或机器语言后是没有差别的。


songshizhao
最初发表2018/6/4 10:55:47 最近更新2018/6/4 10:55:47 1139
为此篇作品打分
10