c# - 如何在类中包含 "Empty"常量

标签 c# .net class constants member

我有一个类,我想在 System.Drawing 中包含一个类似于 Point.Empty 的“空”常量成员。这可能吗?

以下是错误原因的简化版本:

public class TrivialClass
{
    public const TrivialClass Empty = new TrivialClass(0);
    public int MyValue;
    public TrivialClass(int InitialValue)
    {
        MyValue = InitialValue;
    }
}

给出的错误是:TrivialClass.Empty 是 TrivialClass 类型。 string 以外的引用类型的 const 字段只能用 null 初始化。

如果重要的话,我想像这样使用它:

void SomeFunction()
{
    TrivialClass myTrivial = TrivialClass.Empty;
    // Do stuff ...
}

最佳答案

您可以对这些类型使用static readonly。常量只能用文字值(例如数字、字符串)初始化。

public class TrivialClass
{
    public static readonly TrivialClass Empty = new TrivialClass(0);
    public int MyValue;
    public TrivialClass(int InitialValue)
    {
        MyValue = InitialValue;
    }
}

在查找定义之后。 Point.Empty 也是static readonlyReference here .

关于c# - 如何在类中包含 "Empty"常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14468646/

相关文章:

java - 如何重写类对象本身的finalize()方法?

python - 新型类的运算符

class - Grails 域类可以从不是域类的类继承吗?

c# - Windows窗体与远程服务器之间如何实现实时数据同步

c# - 如何访问 RunSettings 文件中的 TestRunParameters

c# - 如何在 .NET 3.5 中配置 SmtpClient?

c# - Odbc Paradox 驱动程序 WHERE 子句 日期

c# - WPF - 组样式 : Can we only bind to the "Name" property?

c# - 如何开发DirectX应用程序?

c# - 如何为数据绑定(bind)组合框预定义组合框项?