У меня есть класс Customer, у которого есть свойство List <string
> Roles. Большую часть времени я хочу получить доступ к этому свойству как к списку строк, но иногда я хочу видеть его как список, разделенный запятыми.
Я, конечно, мог бы сделать это в новом методе, и если бы я ожидал получить значение переменной в разных форматах (с разделителями-запятыми, с разделителями табуляции и т. Д.), Я бы, конечно, сделал это. Однако мне нравится идея использовать два разных свойства для доступа к значению переменной, что-то вроде
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 () этого конкретного списка. Есть ли веские причины делать 1 над другим? Является ли использование двух разных свойств для возврата одного и того же значения переменной достаточно нестандартным, чтобы вызвать красные флаги?