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”}