我无法理解在继承的get
方法中正确使用base
和this
。我有一个接口IMatchModel
:C#使用基地或继承获得
public interface IMatchModel
{
int TypeId { get; }
DateTime DataDate { get; set; }
string TypeName { get; set; }
}
和基础模型类TradeModel
:
public class TradeModel
{
public long TradeId { get; set; }
public DateTime DataDate { get; set; }
public string TradeName { get; set; }
}
然后,我有从TradeModel
继承并实现IMatchModel
类。我目前使用下面的方法:
public class TradeMatchModel : TradeModel, IMatchModel
{
public int TypeId { get { return 1; } }
public string TypeName
{
get
{
return base.TradeName;
}
set
{
base.TradeName = value;
}
}
}
的TradeModel
类是对所有的属性进行动作的功能中使用。 IMatchModel
用于只需要包含在接口中的属性的函数。该代码正常工作,但我仍然觉得我不太明白,如果最好使用base
而不是this
。在这种情况下使用base
是不正确的?
一个简单的方法来思考这个问题是'base'将执行父类的代码,而'this'将执行代码当前课程。如果您重写任何方法或决定隐藏父类方法(通过'new'-ing它),请记住这一点。 – code4life