【问题标题】:What is the use of declaring a user defined type constant with null value?用 null 值声明用户定义的类型常量有什么用?
【发布时间】:2013-02-18 22:06:55
【问题描述】:
public class TestClass
{
    const MyType SOMECONSTANT = null;

    protected string TestString { get; set; }    
}

public class MyType
{
    protected string FieldA { get; set; }
}

上面的代码是有效的并且可以编译。为什么 C# 允许引用类型 constnull?我如何使用这个SOMECONSTANT,因为这将永远是null

【问题讨论】:

  • 我想是因为 null 是可以分配给引用类型和可为空值类型的有效值。

标签: c# types reference constants


【解决方案1】:

它可以用作占位符,在开发周期的某个时间点保存指定对象的实例。通常,常量被用作比较的东西。采用这个想法并假设程序员 B 稍后将实现和实例化对象 PERFECT_TYPE,您可以这样说

const MyType PERFECT_TYPE = null;

以后可能会有

if (myInstance.Equals(TestClass.PERFECT_TYPE)) { /*do stuff*/ }

虽然在这种情况下我会指出您需要实现MyType.Equals(),但您明白了。这样的事情在存根中并不少见,尤其是在敏捷开发中。我会说存根更可能是属性而不是常量,但是,每个工具都有其用途......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-06
    • 1970-01-01
    • 2019-02-25
    • 1970-01-01
    相关资源
    最近更新 更多