使用 TypeBuilder 生成将自身带入构造函数的构造函数
Generate constructor that takes itself in constructor with TypeBuilder
我最近开始使用 Typebuilder,我希望创建一个构造函数来采用我当前正在构建的类型。
在代码中你可以这样写:
public class Foo
{
public Foo(Foo fooToCopy)
{
// Do copy code here
}
}
我想不出一种方法可以在构建时引用正在构建的类型。我已经尝试过早地创建类型以便在指定构造函数时能够引用它,但是一旦它被构造我就无法继续编辑类型。
有什么方法可以使用 TypeBuilder 完成此操作吗?
TypeBuilder
继承了 Type
,所以任何你想引用正在构建的类型的地方你都可以提供构建器本身:
var ctor = typeBuilder.DefineConstructor(
MethodAttributes.Public,
CallingConventions.Standard,
new Type[] { typeBuilder }
);
我最近开始使用 Typebuilder,我希望创建一个构造函数来采用我当前正在构建的类型。
在代码中你可以这样写:
public class Foo
{
public Foo(Foo fooToCopy)
{
// Do copy code here
}
}
我想不出一种方法可以在构建时引用正在构建的类型。我已经尝试过早地创建类型以便在指定构造函数时能够引用它,但是一旦它被构造我就无法继续编辑类型。
有什么方法可以使用 TypeBuilder 完成此操作吗?
TypeBuilder
继承了 Type
,所以任何你想引用正在构建的类型的地方你都可以提供构建器本身:
var ctor = typeBuilder.DefineConstructor(
MethodAttributes.Public,
CallingConventions.Standard,
new Type[] { typeBuilder }
);