我想重载DataTable.Select方法,定义了一个类,继承DataTable,然后重载Select方法,编译出错,错误如下:
Error 1 'TestDataset.Class1.Select(string)': cannot override inherited member 'System.Data.DataTable.Select(string)' because it is not ed virtual, abstract, or override E:\20080717\TempProgram\TestDataset\TestDataset\Class1.cs 11 35 TestDataset
哪位能解释一下,这个方法可以重载吗?为什么?

解决方案 »

  1.   

    这个方法不能重载你可以敲override看提示
      

  2.   

    不是想重载就能重载的,必须声名为virtual的才能重载的
      

  3.   

    DataTable的Select方法不是虚方法,不能重写
      

  4.   

    DataTable不是密封类,可以继承
      

  5.   

    可以重载,楼主可以把你的重载方法给我们看看吗?
    再说已经有四种重载了,难道都不能满足楼主的需要?
    只要方法名相同就行,完全可以重载。
    楼主说的是重写,正确说应该是覆盖吧,你是不是用override 那是覆盖,
    DataTable的Select方法定义时没有Virtual关键字,所以不能override,
    你可以看msdn上关于DataTable的select方法的定义