internal PropertySignature ExpandTypeParameters(Type declaringType)
 {
     return(new PropertySignature(
                callingConvention,
                propertyType.BindTypeParameters(declaringType),
                BindTypeParameters(declaringType, parameterTypes),
                customModifiers.Bind(declaringType)));
 }
        internal MethodSignature Bind(Type type, Type[] methodArgs)
        {
            Binder binder = new Binder(type, methodArgs);

            return(new MethodSignature(returnType.BindTypeParameters(binder),
                                       BindTypeParameters(binder, parameterTypes),
                                       modifiers.Bind(binder),
                                       callingConvention, genericParamCount));
        }
 internal static MethodSignature MakeFromBuilder(Type returnType, Type[] parameterTypes, PackedCustomModifiers modifiers, CallingConventions callingConvention, int genericParamCount)
 {
     if (genericParamCount > 0)
     {
         returnType     = returnType.BindTypeParameters(Unbinder.Instance);
         parameterTypes = BindTypeParameters(Unbinder.Instance, parameterTypes);
         modifiers      = modifiers.Bind(Unbinder.Instance);
     }
     return(new MethodSignature(returnType, parameterTypes, modifiers, callingConvention, genericParamCount));
 }