在 C# 中,有没有一种方法可以将 Microsoft.VisualBasic.Interaction.MsgBox() 之类的引用调用缩短为 myMsgBox() 之类的东西?
In C# is there a way to shorten reference calls like Microsoft.VisualBasic.Interaction.MsgBox() to something like myMsgBox()?
我是 c# 的新手,所以如果这是一个显而易见的愚蠢问题,或者我措辞不当,我深表歉意。
我正在开发一个 VC# 项目,该项目需要非常频繁地使用 MsgBox() 和 InputBox() 方法,无论是键入整个内容还是在某个地方找到它都让人感到沮丧else 在代码中并复制粘贴它。首先想到的是#define,但由于它是一个函数而不是 constant/variable,我不确定该怎么做,或者它是否可能。
在此先感谢您的帮助。
您可以创建一个调用所需方法的委托:
Action<string> print = (s) => System.Console.WriteLine(s);
用法:
print("hello");
如果您只需要缩短命名空间和 class 名称就可以了,您可以使用类型别名:
using C = System.Console;
用法:
C.WriteLine("hello");
使用 C# 6.0,您甚至可以从一个类型中导入所有静态方法:
using static System.Console;
用法:
WriteLine("hello");
System.Console.WriteLine
只是一个示例,它适用于任何(静态)方法。
如果您使用的是 C# 6,则可以使用 using static
:
using static Microsoft.VisualBasic.Interaction;
这允许调用静态 class(此处 Interaction
)的任何方法,而无需稍后在代码中再次引用它。因此,您可以调用 MsgBox()
而不是 Interaction.MsgBox()
我是 c# 的新手,所以如果这是一个显而易见的愚蠢问题,或者我措辞不当,我深表歉意。
我正在开发一个 VC# 项目,该项目需要非常频繁地使用 MsgBox() 和 InputBox() 方法,无论是键入整个内容还是在某个地方找到它都让人感到沮丧else 在代码中并复制粘贴它。首先想到的是#define,但由于它是一个函数而不是 constant/variable,我不确定该怎么做,或者它是否可能。
在此先感谢您的帮助。
您可以创建一个调用所需方法的委托:
Action<string> print = (s) => System.Console.WriteLine(s);
用法:
print("hello");
如果您只需要缩短命名空间和 class 名称就可以了,您可以使用类型别名:
using C = System.Console;
用法:
C.WriteLine("hello");
使用 C# 6.0,您甚至可以从一个类型中导入所有静态方法:
using static System.Console;
用法:
WriteLine("hello");
System.Console.WriteLine
只是一个示例,它适用于任何(静态)方法。
如果您使用的是 C# 6,则可以使用 using static
:
using static Microsoft.VisualBasic.Interaction;
这允许调用静态 class(此处 Interaction
)的任何方法,而无需稍后在代码中再次引用它。因此,您可以调用 MsgBox()
而不是 Interaction.MsgBox()