C#抽象类用法-获取不一致可访问性的错误

C#抽象类用法-获取不一致可访问性的错误,c#,C#,我有一个类被使用ConfirmNonInventoryViewModel,但后来不得不提出另一个对象类型,它非常相似,但有一个不同的属性(随着功能的增加,可能会有更多独特的属性) 所以我想把这个原始类转换成基类,然后创建两个派生类来解释这两个唯一的对象变体。但是,由于我已经有了使用原始类的代码,并且不希望它这样做,因此开发人员不会直接使用基类,我认为将它标记为abstract将阻止它被使用,并使其只能使用派生的变体 但这给了我一些错误,比如不一致的可访问性:基类比派生类更难访问。所以我想我误解了

我有一个类被使用
ConfirmNonInventoryViewModel
,但后来不得不提出另一个对象类型,它非常相似,但有一个不同的属性(随着功能的增加,可能会有更多独特的属性)

所以我想把这个原始类转换成基类,然后创建两个派生类来解释这两个唯一的对象变体。但是,由于我已经有了使用原始类的代码,并且不希望它这样做,因此开发人员不会直接使用基类,我认为将它标记为
abstract
将阻止它被使用,并使其只能使用派生的变体

但这给了我一些错误,比如
不一致的可访问性:基类比派生类更难访问。所以我想我误解了抽象类的用途

我如何满足上述要求

public class ConfirmWorkOrderNonInventoryViewModel : ConfirmNonInventoryViewModel
{
    [Display(Name = "Part:")]
    public int WorkOrderDetailId { get; set; }     
}

public class ConfirmShipOrderNonInventoryViewModel : ConfirmNonInventoryViewModel
{
    [Display(Name = "Order:")]
    public int OrderHeaderId { get; set; }
}

abstract class ConfirmNonInventoryViewModel
{
    [Display(Name = "Part:")]
    public int OrderDetailId { get; set; }

    [Display(Name = "Material:")]
    public string ItemDescription { get; set; }

    [Display(Name = "Est Qty:")]
    public decimal EstimatedQty { get; set; }

    [Required]
    [Display(Name = "Act Qty:")]
    [UIHint("TextBoxFor_50w")]
    public decimal? ConfirmedQty { get; set; }
}

只需将
public
添加到您的类中,它就会变成:

public abstract class ConfirmNonInventoryViewModel{
   //...
}

这样,您的基类与派生类具有相同的可访问性。

谢谢……简单……而且显而易见。