首页 > 解决方案 > 如何创建一个静态整数类?

问题描述

首先,一个例子,在 Windows 窗体中我可以调用:

Color.Red;  

并得到一个哈希值。我正在寻找的是有一个 ErrorLevel 类,它具有以下内容:

ErrorLevel.Warning

它只是返回一个值为 0、1 等的整数。

我对静态类、接口等有很好的理解。

我对如何执行此操作的替代方法不感兴趣,例如某些控制台类已经具有此功能,因为我想了解此主题。

它的名字也可以帮助我进行谷歌搜索/在线教程。

现在我正在搞砸这个,但不知道我在做什么。

internal class ErrorLevel
{
    public static ErrorLevel Error { get; }
    public static ErrorLevel Warning { get; }
    public static ErrorLevel Info { get; }
}

标签: c#staticinteger

解决方案


在您的班级中, anErrorLevel包含三个ErrorLevels。其中每一个都包含什么?它们将包含三个ErrorLevels。每一个都包含三个ErrorLevels... 在任何时候都没有实际值。

最简单的,听起来你在描述一个enum

public enum ErrorLevel
{
    Error,
    Warning,
    Info
}

但是,如果您想要更自定义的功能,例如您描述的功能,那么请专注于您所描述的内容:

并得到一个哈希值

所以属性值为string。如果您的属性应该是字符串,请将它们设为:

internal class ErrorLevel
{
    public static string Error { get; } = "Error";
    public static string Warning { get; } = "Warning";
    public static string Info { get; } = "Info";
}

甚至可能只是常量值:

internal class ErrorLevel
{
    public const string Error = "Error";
    public const string Warning = "Warning";
    public const string Info = "Info";
}

推荐阅读