相关疑难解决方法(0)

将当前对象类型传递给基础构造函数调用

我如何抓取Type继承的类并将其传递给继承的类的基础构造函数?请参阅下面的代码示例:

// VeryBaseClass is in an external assembly
public abstract class VeryBaseClass
{
    public VeryBaseClass(string className, MyObject myObject)
    {

    }
}

// BaseClass and InheritedClass are in my assembly
public abstract class BaseClass : VeryBaseClass
{
    public BaseClass(MyObject myObject) :
        base(this.GetType().Name, myObject) // can't reference "this" (Type expected)
    {

    }
}

public class InheritedClass : BaseClass
{
    public InheritedClass(MyObject myObject)
    {

    }
}
Run Code Online (Sandbox Code Playgroud)

该行base(typeof(this).Name, myObject)不起作用,因为我还无法引用this,因为该对象尚未完成构造,因此不存在.

是否有可能抓住Type当前构建的对象?

编辑:

将样本更正为orsogufo建议,但仍然不起作用,因为this未定义. …

c# inheritance constructor types

9
推荐指数
2
解决办法
1万
查看次数

标签 统计

c# ×1

constructor ×1

inheritance ×1

types ×1