2
public class TestClass
{
    const MyType SOMECONSTANT = null;

    protected string TestString { get; set; }    
}

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

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

4

1 回答 1

2

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

const MyType PERFECT_TYPE = null;

后来我可能有

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

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

于 2013-02-18T22:13:17.047 回答