gpt4 book ai didi

c# - “短工具”Getter 'Long-Implement' Setter

转载 作者:行者123 更新时间:2023-12-03 02:52:06 26 4
gpt4 key购买 nike

对于公共(public)原始变量;是否可以实现 set 方法并“简短实现”get 方法?

当我说“Short-Implement”时,get 我的意思是:

public double width { get; set { width = (isLocked) ? 0:value; } }

使用 get 而不是“长期实现”:

public double width { get { return width; } set { width = (isLocked) ? 0:value; } }

当我尝试“短实现”get(顺便说一句,这个术语是什么?)和“长实现”set 时,出现编译错误。编译错误为:

 `Cube.width.get' must have a body because it is not marked abstract, extern, or partial

最佳答案

is it possible to implement the set method and 'Short-Implement' the get method?

不可以,自动实现的属性不允许您定义 getter 或 setter 实现的任何部分。

来自Auto-Implemented Properties (C# Programming Guide) :

In C# 3.0 and later, auto-implemented properties make property-declaration more concise when no additional logic is required in the property accessors

使用支持字段,并考虑将当 isLockedtrue 时调用 setter 的代码视为错误并引发异常。

set
{
if (isLocked)
throw new InvalidOperationException("Knock that set off!");

_width = value;
}

关于c# - “短工具”Getter 'Long-Implement' Setter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24237080/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com