GetArrayMethod() public method

public GetArrayMethod ( System arrayClass, string methodName, System callingConvention, System returnType, System parameterTypes ) : System.Reflection.MethodInfo
arrayClass System
methodName string
callingConvention System
returnType System
parameterTypes System
return System.Reflection.MethodInfo
 private void VerificationHelper(ModuleBuilder module, Type arrayClass, string methodName, CallingConventions convention, Type returnType, Type[] parameterTypes, Type desiredException)
 {
     Assert.Throws(desiredException, () => { MethodInfo method = module.GetArrayMethod(arrayClass, methodName, convention, returnType, parameterTypes); });
 }
Esempio n. 2
0
 internal MethodInfo GetArrayCreateWithLowerBoundsMethod(IArrayTypeReference arrayTypeReference, ModuleBuilder moduleBuilder) {
   var type = this.GetType(arrayTypeReference);
   var parameterTypes = new Type[arrayTypeReference.Rank*2];
   for (int i = 0; i < arrayTypeReference.Rank*2; i++) parameterTypes[i] = typeof(int);
   return moduleBuilder.GetArrayMethod(type, ".ctor", CallingConventions.HasThis, typeof(void), parameterTypes);
 }
        private void VerificationHelper(ModuleBuilder module, Type arrayClass, string methodName, CallingConventions convention, Type returnType, Type[] parameterTypes)
        {
            MethodInfo method = module.GetArrayMethod(arrayClass, methodName, convention, returnType, parameterTypes);

            Assert.True(method.DeclaringType.Equals(arrayClass));
            Assert.Equal(method.Name, methodName);
            Assert.Equal(method.CallingConvention, convention);
            Assert.True(method.ReturnType.Equals(returnType));
        }
Esempio n. 4
0
 internal MethodInfo GetArraySetMethod(IArrayTypeReference arrayTypeReference, ModuleBuilder moduleBuilder) {
   var type = this.GetType(arrayTypeReference);
   var parameterTypes = new Type[arrayTypeReference.Rank+1];
   for (int i = 0; i < arrayTypeReference.Rank; i++) parameterTypes[i] = typeof(int);
   parameterTypes[arrayTypeReference.Rank] = type.GetElementType();
   return moduleBuilder.GetArrayMethod(type, "Set", CallingConventions.HasThis, typeof(void), parameterTypes);
 }