我可以在C#中调用相同类的重载构造函数吗?

洋久

我知道我可以使用':this()'来做到这一点,但是如果我这样做,将首先执行重载的构造函数,而我需要在调用它的构造函数之后执行它。复杂的解释让我放一些代码:

Class foo{
    public foo(){
       Console.WriteLine("A");
    }
    public foo(string x) : this(){
       Console.WriteLine(x);
    }
}

/// ....

Class main{
    public static void main( string [] args ){
       foo f = new foo("the letter is: ");
    }
}

在此示例中,程序将显示

A 
the letter is:

但是我想要的是

the letter is: 
A

有一种“优雅的方式”可以做到这一点吗?我宁愿避免提取构造函数来分离方法并从那里调用它们。

黑色的熊

是的,您可以很容易地做到这一点(不幸的是):

class foo {
    public foo( ) {
        Console.WriteLine( "A" );
    }
    public foo( string x ) {
        Console.WriteLine( x );

        var c = this.GetType( ).GetConstructor( new Type[ ] { } );
        c.Invoke( new object[ ] { } );
    }
}

class Program {
    static void Main( string[ ] args ) {
        new foo( "the letter is: " );
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我可以从 C# 中另一个类的构造函数调用构造函数吗?

来自分类Dev

我可以在构造函数中调用set方法吗?

来自分类Dev

我可以在RavenDB中使用构造函数重载吗?

来自分类Dev

我可以基于布尔函数调用重载Haskell函数吗?

来自分类Dev

在构造函数中调用重载构造函数

来自分类Dev

默认构造函数可以在子类中重载吗?

来自分类Dev

我们如何在C ++中从子类中调用父级重载的构造函数?

来自分类Dev

重载的构造函数c#

来自分类Dev

我可以用Java调用Enums构造函数吗?

来自分类Dev

我可以在JavaScript中仅调用基本构造函数而不使用原型来模拟继承吗?

来自分类Dev

我可以在域对象构造函数中调用grails服务吗?

来自分类Dev

在C#中是否可以强制私有函数只能从构造函数中调用?

来自分类Dev

在C#中编写多个构造函数重载的最佳方法

来自分类Dev

c#中构造函数重载和链接的区别

来自分类Dev

从重载的构造函数中调用`this`

来自分类Dev

调用重载的构造函数

来自分类Dev

是否可以在PHP中重载构造函数

来自分类Dev

我可以重载Web API调用吗?

来自分类Dev

可以在构造函数中调用异步方法吗?

来自分类Dev

当类变量与构造函数在C#中接收的形式参数相同时,有人可以提出更好的命名方案吗?

来自分类Dev

C# 构造函数重载无用的括号

来自分类Dev

我可以在抽象基类中定义构造函数吗?

来自分类Dev

我可以在构造函数注释中引用属性注释吗?

来自分类Dev

我可以在构造函数注释中引用属性注释吗?

来自分类Dev

Simple Injector可以使用不同的构造函数参数来注册相同类型的多个实例吗?

来自分类Dev

成员函数可以创建相同类的对象吗?

来自分类Dev

在C ++中,构造函数两次调用过吗?

来自分类Dev

我可以显式地调用类的构造函数和析构函数吗?

来自分类Dev

我可以在外部构造函数中为参数类型构建无参数构造函数吗?

Related 相关文章

  1. 1

    我可以从 C# 中另一个类的构造函数调用构造函数吗?

  2. 2

    我可以在构造函数中调用set方法吗?

  3. 3

    我可以在RavenDB中使用构造函数重载吗?

  4. 4

    我可以基于布尔函数调用重载Haskell函数吗?

  5. 5

    在构造函数中调用重载构造函数

  6. 6

    默认构造函数可以在子类中重载吗?

  7. 7

    我们如何在C ++中从子类中调用父级重载的构造函数?

  8. 8

    重载的构造函数c#

  9. 9

    我可以用Java调用Enums构造函数吗?

  10. 10

    我可以在JavaScript中仅调用基本构造函数而不使用原型来模拟继承吗?

  11. 11

    我可以在域对象构造函数中调用grails服务吗?

  12. 12

    在C#中是否可以强制私有函数只能从构造函数中调用?

  13. 13

    在C#中编写多个构造函数重载的最佳方法

  14. 14

    c#中构造函数重载和链接的区别

  15. 15

    从重载的构造函数中调用`this`

  16. 16

    调用重载的构造函数

  17. 17

    是否可以在PHP中重载构造函数

  18. 18

    我可以重载Web API调用吗?

  19. 19

    可以在构造函数中调用异步方法吗?

  20. 20

    当类变量与构造函数在C#中接收的形式参数相同时,有人可以提出更好的命名方案吗?

  21. 21

    C# 构造函数重载无用的括号

  22. 22

    我可以在抽象基类中定义构造函数吗?

  23. 23

    我可以在构造函数注释中引用属性注释吗?

  24. 24

    我可以在构造函数注释中引用属性注释吗?

  25. 25

    Simple Injector可以使用不同的构造函数参数来注册相同类型的多个实例吗?

  26. 26

    成员函数可以创建相同类的对象吗?

  27. 27

    在C ++中,构造函数两次调用过吗?

  28. 28

    我可以显式地调用类的构造函数和析构函数吗?

  29. 29

    我可以在外部构造函数中为参数类型构建无参数构造函数吗?

热门标签

归档