/// <summary>
		///     Resolves the method signature with the specified generic arguments.
		/// </summary>
		/// <param name="methodSig">The method signature.</param>
		/// <param name="typeGenArgs">The type generic arguments.</param>
		/// <returns>Resolved method signature.</returns>
		/// <exception cref="System.ArgumentException">No generic arguments to resolve.</exception>
		public static MethodSig Resolve(MethodSig methodSig, IList<TypeSig> typeGenArgs) {
			if (typeGenArgs == null)
				throw new ArgumentException("No generic arguments to resolve.");

			var resolver = new GenericArgumentResolver();
			resolver.genericArguments = new GenericArguments();
			resolver.recursionCounter = new RecursionCounter();

			if (typeGenArgs != null)
				resolver.genericArguments.PushTypeArgs(typeGenArgs);

			return resolver.ResolveGenericArgs(methodSig);
		}
Exemplo n.º 2
0
        /// <summary>
        ///     Resolves the method signature with the specified generic arguments.
        /// </summary>
        /// <param name="methodSig">The method signature.</param>
        /// <param name="typeGenArgs">The type generic arguments.</param>
        /// <returns>Resolved method signature.</returns>
        /// <exception cref="System.ArgumentException">No generic arguments to resolve.</exception>
        public static MethodSig Resolve(MethodSig methodSig, IList <TypeSig> typeGenArgs)
        {
            if (typeGenArgs == null)
            {
                throw new ArgumentException("No generic arguments to resolve.");
            }

            var resolver = new GenericArgumentResolver();

            resolver._genericArguments = new GenericArguments();
            resolver._recursionCounter = new RecursionCounter();
            resolver._genericArguments.PushTypeArgs(typeGenArgs);

            return(resolver.ResolveGenericArgs(methodSig));
        }
        // Token: 0x0600022C RID: 556 RVA: 0x0001F2CC File Offset: 0x0001D4CC
        public static TypeSig Resolve(TypeSig typeSig, IList <TypeSig> typeGenArgs)
        {
            if (typeGenArgs == null)
            {
                throw new ArgumentException("No generic arguments to resolve.");
            }
            GenericArgumentResolver resolver = default(GenericArgumentResolver);

            resolver.genericArguments = new GenericArguments();
            resolver.recursionCounter = default(RecursionCounter);
            if (typeGenArgs != null)
            {
                resolver.genericArguments.PushTypeArgs(typeGenArgs);
            }
            return(resolver.ResolveGenericArgs(typeSig));
        }