IronPython.Runtime.Binding.SlotOrFunction.GetCombinedTargets C# (CSharp) Méthode

GetCombinedTargets() public static méthode

Combines two methods, which came from two different binary types, selecting the method which has the best set of conversions (the conversions which result in the least narrowing).
public static GetCombinedTargets ( SlotOrFunction fCand, SlotOrFunction rCand, SlotOrFunction &fTarget, SlotOrFunction &rTarget ) : bool
fCand SlotOrFunction
rCand SlotOrFunction
fTarget SlotOrFunction
rTarget SlotOrFunction
Résultat bool
        public static bool GetCombinedTargets(SlotOrFunction fCand, SlotOrFunction rCand, out SlotOrFunction fTarget, out SlotOrFunction rTarget) {
            fTarget = rTarget = Empty;

            if (fCand.Success) {
                if (rCand.Success) {
                    if (fCand.NarrowingLevel <= rCand.NarrowingLevel) {
                        fTarget = fCand;
                        rTarget = rCand;
                    } else {
                        fTarget = Empty;
                        rTarget = rCand;
                    }
                } else {
                    fTarget = fCand;
                }
            } else if (rCand.Success) {
                rTarget = rCand;
            } else {
                return false;
            }

            return true;
        }