gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-30 00:49:54 24 4
gpt4 key购买 nike

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

所以我想将这个原始类变成基类,然后创建 2 个派生类来处理 2 个独特的对象变体。但是由于我的代码已经在使用原始类并且不希望它使用,因此开发人员不会直接使用该基类,我认为将其标记为 abstract 会阻止它从被使用和制作它所以只能使用派生的变体。

但这给我带来了错误,例如 Inconsistent Accessibility: Base class is less accessibility 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{
//...
}

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

关于C# 抽象类用法 - 获取错误不一致的可访问性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35075969/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com