System.Reflection.Emit.DynamicILGenerator.GetMemberRefSignature C# (CSharp) Method

GetMemberRefSignature() private method

private GetMemberRefSignature ( CallingConventions call, Type returnType, Type parameterTypes, Type optionalParameterTypes ) : SignatureHelper
call CallingConventions
returnType System.Type
parameterTypes System.Type
optionalParameterTypes System.Type
return SignatureHelper
        internal override SignatureHelper GetMemberRefSignature(
                                                CallingConventions  call,
                                                Type                returnType,
                                                Type[]              parameterTypes,
                                                Type[]              optionalParameterTypes) {
            int             cParams;
            int             i;
            SignatureHelper sig;
            if (parameterTypes == null)
                cParams = 0;
            else
                cParams = parameterTypes.Length;
            sig = SignatureHelper.GetMethodSigHelper(call, returnType);
            for (i=0; i < cParams; i++)
                sig.AddArgument(parameterTypes[i]);
            if (optionalParameterTypes != null && optionalParameterTypes.Length != 0) {
                // add the sentinel
                sig.AddSentinel();
                for (i=0; i < optionalParameterTypes.Length; i++)
                    sig.AddArgument(optionalParameterTypes[i]);
            }
            return sig;
        }