コード例 #1
0
            /// <summary>
            /// Walk the given TypedExpression, collecting type parameter resolution dictionaries relevant to
            /// the type parameter resolutions of the topmost expression. Returns the resolution dictionaries
            /// ordered from the innermost expression's resolutions to the outermost expression's resolutions.
            /// </summary>
            public static IEnumerable <TypeParameterResolutions> Apply(TypedExpression expression)
            {
                var walker = new GetTypeParameterResolutions();

                walker.OnTypedExpression(expression);
                return(walker.SharedState.Resolutions);
            }
コード例 #2
0
            public static TypeParameterResolutions[] Apply(TypedExpression expression)
            {
                var walker = new GetTypeParameterResolutions();

                walker.OnTypedExpression(expression);
                return(walker.SharedState.Resolutions.ToArray());
            }
コード例 #3
0
        // Constructors

        /// <summary>
        /// Creates a type parameter resolution combination from the independent type parameter resolutions
        /// found in the given typed expression and its sub expressions. Only sub-expressions whose
        /// type parameter resolutions are relevant to the given expression's type parameter resolutions
        /// are considered.
        /// </summary>
        public TypeResolutionCombination(TypedExpression expression)
            : this(GetTypeParameterResolutions.Apply(expression))
        {
        }