如果我有一些类型的e.g:C#自动分配基于其他财产的属性值
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被赋值,或者当我将这个类型转换为某种其他类型,或者以某种方式?
基本上,我想执行一些逻辑,以便在属性值A和B被填充时的某个点根据值A和B自动分配属性C.
是否有任何其他方式来做到这一点,而不是使用标准属性?
我在想,当我可以将类型AnotherType转换为SomeType时,我可能会做一些魔法之王,但我不能实现隐式运算符,因为我可能会将此转换逻辑“从A + B转换为C”,因为编译器不会不允许相关类型的隐式运算符。
现在只有办法我看到它是删除继承和实现AnotherType的SomeType转换的隐式运算符,但邪恶在这种情况下,我需要复制类型AnotherType中类型SomeType的所有属性,我需要手动更改类型AnotherType SomeType得到改变的时间。
我有继承我不能修改属性 – Kuncevic 2010-08-29 08:43:01
你没有修改名称或属性的类型,只是他们的getter和setter的实现不应该打破你的继承。 – 2010-08-29 08:44:25
@bigb:我对你的评论感到困惑。你是说A&B,也可能是C,它是你正在继承并且不能修改的类中的自动属性? – 2010-08-29 08:50:06