Если у меня есть некоторые типы, например:
public class SomeType //Generated by some codegen i won't to change that.
{
string C { get; set; }
}
public class AnotherType : SomeType
{
string A { get; set; }
string B { get; set; }
}
Можно ли автоматически присвоить свойство C? Например, когда свойства A и B назначаются или когда я передаю этот тип другому типу или как-то еще?
В принципе, например, я хочу выполнить некоторую логику, чтобы автоматически присваивать свойство C в соответствии со значениями A и B в какой-то момент, когда заполняются значения свойств A и B.
Есть ли другие способы сделать это, а не использовать стандартные свойства?
Я думал, что можно сделать некоторого короля магии, когда я могу наложить тип AnotherType на SomeType, но я не могу реализовать неявный оператор, где я могу поместить эту логику преобразования "от A + B до C", потому что компилятор doesn ' t допускает неявный оператор для связанных типов.
Теперь только так, как я вижу, это удаление наследования и реализация неявного оператора для преобразования AnotherType в SomeType, но зло в этом случае мне нужно дублировать все свойства типа SomeType в типе AnotherType, и мне нужно каждый раз менять тип AnotherType вручную когда SomeType будет изменен.