Microsoft.CSharp.RuntimeBinder.Semantics.MethodTypeInferrer.MakeOutputTypeInferences C# (CSharp) Метод

MakeOutputTypeInferences() приватный Метод

private MakeOutputTypeInferences ( ) : void
Результат void
        private void MakeOutputTypeInferences()
        {
            // SPEC: Otherwise, for all arguments Ei with corresponding parameter CType Ti
            // SPEC: where the output types contain unfixed CType parameters but the input
            // SPEC: types do not, an output CType inference is made from Ei to Ti.

            for (int iArg = 0; iArg < _pMethodArguments.carg; iArg++)
            {
                CType pDest = _pMethodFormalParameterTypes.Item(iArg);
                if (pDest.IsParameterModifierType())
                {
                    pDest = pDest.AsParameterModifierType().GetParameterType();
                }
                EXPR pExpr = _pMethodArguments.prgexpr[iArg];
                if (HasUnfixedParamInOutputType(pExpr, pDest) &&
                    !HasUnfixedParamInInputType(pExpr, pDest))
                {
                    CType pSource = _pMethodArguments.types.Item(iArg);
                    if (pSource.IsParameterModifierType())
                    {
                        pSource = pSource.AsParameterModifierType().GetParameterType();
                    }
                    OutputTypeInference(pExpr, pSource, pDest);
                }
            }
        }