【问题标题】:how to hide base class properties in child form in C#如何在 C# 中隐藏子窗体中的基类属性
【发布时间】:2016-10-04 19:40:13
【问题描述】:

我有两个不同的类(Invoice 类和 invoiceSummary 类)。我继承了这样的Invoice:InvoiceSummary

我已使用此代码隐藏子类的属性

    [Browsable(false)]
    public string ItemNo
    {            
        get { return itemNo;  }
        set { itemNo = value; }
    }

但上面的代码 - 在两个类中隐藏我的属性,这意味着(基类和子类)

我的问题是: 我只需要从子类中隐藏此属性,这意味着 (InvoiceSummary 类) datagridview 同时我需要在我的基类 datagridview 中显示相同的属性..请给我一个解决方案..

发票类代码

  namespace BillingSystem.Business
   {
    [Serializable()]
    public class Invoice : ISerializable
    {
    private string invoiceid;
    private string itemNo;

    [Browsable(false)]
    public string Invoiceid
    {
        get { return invoiceid; }
        set { invoiceid = value; }
    }

   [Browsable(false)]
    public string ItemNo
    {

        get { return itemNo;  }
        set { itemNo = value; }
    }

InvoiceSummary 类属性

     public class invoiceSummary :Invoice
     {
      private int no;
      private string customerName;
      private int invoiceID;   
     }

有关更多详细信息,我已附上屏幕截图 InvoiceSummary dataGridView

【问题讨论】:

  • 检查 C# 中的“sealed”修饰符。

标签: c# oop c#-4.0 datagridview


【解决方案1】:

您希望将sealed 修饰符添加到基类中的属性。

public sealed string ItemNo
{            
    get { return itemNo;  }
    set { itemNo = value; }
}

这将防止从基类继承的类覆盖此属性。

【讨论】:

  • 为什么这个错误显示为“不能被密封,因为它不是覆盖”?
  • 请给我一个解决方案
猜你喜欢
  • 2016-11-12
  • 1970-01-01
  • 2021-02-27
  • 1970-01-01
  • 2012-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多