在Visual Studio(C#)中设计应用程序时,如果我知道一定数量的DataGridViews都具有相同的属性(例如宽度,高度,颜色以及其他一些属性,例如:disable选项以直接编辑行等)。是否可以使自己的类(“ myDataGridView”)继承DataGridView类并在那里进行所有调整,然后稍后在代码中实例化该类?像这样:
//my class:
class myDataGridView : DataGridView
{
this.BorderStyle = <someValue>
this.ColumnCount = <someValue>
//etc.
public void method1()
{
//some code...
}
public void method2()
{
//some code...
}
}
//instantiate it somewhere:
myDataGridView dgv1 = new myDataGridView();
myDataGridView dgv2 = new myDataGridView();
myDataGridView dgv3 = new myDataGridView();
关于OO原则可以吗?我的朋友说,把代码像
this.BorderStyle = <someValue>
在myDataGridView类中是不好的做法,因为调整这样的属性将超出dataGridView的属性,如果您知道我的意思,某些其他开发人员可能会在Visual Studio中以可视方式对其进行调整。有关系吗我的意思是,如果我想将DataGridView视为对象,则它可以具有其属性和行为,对吗?并且在我的类中包含用于调整DataGridView属性的代码是可以理解的,并且其他每个想要更改某些属性的开发人员都可以在myDataGridView类中对其进行更改。那种做法是好是坏?如果是这样,当您知道您的应用程序将具有许多具有相同属性/行为的DataGridView时,最佳实践是什么?谢谢。
最佳答案
我认为这不是正确的方法。只为少量属性修改而继承控件是没有意义的。您不会在控件中引入任何其他行为,而是尝试编写一些初始化帮助器方法来执行此操作。