5

我需要使用反射 Emit 来定义类似的东西:

public class Foo {
    public Bar Bar { get; set; }
}

public class Bar {
    public Foo Foo { get; set; }
}

难点是在调用TypeBuilder.DefineProperty()时,需要传递属性返回值的System.Type,目前还不存在。如果引用只用一种方式,那会很容易,但是两种方式都会导致鸡和蛋的问题。

我希望找到一个采用 TypeBuilder 而不是 Type 的重载,这可以让我同时定义两个类,然后在最后调用 TypeBuilder.CreateType()。但我没有看到这样的事情。

解决这个问题的正确方法是什么?

4

1 回答 1

5

TypeBuilder 是 Type 的子类: MSDN

您可以将其传递给 DefineProperty。

于 2010-02-01T03:49:33.753 回答