这个问题很难!C# 怎么样同时调用无参构造函数和父类有参构造函数

.Net技术 码拜 8年前 (2016-02-29) 1525次浏览
现有两个类A是B的父类
class A
{
public A(){}
public A(int a){}
}
class B : A
{
public B(){}
public B(int a):base(a)   ///问题,现在本人想在这里再调用无参构造函数B(),怎么样实现?谢谢
{}
}
解决方案

5

理解错了 这个问题很难!C# 怎么样同时调用无参构造函数和父类有参构造函数

class Class1
{
    public Class1()
    {
        init();
    }
    public Class1(int value)
        : base(value)
    {
        init();
    }
    void init()
    {
    }
}

5

基本上,全部的有多中构造函数的类,其某一构造函数都要实现共同的通用的构造函数目标。这不是什么特殊性,而是普遍性。
然而构造函数不纠结于其内部调不调用其它构造函数

5

这么说吧。所谓有参构造函数可以使用 :this() 调用无参构造函数,这只是c#的一个语法,并不是什么.net 基本特性。在.net 中(最终基础都是msil)则是真的是明确调用另一个函数的,像调用普通函数一样去调用。也就是说,你可以先执行一些其它代码,然后才调用无参构造函数。然后在c#中你直接做不到这一点,c#语法只是为你提供一个更加狭隘一些规范。那么你要完成相同功能,按照这个规范,就应该变通一下,就应该调用普通的函数。

5

构造函数通常是多选一的, 同时调用多个没有道理, 把需要的功能写到方法中调用就好了.

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明这个问题很难!C# 怎么样同时调用无参构造函数和父类有参构造函数
喜欢 (0)
[1034331897@qq.com]
分享 (0)