我有以下情况:
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
也继承自的类,Base
并且我希望该GeoLocation
对象还有 1 个属性:
public string Address{ get; set; }
实现这一点的最佳方法是什么?
我可以创建一个名为的新类GeoLocationEx : GeoLocation
并在其中放置Address
属性,但是在我的 Concrete2 对象中,我将有 2 个属性:GeoLocation
并且GeoLocationEx
我不喜欢这些属性...
我也可以将 GeoLocation 类设为部分类,并使用该类的Address
属性对其进行扩展,Concrete2
但我不确定这是否是对部分类的“正确”使用。
最好的方法是什么?
在此先感谢您的帮助!