C# 抽象类用法 - 获取错误 不一致的可访问性
本文关键字:访问 不一致 取错误 抽象类 用法 获取 | 更新日期: 2023-09-27 18:32:32
>我有一个类ConfirmNonInventoryViewModel
使用,但后来不得不提出另一个非常相似但具有不同属性的对象类型(随着功能的增加,它可能具有更多独特的属性)。
因此,我想将此原始类转换为基类,然后创建 2 个派生类来解释 2 个唯一对象变体。但是由于我已经有代码使用原始类并且不希望它使用,因此开发人员以后不会直接使用该基类,因此我认为将其标记为abstract
会阻止它被使用并使其只能使用派生变体。
但这给了我像Inconsistent Accessibility: base class is less accessible than derived class
这样的错误.所以我想我误解了抽象类的用途。
我怎样才能满足上述要求?
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{
//...
}
这样,基类就具有与派生类相同的可访问性。