protected MethodBaseInfo(System.Reflection.MethodBase method, TypeInfoProvider typeInfoProvider) : base(method, typeInfoProvider) { var genericArguments = method.CheckNotNull(nameof(method)).IsGenericMethod ? method.GetGenericArguments() : null; GenericArgumentTypes = genericArguments .AsNullIfEmpty()? .Select(x => typeInfoProvider.GetTypeInfo(x, false, false)) .ToList(); ParameterTypes = method .GetParameters() .AsNullIfEmpty()? .Select(x => typeInfoProvider.GetTypeInfo(x.ParameterType, false, false)) .ToList(); }