C# 我应该使用类还是结构来包装方法?

C# 我应该使用类还是结构来包装方法?,c#,C#,我希望能够将三种类型的消息打印到控制台:警告、错误和成功。为此,每次我都必须将控制台的ForegroundColor更改为黄色、红色或绿色,打印消息并将颜色更改回原来的颜色。为了加快速度,我决定创建一个类(比如说Printer),它有三种方法:警告(消息),错误(消息),成功(消息)。现在我的问题是:Printer应该是struct还是class?我不打算在这个类中有更多的字段/方法。实际上听起来这应该是一个静态类 public static class Printer { public

我希望能够将三种类型的消息打印到控制台:警告、错误和成功。为此,每次我都必须将控制台的
ForegroundColor
更改为黄色、红色或绿色,打印消息并将颜色更改回原来的颜色。为了加快速度,我决定创建一个类(比如说
Printer
),它有三种方法:
警告(消息)
错误(消息)
成功(消息)
。现在我的问题是:
Printer
应该是
struct
还是
class
?我不打算在这个类中有更多的字段/方法。

实际上听起来这应该是一个静态类

public static class Printer
{
    public static void Warning(string message)
    {
        var currentColor = Console.ForegroundColor;
        Console.ForegroundColor = ConsoleColor.Yellow;
        Console.WriteLine(message);
        Console.ForegroundColor = currentColor;
    }

    //Other similar methods here
}
那么你会这样称呼它

Printer.Warning("This is a warning");

听起来这应该是一个静态类

public static class Printer
{
    public static void Warning(string message)
    {
        var currentColor = Console.ForegroundColor;
        Console.ForegroundColor = ConsoleColor.Yellow;
        Console.WriteLine(message);
        Console.ForegroundColor = currentColor;
    }

    //Other similar methods here
}
那么你会这样称呼它

Printer.Warning("This is a warning");

听起来它甚至可以是一个静态类。不是真的,至少我不这么认为。我知道当您只想将一些简单的值组合在一起时,结构是最常用的。但我也听说,如果一个类不修改它的成员,它应该是一个结构。我不确定这是否正确,这就是为什么我要问:)静态类只是说你有一个独立于任何对象的方法。常规类和结构都包含基于instations的数据和方法。不同之处在于数据在内存中的存储位置和传递方式。但是,从你在这里所说的,我没有理由认为这不是静态类中的一组方法。我发现,这通常帮助我决定是否遇到了所有的CrTiRIIa,考虑到一个结构:如果多个线程可以使用日志打印机,则考虑锁定。否则,你可能会得到错误的前景颜色。听起来它甚至可能是一个静态类。不是真的,至少我不这么认为。我知道当您只想将一些简单的值组合在一起时,结构是最常用的。但我也听说,如果一个类不修改它的成员,它应该是一个结构。我不确定这是否正确,这就是为什么我要问:)静态类只是说你有一个独立于任何对象的方法。常规类和结构都包含基于instations的数据和方法。不同之处在于数据在内存中的存储位置和传递方式。但是,从你在这里所说的,我没有理由认为这不是静态类中的一组方法。我发现,这通常帮助我决定是否遇到了所有的CrTiRIIa,考虑到一个结构:如果多个线程可以使用日志打印机,则考虑锁定。否则,您可能会得到错误的前景色。