gpt4 book ai didi

c# - 使用两个不同的公共(public)属性到 "get"具有不同返回类型的相同私有(private)变量

转载 作者:太空宇宙 更新时间:2023-11-03 17:23:32 25 4
gpt4 key购买 nike

我有一个 Customer 类,它有一个列表 <string > 角色属性。很多时候我希望以字符串列表的形式访问该属性,但有时我希望将其视为以逗号分隔的列表。

我当然可以用一种新的方法来做到这一点,如果我预计想要以不同的格式(逗号分隔、制表符分隔和 &ct)获取变量的值,我当然会这样做。但是,我正在考虑使用两个不同的属性来访问变量值的想法,类似于

public List<string> Roles 
{
get { return this._Roles; }
set { this._Roles = value; }
}

public string RolesToString
{
get { do some work here to comma-delimit the list; }
}

本质上,我想覆盖此特定 列表的 ToString() 方法。是否有令人信服的理由来做一个而不是另一个?使用两个不同的属性返回相同的变量值是否足够不标准以导致危险信号?

最佳答案

我会让你的第二个“属性”成为一个方法。它在您的列表上进行额外的处理,并返回不是对象的直接“属性”的东西,而是对象属性的处理版本。这似乎是一个合理的候选方法。

我的偏好是:

public List<string> Roles 
{
get { return this._Roles; }
set { this._Roles = value; }
}

public string GetRolesAsString()
{
// Do processing on Roles
}

关于c# - 使用两个不同的公共(public)属性到 "get"具有不同返回类型的相同私有(private)变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/858886/

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