C# 将类导入为 *

coo*_*tje 5 c# namespaces class

在使用 C# 构建我的第一个大项目后,我遇到了一个问题。我的项目文件大约有 7000 行大 atm 和填充函数和其他类。这当然有点混乱,为了找到我实际需要的代码,我有时需要滚动很多,所以我想将所有类和函数删除到不同的文件中。我知道我可以添加 ac# 类文件,然后通过执行访问它

    namespace Namespace
{
    class Functions
    {
        // Example Functions here
    }
}

    namespace OtherNamespace
{
    class OtherClass
    {
        Namespace.Functions.Examplefunction
    }
}
Run Code Online (Sandbox Code Playgroud)

如果示例函数确实存在,那就是。但我想摆脱 Namespace.Functions 部分,因为它可以为我节省大量打字时间,而且我经常使用这些函数。我该怎么做?甚至有可能吗?

我知道可以像这样在 python 中实现

import math as *
Run Code Online (Sandbox Code Playgroud)

例如,那么你就不必写

math.cos(0)
Run Code Online (Sandbox Code Playgroud)

但是你可以写

cos(0)
Run Code Online (Sandbox Code Playgroud)

Pat*_*gee 5

如果要使用许多静态辅助函数,可以使用 C# 的静态导入功能。我提供了一个基本的例子。您可以使用此标准的.NET Framework类,例如System.MathSystem.Console等等。

namespace Utils 
{
    // using static
    using static Utils.Helper;

    public class Program
    {
        public static void Main()
        {
            // no need to type Helper.Pow(2, 2);
            var x = Pow(2, 2);

            Console.WriteLine(x);
        }
    }
}

namespace Utils
{
    public static class Helper
    {
        public static double Pow(int x, int pow) => Math.Pow(x, pow);
    }
}
Run Code Online (Sandbox Code Playgroud)