gpt4 book ai didi

c# - 使属性只能通过特定方法设置

转载 作者:行者123 更新时间:2023-11-30 12:42:34 25 4
gpt4 key购买 nike

我正在尝试制作化学方程式平衡器。为此,我制作了一个类元素:

class Element
{
public elemEnum ElemType {get; set;}
public double Amount {get; set;} // How many atoms of this type in the formula
}

*elemEnum 是所有化学元素的枚举。

我想让 ElemTypeset 将字符串解析为枚举,但由于 set 只能接受相同的值type as value 我决定添加一个方法:

public void SetElemType(string type)
{
this.ElemType = (elemEnum)Enum.Parse(typeof(elemEnum), type);
}

是否可以选择让 ElemType 属性只能通过 SetElemType 方法设置,而不必将其设为 private 并添加GetElemType 方法?

最佳答案

由于评论中最明显的解决方案尚未写成答案:

使用private setter .

class Element
{
public ElemEnum ElemType {get; private set;}
public double Amount {get; set;}

public void SetElemType(string type)
{
this.ElemType = (ElemEnum)Enum.Parse(typeof(ElemEnum), type);
}
}

这样,ElemType 只能在您自己的类中设置。

关于c# - 使属性只能通过特定方法设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33196609/

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