c# - 如何防止修改继承的属性?

标签 c# wpf inheritance

我向标准 wpf 组合框添加了一些额外的东西。在构造函数中我设置了两个属性:

public SmartComboBox()
            : base()
        {
            this.IsEditable = true;
            this.IsTextSearchEnabled = false;
            ...
        }

这两个属性继承自System.Windows.Controls.ComboBox。 在构造函数中设置这两个属性的值后,如何防止修改它们?

最佳答案

简短的回答:你不能,因为你不能改变属性修饰符。 如果你想隐藏一个实现,只需在你的类中封装 ComboBox 类。

public class SmartComboBox {

     private ComboBox _uiCombo = ....
}

还有另外一件事:

在您的示例中,在提供的代码中,没有任何理由在 ctor 上显式调用 base(),因为它将由 CLR 调用

关于c# - 如何防止修改继承的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13036854/

相关文章:

inheritance - 让 Entity Framework 忽略派生类型

c# - 用于在 azure 中上传 blob 的文件名约定

c# - 从 Unity3d 调用 native DLL 的最佳方法是什么?

c# - 创建线程就像在 C# 中创建一个单独的应用程序一样

wpf - XAML 中的幻灯片动画

c# - 所选项目ComboBox没有显示正确的ID WPF

c++ - 书架分店是分店吗?

javascript - 如何在服务器端监听客户端事件

c# - 将 Backgroundworker 重构为异步/等待

ios - 在 Swift 中,如何防止函数在子类上被调用?