internal static Exception ElementInitializerMethodNoRefOutParam(object p0, object p1, string paramName) { return new ArgumentException(Strings.ElementInitializerMethodNoRefOutParam(p0, p1), paramName); } /// <summary>
private static void ValidateElementInitAddMethodInfo(MethodInfo addMethod) { ValidateMethodInfo(addMethod); var pis = addMethod.GetParameters(); if (pis.Length == 0) { throw Error.ElementInitializerMethodWithZeroArgs(); } if (!addMethod.Name.Equals("Add", StringComparison.OrdinalIgnoreCase)) { throw Error.ElementInitializerMethodNotAdd(); } if (addMethod.IsStatic) { throw Error.ElementInitializerMethodStatic(); } foreach (var pi in pis) { if (pi.ParameterType.IsByRef) { throw Error.ElementInitializerMethodNoRefOutParam(pi.Name, addMethod.Name); } } }