当前位置:  开发笔记 > 编程语言 > 正文

我可以从调用代码调用类的基础构造函数吗?

如何解决《我可以从调用代码调用类的基础构造函数吗?》经验,为你挑选了1个好方法。

我有两个类,一个派生自另一个,都有参数化构造函数.我想在实例化派生类时调用两个类中的构造函数.

所以我的问题是:从调用代码向基类和派生类传递参数的语法是什么?

我试过这样的东西,但它没有编译:

DerivedClass derivedclass = new DerivedClass(arguments):base( arguments); 

Andrew Hare.. 12

遗憾的是,您无法从调用代码将值传递给不同的构造函数.换句话说,这不起作用:

Foo foo = new Foo(arg1):base(arg2)

然而,您可以设置构造函数Foo来为您执行此操作.尝试这样的事情:

class FooBase
{
    public FooBase(Arg2 arg2)
    {
        // constructor stuff
    }
}

class Foo : FooBase
{
    public Foo(Arg1 arg1, Arg2 arg2)
        : base(arg2)
    {
        // constructor stuff
    }
}

然后你会像这样调用构造函数:

Foo foo = new Foo(arg1, arg2)

并且Foo构造函数将为您路由arg2到基础构造函数.



1> Andrew Hare..:

遗憾的是,您无法从调用代码将值传递给不同的构造函数.换句话说,这不起作用:

Foo foo = new Foo(arg1):base(arg2)

然而,您可以设置构造函数Foo来为您执行此操作.尝试这样的事情:

class FooBase
{
    public FooBase(Arg2 arg2)
    {
        // constructor stuff
    }
}

class Foo : FooBase
{
    public Foo(Arg1 arg1, Arg2 arg2)
        : base(arg2)
    {
        // constructor stuff
    }
}

然后你会像这样调用构造函数:

Foo foo = new Foo(arg1, arg2)

并且Foo构造函数将为您路由arg2到基础构造函数.

推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有