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{
//...
}
这样,您的基类与派生类具有相同的可访问性。谢谢……简单……而且显而易见。