XSpect.Yacq.Expressions.DispatchExpression.CreateCandidate C# (CSharp) Méthode

CreateCandidate() private méthode

private CreateCandidate ( MemberInfo member ) : Candidate
member System.Reflection.MemberInfo
Résultat Candidate
        private Candidate CreateCandidate(MemberInfo member)
        {
            return (member as MethodInfo)
                .Null(m => m.IsExtensionMethod() && !(this._left is TypeCandidateExpression))
                .Let(_ => new Candidate(
                    this._left is TypeCandidateExpression || _
                        ? null
                        : this._left,
                    member,
                    this.TypeArguments,
                    this.Arguments
                        .Select(e => e.List(":").Null(l => l.First().Id()))
                        .If(es => _, es => es.StartWith(new String[1]))
                        .ToArray(),
                    this.Arguments
                        .Select(e => e.List(":").Null(l => l.Last(), e))
                        .If(es => _, es => es.StartWith(this._left))
                        .ToArray()
                ));
        }