Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ GetMemberRefSignature() [2/2]

SignatureHelper System.Reflection.Emit.ModuleBuilder.GetMemberRefSignature ( MethodBase method,
int cGenericParameters )
inlinepackage

Definition at line 354 of file ModuleBuilder.cs.

355 {
356 MethodBase methodBase = method;
357 if (!(methodBase is MethodBuilder methodBuilder))
358 {
359 if (!(methodBase is ConstructorBuilder constructorBuilder))
360 {
361 if (!(methodBase is MethodOnTypeBuilderInstantiation methodOnTypeBuilderInstantiation))
362 {
363 if (methodBase is ConstructorOnTypeBuilderInstantiation constructorOnTypeBuilderInstantiation)
364 {
366 {
367 return constructorBuilder2.GetMethodSignature();
368 }
371 }
372 }
373 else
374 {
375 if (methodOnTypeBuilderInstantiation.m_method is MethodBuilder methodBuilder2)
376 {
377 return methodBuilder2.GetMethodSignature();
378 }
381 }
382 ParameterInfo[] parametersNoCopy = method.GetParametersNoCopy();
383 Type[] array = new Type[parametersNoCopy.Length];
384 Type[][] array2 = new Type[array.Length][];
385 Type[][] array3 = new Type[array.Length][];
386 for (int i = 0; i < parametersNoCopy.Length; i++)
387 {
388 array[i] = parametersNoCopy[i].ParameterType;
389 array2[i] = parametersNoCopy[i].GetRequiredCustomModifiers();
390 array3[i] = parametersNoCopy[i].GetOptionalCustomModifiers();
391 }
392 ParameterInfo parameterInfo = ((method is MethodInfo methodInfo) ? methodInfo.ReturnParameter : null);
393 return SignatureHelper.GetMethodSigHelper(this, method.CallingConvention, cGenericParameters, parameterInfo?.ParameterType, parameterInfo?.GetRequiredCustomModifiers(), parameterInfo?.GetOptionalCustomModifiers(), array, array2, array3);
394 }
395 return constructorBuilder.GetMethodSignature();
396 }
397 return methodBuilder.GetMethodSignature();
398 }

References System.array, and System.Reflection.Emit.SignatureHelper.GetMethodSigHelper().