4
我有一個類被用於ConfirmNonInventoryViewModel
,但隨後不得不想出另一個非常相似但具有一個不同屬性的對象類型(隨着功能的增加)。C#抽象類的用法 - 獲取錯誤不一致的可訪問性
所以我想將這個原始類轉換爲基類,然後創建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; }
}
謝謝......簡單......而且很明顯。 –