#c_sharp
В Delphi, VB есть методы и/или свойства по умолчанию. В C# я нашел только обращение к элементам массива через свойства по умолчанию: public class Skyscraper { Story[] stories; public Story this [int index] { get { return stories [index]; } set { if (value != null) stories [index] = value; } } ... } ... Skyscraper empireState = new Skyscraper (...); empireState[102] = new Story ("The Top One", ...); Можно ли объявить произвольный метод (или хотя бы свойство), к которому можно было бы обращаться так же? Например, так (код естественно не рабочий, но примерно описывающий, что нужно): public class Skyscraper { Story[] stories; public default Story { get { return storie; } set { storie = value; } } ... } .... Skyscraper empireState = new Skyscraper (...); empireState = "The Top One";
Ответы
Ответ 1
class Skyscraper { public static implicit operator Skyscraper(string str) { var skyScraper = new Skyscraper(...); skyScraper[102] = new Story (str, ...); return skyScraper; } } ... Skyscraper empireState = new Skyscraper (...); empireState = "The Top One"; implicit operator
Комментариев нет:
Отправить комментарий