覆盖受保护的虚拟而不继承

时间:2012-06-09 11:34:34

标签: c# .net wpf datagrid wpftoolkit

我的应用中有一堆DataGrids。我需要覆盖所有这些的受保护的虚拟方法。是否有比使用DataGrid类派生更好的名称更好的东西?我希望像附加属性这样的解决方案能够使用自定义属性指定覆盖行为。

2 个答案:

答案 0 :(得分:0)

在C#中,如果不继承该方法,则无法覆盖方法。 MSDN-Override。 覆盖方法的唯一方法是从该基类继承。你有什么理由不想从基类继承吗?

答案 1 :(得分:0)

你必须覆盖。覆盖您自己的MyOwnDataGrid中的方法(或更短的名称)。然后在使用datagrid时使用该类。如果你有数百个网格,你必须有一个奇怪的应用程序设计。如果您不想更改创建new DataGrid()的每个位置,我相信您可以更改using指令。

using DatGrid = My.NameSpace.MyOwnDataGrid;

你仍然必须使用datagrids对每个文件执行此操作,并且它使代码有点令人困惑,因此我认为最好只是执行全局搜索/替换“new DataGrid(”to“new MyOwnDataGrid( “你完成了。