private void AddBasicMethodTargets(MethodBase method) { Assert.NotNull(method); var mapping = new ParameterMapping(this, method, null, _argNames); mapping.MapParameters(false); foreach (var defaultCandidate in mapping.CreateDefaultCandidates()) { AddSimpleTarget(defaultCandidate); } var byRefReducedCandidate = mapping.CreateByRefReducedCandidate(); if (byRefReducedCandidate != null) { AddSimpleTarget(byRefReducedCandidate); } AddSimpleTarget(mapping.CreateCandidate()); }
private void AddBasicMethodTargets(OverloadInfo method) { Assert.NotNull(method); var mapping = new ParameterMapping(this, method, _argNames); mapping.MapParameters(false); foreach (var defaultCandidate in mapping.CreateDefaultCandidates()) { AddSimpleTarget(defaultCandidate); } // TODO: We reduce out/ref parameters only for the main overload. // We should rather treat all out params as optional (either a StrongBox is provided or not). var byRefReducedCandidate = mapping.CreateByRefReducedCandidate(); if (byRefReducedCandidate != null) { AddSimpleTarget(byRefReducedCandidate); } AddSimpleTarget(mapping.CreateCandidate()); }