我可以覆盖父类中编写的抽象方法,在子类中使用不同的名称吗?

Ran*_*ray 0 c# overriding parent abstract

abstract class SettingSaver
    {


        public abstract void add(string Name, string Value);
        public abstract void remove(string SettingName);


    }


class XMLSettings : SettingSaver
    {

        public override void add(string Name, string Value)
        {
            throw new NotImplementedException();
        }

        public override void remove(string SettingName)
        {
            throw new NotImplementedException();
        }




    }
Run Code Online (Sandbox Code Playgroud)

无论如何,我可以将XMLSettings类中的add函数的名称更改为addSetting但是确保它覆盖了SettingSaver中的add函数吗?我知道它应该在派生类中明确覆盖,但只是想知道我是否可以使用不同的名称:) Thanx提前:D

Jon*_*eet 9

不,在C#中覆盖方法时,无法更改名称.

当然,您可以通过调用不同的方法来覆盖该方法并实现它.

(在命名约定上,方法通常是PascalCased,以大写字母开头.参数通常是camelCased,从小写字母开始.)

  • @Ranhiru:是的.但是,由于VB(始终)和C#(从v4开始)支持使用命名参数进行调用,因此这样做可能会非常混乱.我建议不要这样做. (3认同)