我使用PropertyBuilder
创建了一个属性构建器(它位于一个类型中,使用TypeBuilder构建,您可以猜到它位于模块内部。依此类推,直到装配)
我想在我刚刚构建之后设置我的属性的值(在这种情况下通常是Dictionary<string,object>
)。它有一个SetValue
方法,但我会被抛出第一个参数(对象obj:对象的值我正在设置)。
这就是我所拥有的:
Dictionary<string,Object> expectations = new Dictionary<string,object>();
PropertyBuilder builder = typeBuilder.DefineProperty("Expectations",
PropertyAttributes.HasDefault,
typeof(Dictionary<string, Object>), null);
//builder.SetValue(???)
return builder;
我是否朝着正确的方向前进?
更新
好的,所以SetValue的Object参数是保存我想要设置的值的属性的对象。但是,虽然我已经通过TypeBuilder
定义了属性,但它没有被创建(因为你必须调用CreateType()
并实例化它)。
长话短说?首先定义所有内容,然后创建它,然后使用创建的对象作为第一个参数,通过SetValue
分配值。
答案 0 :(得分:0)
好的,所以SetValue的Object参数是保存我想要设置的值的属性的对象。但是,虽然我已经通过TypeBuilder定义了属性,但它没有被创建(因为你必须调用CreateType()并实例化它)。
长话短说?首先定义所有内容,然后创建它,然后使用创建的对象作为第一个参数,通过SetValue分配值。