Overload resolution simplification

Andrey Breslav andrey.breslav at jetbrains.com
Mon Aug 12 00:04:20 PDT 2013


You are right, I'm too used to thinking of any context with a target type as an argument to some call. Thanks for the correction.

What I meant to say stands, though: C# disambiguates overloaded method references using the context information that sometimes includes type argument inference.

--
Andrey Breslav
http://jetbrains.com
Develop with pleasure!


On Aug 11, 2013, at 07:26 , Neal Gafter wrote:

> On Sat, Aug 10, 2013 at 12:07 AM, Andrey Breslav <andrey.breslav at jetbrains.com> wrote:
> The case of overloaded method references worries me as well (lambdas are ok). Note that C# supports overloaded method references (method groups) as arguments and only as arguments.
> 
> That is not correct.  In C# you can use method groups in many contexts, but mainly they are useful in contexts that provide some kind of target type.  For example
> 
> variable = object.MethodName;
> return object.MethodName;
> OverloadedMethod(object.MethodName);
> (TargetType)object.MethodName
> 
> In fact, there is one context where a target type is not even required, though I'll leave that to you as a puzzle.
> 
> Cheers,
> Neal Gafter
> C# compiler architect



More information about the lambda-spec-observers mailing list