此问题与AutoMapper无关.我的问题是关于java中的ModelMapper,但是我无法为modelmapper创建新的标签作为我的小声誉.抱歉混淆.
无论如何,我的问题是modelmapper库是否支持arraylist或hashset等集合?它似乎不支持集合映射的集合.这是真的吗?
我试图推广以下IL(来自Reflector):
.method private hidebysig instance void SetValue(valuetype Test.TestFixture/ValueSource& thing, string 'value') cil managed
{
.maxstack 8
L_0000: nop
L_0001: ldarg.1
L_0002: ldarg.2
L_0003: call instance void Test.TestFixture/ValueSource::set_Value(string)
L_0008: nop
L_0009: ret
}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试使用DynamicMethod重现此IL时:
[Test]
public void Test_with_DynamicMethod()
{
var sourceType = typeof(ValueSource);
PropertyInfo property = sourceType.GetProperty("Value");
var setter = property.GetSetMethod(true);
var method = new DynamicMethod("Set" + property.Name, null, new[] { sourceType.MakeByRefType(), typeof(string) }, true);
var gen = method.GetILGenerator();
gen.Emit(OpCodes.Ldarg_1); // Load input to stack
gen.Emit(OpCodes.Ldarg_2); // Load value to stack …Run Code Online (Sandbox Code Playgroud)