C#只能设置一次的常量属性
我不断发现自己需要一个常量,该常量必须在方法的作用域之外声明,但只能在方法内部指定一个值。结果是,在赋值之前,我必须对方法中的值进行null检查,但在这一点上,我无法使常量成为常量 难道没有一个本机C#修饰符可以处理这个问题吗?如果没有,是否存在类似的语言?为什么它不存在于C#中 这里有一个类似的帖子:C#只能设置一次的常量属性,c#,C#,我不断发现自己需要一个常量,该常量必须在方法的作用域之外声明,但只能在方法内部指定一个值。结果是,在赋值之前,我必须对方法中的值进行null检查,但在这一点上,我无法使常量成为常量 难道没有一个本机C#修饰符可以处理这个问题吗?如果没有,是否存在类似的语言?为什么它不存在于C#中 这里有一个类似的帖子: 但它主要关注使用getter和setter进行空检查不可能在指定的方法内部设置类字段 但是,对于只能在构造函数内部设置的字段,可以限制该字段。当您要使用惰性实例惰性地初始化值时,该字段的关键字称
但它主要关注使用getter和setter进行空检查不可能在指定的方法内部设置类字段
但是,对于只能在构造函数内部设置的字段,可以限制该字段。当您要使用
惰性
实例惰性地初始化值时,该字段的关键字称为只读。这允许您在构造函数中设置Lazy
实例,这意味着字段可以是readonly
,但可以确保创建对象的方法在需要时才被调用,并且它只能初始化一次值。听起来像是想要一个属性查看readonly
。限制是您只能在构造函数中为它赋值。这在方法级别上是不可能的(在C#)。只有在类级别上才能执行类似操作。的可能重复,除非有人再次使用new
关键字。@user3185569仍然没有再次初始化该字段。这只是创建一个新实例,这正是您希望在readonly
字段中执行的操作。可以为每个实例设置一次,而不是为每个应用程序设置一次。如果需要后者,只需将其设置为静态
。