0
런타임에 빌드 된 내 개체에 대한 생성자를 만들고 싶습니다.이 개체는 ctor에 전달 된 모든 매개 변수의 개체 배열을 사용하는 메서드를 호출합니다. 내가 좋아하는 :: 매우 간단ConstructorBuilder에서 로컬 변수를 정의하는 방법은 무엇입니까?
method pulbic hidebysig specialname rtspecialname instance void .ctor(SomeObject arg) cil managed
{
ldarg.0
call void MyNameSpace.BaseClass::.ctor();
ldc.i4.1
newarr System.Object
stloc.0
ldloc.0
ldc.i4.0
ldarg.1
stelem.ref
ldloc.0
call void SomeClass.Method(object[])
ret
}
뭔가를해야 나타납니다 이러한 방법을 구축하는 방법을 보면,하지만 어떻게 내가이 ctor에 빌더에 유형 object[]
의 로컬 변수를 정의 하는가? 변수를 정의하는 방법이없는 것 같습니까? 아니면 그냥 stloc.0/ldloc.0
을 내보내고 먼저 정의하지 않겠습니까?
와우, 나는 그것을 그리워 도대체 어떻게했는지 ...
는 틀림없이 나는이 중 하나를 사용하여 시도하지 않은,하지만 갈 수있는 방법처럼 는 소리! 나는 ref.emit이 여전히 끔찍한 은밀한 API라고 생각한다. –