我该如何获取继承类的
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)
{
}
}
由于对象尚未完成构造且不存在,因此无法引用this
,所以该行base(typeof(this).Name, myObject)
不起作用。
是否有可能获取当前正在构建对象的Type
?
编辑:
根据orsogufo的建议更正了示例,但仍然无法工作,因为this
未定义。
编辑2:
只是为了澄清,我想最终将"InheritedClass"
传递到VeryBaseClass(string className, MyObject myObject)
构造函数中。