Если у меня есть несколько типов, например:
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», потому что компилятор не t разрешить неявный оператор для связанных типов.
Теперь только так, как я вижу, это удалить наследование и реализовать неявный оператор для преобразования AnotherType в SomeType, но зло в этом случае мне нужно дублировать все свойства типа SomeType внутри типа AnotherType, и мне нужно каждый раз вручную менять тип AnotherType когда SomeType меняется.