如何从另一个c#源文件导入静态方法并在没有"点"的情况下使用它?
喜欢 :
foo.cs
namespace foo
{
public static class bar
{
public static void foobar()
{
}
}
}
Run Code Online (Sandbox Code Playgroud)
Program.cs中
using foo.bar.foobar; <= can't!
namespace Program
{
class Program
{
static void Main(string[] args)
{
foobar();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我不能只是foobar();,但如果我写using foo;在顶部并foobar()尽可能地打电话foo.bar.foobar(),尽管很冗长.对此有任何解决方法吗?
Hab*_*bib 32
使用C#6.0,你可以.
C#6.0 允许静态导入(请参阅使用静态成员)
你将能够做到:
using static foo.bar;
Run Code Online (Sandbox Code Playgroud)
然后在你的Main方法中你可以做到:
static void Main(string[] args)
{
foobar();
}
Run Code Online (Sandbox Code Playgroud)
您也可以这样做System.Console:
using System;
using static System.Console;
namespace SomeTestApp
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Test Message");
WriteLine("Test Message with Class name");
}
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:自2015年1月发布Visual Studio 2015 CTP以来,静态导入功能需要明确提及static关键字,如:
using static System.Console;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8709 次 |
| 最近记录: |