私は次の場合があります:
public class GeoLocation
{
public double Longitude { get; set; }
public double Latitude { get; set; }
public string LocationName { get; set; }
}
public abstract class Base
{
public abstract GeoLocation GeoLocation { get; set; }
}
public class Concrete : Base
{
public override GeoLocation GeoLocation
{
get;
set;
}
}
Concrete2
ここで、からも継承するクラスを作成し、オブジェクトにもう1つのプロパティを持たBase
せたい場合:GeoLocation
public string Address{ get; set; }
これを実装するための最良の方法は何ですか?
と呼ばれる新しいクラスを作成し、そこにプロパティGeoLocationEx : GeoLocation
を配置することもできますAddress
が、Concrete2オブジェクトには、2つのプロパティがありGeoLocation
ますGeoLocationEx
。
GeoLocationクラスを部分的にしAddress
て、クラスのプロパティで拡張することもできますConcrete2
が、これが部分クラスの「適切な」使用であるかどうかはわかりません。
これを行うための最良の方法は何でしょうか?
よろしくお願いします!