我的班级结构如下:
public class Animal
{
private int _animalId;
public virtual int AnimalId
{
get { return _animalId; }
}
}
public class Dog : Animal
{
public override int AnimalId
{
get
{
if (Request.Params["New_Animal"] == "true")
return -1;
else
return AnimalId;
}
}
}
我想重写AnimalId
属性,如下所示:
如果是新动物,则id应该为-1,但是如果要更新现有动物,我想从基类中返回AnimalId
。
这是一个极其简化的示例,但是我想知道是否/如何完成。
谢谢
答案 0 :(得分:3)
使用base.AnimalId
public class Animal
{
private int _animalId;
public virtual int AnimalId
{
get { return _animalId; }
}
}
public class Dog : Animal
{
public override int AnimalId
{
get
{
if (Request.Params["New_Animal"] == "true")
return -1;
else
return base.AnimalId;
}
}
}
答案 1 :(得分:0)
您可以将动物编号中的animalId设置为私有保护,而在狗中则可以在属性中返回base.animalid