C# 在另一个属性内重写/隐藏类属性
我想对另一个属性的继承类隐藏某个属性 我要继承的类:C# 在另一个属性内重写/隐藏类属性,c#,properties,overriding,C#,Properties,Overriding,我想对另一个属性的继承类隐藏某个属性 我要继承的类: public class Sensor { public Guid ID { get; set; } } 属性从传感器继承的另一个类: public class TargetDeck { public Sensor TargetSensor { get; set; } } TargetDeck不从传感器继承,仅从TargetSensor继承。由于传感器中的Guid ID,我收到Guid ID冲突。我的想法是为Target
public class Sensor
{
public Guid ID { get; set; }
}
属性从传感器继承的另一个类:
public class TargetDeck
{
public Sensor TargetSensor { get; set; }
}
TargetDeck不从传感器继承,仅从TargetSensor继承。由于传感器中的Guid ID,我收到Guid ID冲突。我的想法是为TargetSensor隐藏该属性。如果可能的话,我怎么做 只需重写子类中的属性getter即可
public class TargetSensor : Sensor
{
public Guid ID {
get {
return new Guid("This is your default/overridden property");
}
set;
}
}
在阅读了最近的评论之后,这可能不是OP想要的
编辑:这可能是的一个实例。您能提供一个更完整的代码示例吗?仅包含相关属性的类定义。@TimS上面的内容够了吗?Sensor类中有更多字段,但我只想在TargetSensor属性中覆盖Guid ID。覆盖是什么意思?您不是继承自
Sensor
您是说当用户拥有Sensor类的实例并访问属性sensorInstance.ID时,您想返回TargetSensor属性的ID吗?@ShannonMorris我想您不明白这是什么意思。如果TargetSensor是一个类,这会很有帮助,但TargetSensor是一种财产。我原来的帖子不是很清楚。谢谢你的回复!我现在明白了,如果您希望该属性在属于TargetDeck
类时具有默认ID,您可以在TargetDeck
的构造函数中通过将属性设置为newsensor{ID=“default/OVERRIDEEN”}