У меня есть сложный тип объекта, для которого я переопределяю метод base.ToString(), чтобы он возвращал значение свойства строки.Возможно ли переопределить назначение «=» в C#
, например:
class foo
{
public string StringValue{get;set;}
public int SomeOtherValue{ get;set;}
public override ToString()
{
return StringValue;
}
}
Так что это позволяет мне использовать получить значение свойства StringValue легко.
Есть ли способ, которым я могу переопределить или расширить базовую функциональность, чтобы я мог использовать простой код, например ниже, для установки свойства StringValue
?
foo aFoo = new foo();
aFoo = "Some string value";
Is 'aFoo.StringValue =" Некоторое строковое значение ";' действительно *, что * toerous для ввода? ;-) –
Теперь, когда я правильно прочитал вопрос, я должен согласиться с Адамом. C# не предлагает здесь никакой поддержки, так что чтение кода позволяет понять, что именно происходит. Мы ничего не узнали из C++? – Jon
Btw, что бы вы хотели? Ленивости? (не поймите меня неправильно, я это уважаю) Или намерение запутать ваших коллег-разработчиков? :-D Серьезно, я действительно ненавижу все виды перегрузки оператора. Если ничего другого, «Перейти к определению» не работает, и у вас нет указаний на то, что происходит, глядя на код. – Groo