C# 我们可以在重写方法时使用派生类型而不使用方法隐藏吗

C# 我们可以在重写方法时使用派生类型而不使用方法隐藏吗,c#,polymorphism,C#,Polymorphism,我不想使用隐藏在这里的方法,因为这是一种变通方法。还有其他建议或想法吗 public abstract class Product { public abstract ProductData Data { get ; protected set ;} } public class SpecificProduct : Product { public override SpecificProductData Data {get; } } public class Prod

我不想使用隐藏在这里的方法,因为这是一种变通方法。还有其他建议或想法吗

public abstract class Product 
{
    public abstract ProductData Data { get ; protected set ;}
}

public class SpecificProduct : Product
{
    public override SpecificProductData Data {get; } 

}

public class ProductData
{
    public string Name {get;set;}
}

public class SpecificProductData : ProductData
{
    public string Address { get; set; }
}

您可能需要考虑使用泛型。此基类需要保留更多类似于预期行为的属性。这将导致多个泛型类型作为参数传递:(您的代码似乎违反了。