首页 > 解决方案 > 在 C# 中限制表单类属性的访问修饰符

问题描述

我创建了一个继承Windows.FORM的DLL 类,我想将其属性访问修饰符(如 Size(width-height) 和 FormBorderStyle)限制为Private

在另一个大会中如此遥不可及。我应该怎么做,什么是相关的?也许使用抽象类?谢谢你的帮助

标签: c#winformsinheritancepropertiesaccess-modifiers

解决方案


不要这样做。

access modifiers旨在指导开发人员。它们绝不提供任何防止使用的保护。

想要访问它们的开发人员能够访问它们,即使它们是私有的并且弄乱框架默认值可能会导致严重的问题。


或者...

如果您的表单是完全独立的功能或特性,请在表单周围制作一个包装器。

例如:

//the wrapper
public class PropertyPages : IPropertyPages
{
     //your wrapped form...
     private YourForm _propertyForm = new YourForm(); 

     //a public show, but the form itself remain inaccessible.
     public void Show()
     {
         _propertyForm.Show();
     }
}

推荐阅读