用null值声明用户定义的类型常量有什么用

本文关键字:类型 常量 什么 定义 null 声明 用户 | 更新日期: 2023-09-27 18:00:12

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值声明用户定义的类型常量有什么用

它可以用作占位符,在开发周期的稍后某个时刻,它将保存指定对象的实例。一般来说,常数是用来比较的。根据这个想法,假设程序员B稍后将实现并实例化对象PERECT_TYPE,您可以说类似的内容

const MyType PERFECT_TYPE = null;

以后我可能会有

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

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