我有一个看起来像这样的静态 ExceptionHelper
:
public static class ExceptionHelper
{
public static async void ShowDialog(string message)
{
// Show message
}
}
每当我想调用这个方法时,我都会这样做:
ExceptionHelper.ShowDialog("This is a message.");
我现在想为 ExceptionHelper
定义一个别名,这样每次我想使用它时都不必写出整个单词。
我知道我可以通过 using
实现它:
using Ex = MyNamespaces.ExceptionHelper;
但是我必须在我想使用该方法的每个文件中定义它。有没有一种方法可以在不更改类名的情况下全局定义别名?或者我可以在类声明上方设置任何属性吗?
最佳答案
扩展方法
您可以将其作为字符串的扩展方法。
public static class ExceptionHelper
{
public static async void ShowDialog(this string message)
{
// Show message
}
}
然后你会像这样使用它:
using WhateverNamespaceExceptionHelperLivesIn;
public class TestClass
{
public void TestMethod()
{
"This is a message".ShowDialog();
}
}
这使您的问题变得毫无意义 - 您根本不必定义别名。
静态导入
另一种方法是静态导入类。您不需要别名,因为您可以直接引用 ShowDialog
方法。这将需要 C#6/Visual Studio 2015。
using static WhateverNamespaceExceptionHelperLivesIn.ExceptionHelper;
public class TestClass
{
public void TestMethod()
{
ShowDialog("This is a message");
}
}
关于c# - 为静态类定义全局别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38051450/