-2

我想让我的程序“模块化”,我想知道我是否采取了正确的方法。

我的意思是我希望在它自己的 c# 文件中包含一些可重用的“处理”内容。通过这种方式,我可以简单地在项目之间复制文件,以便能够重用我的代码。由于这可能没有意义,让我用一个例子来解释。

程序.cs

static class Program
{
    static void Main()
    {
        int[] x = {0, 0, 0, 0, 0};
        BClass b = new BClass(x);
        Console.Write("[ ");
        foreach (int i in x)
        {
            Console.Write(i + " ");
        }
        Console.Write("]\n");
        Console.Read();
    }
}

B类.cs

class BClass
{
    int[] x;
    public BClass(int[] x)
    {
        for (int i = 1; i < 5; i++)
        {
            x[i] = i;
        }
    }
}

现在,这工作正常,我得到了我期望的输出,但感觉不对,我猜?除了我的直觉之外,我还收到了警告(正如我所料),因为该BClass对象未使用。最终,我的问题是使程序模块化的最佳方法是什么?使用类感觉不对,因为我最终引用了一个永远不会使用的对象。也许我使用错误的类?

4

1 回答 1

2

看起来您想要一些可以从应用程序中的任何位置运行的逻辑。为此,您将使用静态方法。

静态方法不需要运行实例。

由于所有BClass内容都包含一个静态方法,因此您也可以将其设为BClass静态。静态类是不能实例化的类。它只存在于包含静态方法。

public static class BClass
{
    public static void DoStuff(int[] x)
    {
        for (int i = 1; i < 5; i++)
        {
            x[i] = i;
        }
    }
}

当你想使用这个逻辑时,你只需这样做

BClass.DoStuff(myArray);
于 2016-05-03T16:40:42.667 回答