<?xml version="1.0" encoding="utf-8"?>
<doc>
  <assembly>
    <name>Gemstone.Expressions</name>
  </assembly>
  <members>
    <member name="T:Gemstone.Expressions.RuntimeCompiler">
      <summary>
            Runtime C# code compiler.
            </summary>
    </member>
    <member name="M:Gemstone.Expressions.RuntimeCompiler.Compile(System.String,System.Collections.Generic.IEnumerable{System.Reflection.Assembly},Microsoft.CodeAnalysis.CSharp.CSharpCompilationOptions,System.String)">
      <summary>
            Compiles C# <paramref name="code" /> to a raw <see cref="T:System.Reflection.Assembly" />.
            </summary>
      <param name="code">C# code to compile.</param>
      <param name="references">References to use for compilation.</param>
      <param name="options">Compilation options.</param>
      <param name="assemblyName">Assembly name to use.</param>
      <returns>Raw <see cref="T:System.Byte" /> array representing compiled <see cref="T:System.Reflection.Assembly" />.</returns>
    </member>
    <member name="T:Gemstone.Expressions.StaticDynamic">
      <summary>
            Defines a <see cref="T:System.Dynamic.DynamicObject" /> wrapper for static elements and classes.
            </summary>
    </member>
    <member name="M:Gemstone.Expressions.StaticDynamic.#ctor(System.Type)">
      <summary>
            Creates a new <see cref="T:Gemstone.Expressions.StaticDynamic" />.
            </summary>
      <param name="type">Class with static elements.</param>
    </member>
    <member name="M:Gemstone.Expressions.StaticDynamic.TryGetMember(System.Dynamic.GetMemberBinder,System.Object@)">
      <summary>
            Provides the implementation for operations that get member values. Classes derived from the <see cref="T:System.Dynamic.DynamicObject"></see>
            class can override this method to specify dynamic behavior for operations such as getting a value for a property.
            </summary>
      <param name="binder">
            Provides information about the object that called the dynamic operation. The binder.Name property provides the name of the
            member on which the dynamic operation is performed. For example, for the <c>Console.WriteLine(sampleObject.SampleProperty)</c>
            statement, where <c>sampleObject</c> is an instance of the class derived from the <see cref="T:System.Dynamic.DynamicObject"></see> class,
            binder.Name returns "SampleProperty". The binder.IgnoreCase property specifies whether the member name is case-sensitive.
            </param>
      <param name="result">
            The result of the get operation. For example, if the method is called for a property, you can assign the property value to
            result.
            </param>
      <returns>
        <c>true</c> if the operation is successful; otherwise, <c>false</c>. If this method returns <c>false</c>, the run-time binder
            of the language determines the behavior. (In most cases, a run-time exception is thrown.)
            </returns>
    </member>
    <member name="M:Gemstone.Expressions.StaticDynamic.TryInvokeMember(System.Dynamic.InvokeMemberBinder,System.Object[],System.Object@)">
      <summary>
            Provides the implementation for operations that invoke a member. Classes derived from the <see cref="T:System.Dynamic.DynamicObject"></see> class
            can override this method to specify dynamic behavior for operations such as calling a method.
            </summary>
      <param name="binder">
            Provides information about the dynamic operation. The binder.Name property provides the name of the member on which the dynamic
            operation is performed. For example, for the statement sampleObject.SampleMethod(100), where sampleObject is an instance of the
            class derived from the <see cref="T:System.Dynamic.DynamicObject"></see> class, binder.Name returns "SampleMethod". The binder.IgnoreCase property
            specifies whether the member name is case-sensitive.
            </param>
      <param name="args">
            The arguments that are passed to the object member during the invoke operation. For example, for the statement
            <c>sampleObject.SampleMethod(100)</c>, where <c>sampleObject</c> is derived from the <see cref="T:System.Dynamic.DynamicObject"></see> class,
            args[0] is equal to 100.
            </param>
      <param name="result">The result of the member invocation.</param>
      <returns>
        <c>true</c> if the operation is successful; otherwise, <c>false</c>. If this method returns <c>false</c>, the run-time binder of
            the language determines the behavior. (In most cases, a language-specific run-time exception is thrown.)
            </returns>
    </member>
    <member name="T:Gemstone.Expressions.Evaluator.ExpressionCompiler">
      <summary>
            Represents a runtime C# expression evaluator.
            </summary>
      <param name="expression">C# expression to compile.</param>
      <remarks>
            Creates a new <see cref="T:Gemstone.Expressions.Evaluator.ExpressionCompiler" />.
            </remarks>
    </member>
    <member name="M:Gemstone.Expressions.Evaluator.ExpressionCompiler.#ctor(System.String)">
      <summary>
            Represents a runtime C# expression evaluator.
            </summary>
      <param name="expression">C# expression to compile.</param>
      <remarks>
            Creates a new <see cref="T:Gemstone.Expressions.Evaluator.ExpressionCompiler" />.
            </remarks>
    </member>
    <member name="T:Gemstone.Expressions.Evaluator.ExpressionCompiler`1">
      <summary>
            Represents a runtime C# expression evaluator, strongly typed for a specific return value <typeparamref name="TResult" />.
            </summary>
      <typeparam name="TResult">Return value <see cref="T:System.Type" /> for function based expressions.</typeparam>
    </member>
    <member name="M:Gemstone.Expressions.Evaluator.ExpressionCompiler`1.#ctor(System.String)">
      <summary>
            Creates a new <see cref="T:Gemstone.Expressions.Evaluator.ExpressionCompiler`1" />.
            </summary>
      <param name="expression">C# expression to compile.</param>
    </member>
    <member name="P:Gemstone.Expressions.Evaluator.ExpressionCompiler`1.CompiledAction">
      <summary>
            Gets <see cref="T:System.Action" /> delegate for compiled expression.
            </summary>
      <remarks>
            Calling this property will automatically compile <see cref="T:System.Linq.Expressions.Expression" />, if not already compiled.
            </remarks>
    </member>
    <member name="P:Gemstone.Expressions.Evaluator.ExpressionCompiler`1.CompiledFunction">
      <summary>
            Gets <see cref="T:System.Func`1" /> delegate for compiled expression.
            </summary>
      <remarks>
            Calling this property will automatically compile <see cref="T:System.Linq.Expressions.Expression" />, if not already compiled.
            </remarks>
    </member>
    <member name="M:Gemstone.Expressions.Evaluator.ExpressionCompiler`1.ExecuteAction">
      <summary>
            Executes compiled <see cref="T:System.Action" /> based expression.
            </summary>
      <remarks>
            Calling this method will automatically compile <see cref="T:System.Linq.Expressions.Expression" />, if not already compiled.
            </remarks>
    </member>
    <member name="M:Gemstone.Expressions.Evaluator.ExpressionCompiler`1.ExecuteFunction">
      <summary>
            Executes compiled <see cref="T:System.Func`1" /> based expression.
            </summary>
      <returns>Evaluated expression result.</returns>
      <remarks>
            Calling this method will automatically compile <see cref="T:System.Linq.Expressions.Expression" />, if not already compiled.
            </remarks>
    </member>
    <member name="T:Gemstone.Expressions.Evaluator.ExpressionCompiler`2">
      <summary>
            Represents a runtime C# expression evaluator, strongly typed for a specific return value <typeparamref name="TResult" />
            and instance parameter values <typeparamref name="TInstanceParameter" />.
            </summary>
      <typeparam name="TResult">Return value <see cref="T:System.Type" /> for function based expressions.</typeparam>
      <typeparam name="TInstanceParameter">Instance parameter <see cref="T:System.Type" /> used to define expression accessible field values.</typeparam>
    </member>
    <member name="M:Gemstone.Expressions.Evaluator.ExpressionCompiler`2.#ctor(System.String)">
      <summary>
            Creates a new <see cref="T:Gemstone.Expressions.Evaluator.ExpressionCompiler`2" />.
            </summary>
      <param name="expression">C# expression to compile.</param>
    </member>
    <member name="M:Gemstone.Expressions.Evaluator.ExpressionCompiler`2.Compile(System.Boolean)">
      <summary>
            Compiles C# <see cref="P:Gemstone.Expressions.Evaluator.ExpressionCompiler`2.Expression" />.
            </summary>
      <param name="isMethodCall">
        <c>true</c> for <see cref="T:System.Action`1" /> based expressions; otherwise,
            <c>false</c> for <see cref="T:System.Func`2" /> based expressions.
            </param>
    </member>
    <member name="P:Gemstone.Expressions.Evaluator.ExpressionCompiler`2.CompiledAction">
      <summary>
            Gets <see cref="T:System.Action`1" /> delegate for compiled expression.
            </summary>
      <remarks>
            Calling this property will automatically compile <see cref="P:Gemstone.Expressions.Evaluator.ExpressionCompiler`2.Expression" />, if not already compiled.
            </remarks>
    </member>
    <member name="P:Gemstone.Expressions.Evaluator.ExpressionCompiler`2.CompiledExpression">
      <summary>
            Gets the compiled <see cref="T:System.Linq.Expressions.Expression">Linq Expression</see> after <see cref="P:Gemstone.Expressions.Evaluator.ExpressionCompiler`2.Expression">C# Code Expression</see> is compiled.
            </summary>
    </member>
    <member name="P:Gemstone.Expressions.Evaluator.ExpressionCompiler`2.CompiledFunction">
      <summary>
            Gets <see cref="T:System.Func`2" /> delegate for compiled expression.
            </summary>
      <remarks>
            Calling this property will automatically compile <see cref="P:Gemstone.Expressions.Evaluator.ExpressionCompiler`2.Expression" />, if not already compiled.
            </remarks>
    </member>
    <member name="M:Gemstone.Expressions.Evaluator.ExpressionCompiler`2.ExecuteAction(`1)">
      <summary>
            Executes compiled <see cref="T:System.Action`1" /> based expression.
            </summary>
      <param name="instance">Instance parameter with current field values as needed by expression.</param>
      <remarks>
            Calling this method will automatically compile <see cref="P:Gemstone.Expressions.Evaluator.ExpressionCompiler`2.Expression" />, if not already compiled.
            </remarks>
    </member>
    <member name="M:Gemstone.Expressions.Evaluator.ExpressionCompiler`2.ExecuteFunction(`1)">
      <summary>
            Executes compiled <see cref="T:System.Func`2" /> based expression.
            </summary>
      <param name="instance">Instance parameter with current field values as needed by expression.</param>
      <returns>Evaluated expression result.</returns>
      <remarks>
            Calling this method will automatically compile <see cref="P:Gemstone.Expressions.Evaluator.ExpressionCompiler`2.Expression" />, if not already compiled.
            </remarks>
    </member>
    <member name="P:Gemstone.Expressions.Evaluator.ExpressionCompiler`2.Expression">
      <summary>
            Gets the C# code expression to compile.
            </summary>
    </member>
    <member name="P:Gemstone.Expressions.Evaluator.ExpressionCompiler`2.InstanceParameterType">
      <summary>
            Gets or sets the instance parameter <see cref="T:System.Type" /> used for defining expression accessible
            field values, defaults to <typeparamref name="TInstanceParameter" />.
            </summary>
    </member>
    <member name="M:Gemstone.Expressions.Evaluator.ExpressionCompiler`2.ToString">
      <summary>
            Returns a string that represents the <see cref="T:Gemstone.Expressions.Evaluator.ExpressionCompiler`2" />, i.e., the <see cref="P:Gemstone.Expressions.Evaluator.ExpressionCompiler`2.Expression" /> value.
            </summary>
      <returns>The <see cref="P:Gemstone.Expressions.Evaluator.ExpressionCompiler`2.Expression" /> value.</returns>
    </member>
    <member name="P:Gemstone.Expressions.Evaluator.ExpressionCompiler`2.TypeRegistry">
      <summary>
            Gets or sets the <see cref="T:Gemstone.Expressions.Evaluator.TypeRegistry" /> used for compilation.
            </summary>
    </member>
    <member name="P:Gemstone.Expressions.Evaluator.ExpressionCompiler`2.VariableContext">
      <summary>
            Gets or sets the <see cref="T:Gemstone.Expressions.Evaluator.ISupportContextVariables" /> instance to use for context variables.
            </summary>
    </member>
    <member name="T:Gemstone.Expressions.Evaluator.ExpressionContext">
      <summary>
            Represents a dynamic expression context for evaluating expressions with variables and imports.
            </summary>
      <remarks>
            All variables that can be used in an expression should be defined before the expression is
            compiled. For compilation, variable values can simply be initialized with default values and
            then updated later before the expression is evaluated.
            </remarks>
    </member>
    <member name="M:Gemstone.Expressions.Evaluator.ExpressionContext.#ctor">
      <summary>
        <markup>
          <include item="SMCAutoDocConstructor">
            <parameter>Gemstone.Expressions.Evaluator.ExpressionContext</parameter>
          </include>
        </markup>
      </summary>
    </member>
    <member name="T:Gemstone.Expressions.Evaluator.ExpressionContext`1">
      <summary>
            Represents a dynamic expression context for evaluating expressions with variables and imports.
            </summary>
      <typeparam name="T">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>typeparam</parameter>
            <parameter>T</parameter>
            <parameter>T:Gemstone.Expressions.Evaluator.ExpressionContext`1</parameter>
          </include>
        </markup>
      </typeparam>
      <remarks>
            All variables that can be used in an expression should be defined before the expression is
            compiled. For compilation, variable values can simply be initialized with default values and
            then updated later before the expression is evaluated.
            </remarks>
    </member>
    <member name="M:Gemstone.Expressions.Evaluator.ExpressionContext`1.#ctor">
      <summary>
        <markup>
          <include item="SMCAutoDocConstructor">
            <parameter>Gemstone.Expressions.Evaluator.ExpressionContext`1</parameter>
          </include>
        </markup>
      </summary>
    </member>
    <member name="P:Gemstone.Expressions.Evaluator.ExpressionContext`1.DefaultValue">
      <summary>
            Gets or sets the default value to use for undefined variables.
            </summary>
    </member>
    <member name="P:Gemstone.Expressions.Evaluator.ExpressionContext`1.Imports">
      <summary>
            Gets the type registry used to resolve imported types for an expression.
            </summary>
    </member>
    <member name="P:Gemstone.Expressions.Evaluator.ExpressionContext`1.Variables">
      <summary>
            Gets the dictionary of variables that can be accessed in an expression.
            </summary>
    </member>
    <member name="T:Gemstone.Expressions.Evaluator.ExpressionContextCompiler">
      <summary>
            Represents a runtime C# expression evaluator, for any return value types and
            a general purpose <see cref="T:Gemstone.Expressions.Evaluator.ExpressionContext" />.
            </summary>
    </member>
    <member name="M:Gemstone.Expressions.Evaluator.ExpressionContextCompiler.#ctor(System.String,Gemstone.Expressions.Evaluator.ExpressionContext)">
      <summary>
            Creates a new <see cref="T:Gemstone.Expressions.Evaluator.ExpressionContextCompiler" />.
            </summary>
      <param name="expression">C# expression to compile.</param>
      <param name="context">Expression context used to define expression accessible field values.</param>
    </member>
    <member name="T:Gemstone.Expressions.Evaluator.ExpressionContextCompiler`1">
      <summary>
            Represents a runtime C# expression evaluator, strongly typed for a specific return value <typeparamref name="TResult" />
            and a general purpose <see cref="T:Gemstone.Expressions.Evaluator.ExpressionContext" />.
            </summary>
      <typeparam name="TResult">Return value <see cref="T:System.Type" /> for function based expressions.</typeparam>
    </member>
    <member name="M:Gemstone.Expressions.Evaluator.ExpressionContextCompiler`1.#ctor(System.String,Gemstone.Expressions.Evaluator.ExpressionContext)">
      <summary>
            Creates a new <see cref="T:Gemstone.Expressions.Evaluator.ExpressionContextCompiler`1" />.
            </summary>
      <param name="expression">C# expression to compile.</param>
      <param name="context">Expression context used to define expression accessible field values.</param>
    </member>
    <member name="T:Gemstone.Expressions.Evaluator.ExpressionContextCompiler`2">
      <summary>
            Represents a runtime C# expression evaluator, strongly typed for a specific return value <typeparamref name="TResult" />
            and an <see cref="T:Gemstone.Expressions.Evaluator.ExpressionContext`1" /> with <typeparamref name="TContextType" /> variables.
            </summary>
      <typeparam name="TResult">Return value <see cref="T:System.Type" /> for function based expressions.</typeparam>
      <typeparam name="TContextType">Expression context <see cref="T:System.Type" /> for variables.</typeparam>
    </member>
    <member name="M:Gemstone.Expressions.Evaluator.ExpressionContextCompiler`2.#ctor(System.String,Gemstone.Expressions.Evaluator.ExpressionContext{`1})">
      <summary>
            Creates a new <see cref="T:Gemstone.Expressions.Evaluator.ExpressionContextCompiler`2" />.
            </summary>
      <param name="expression">C# expression to compile.</param>
      <param name="context">Expression context used to define expression accessible field values.</param>
    </member>
    <member name="M:Gemstone.Expressions.Evaluator.ExpressionContextCompiler`2.ExecuteAction">
      <summary>
            Executes compiled <see cref="T:System.Action" /> based expression.
            </summary>
      <remarks>
            Calling this method will automatically compile <see cref="T:System.Linq.Expressions.Expression" />, if not already compiled.
            Method automatically applies <see cref="P:Gemstone.Expressions.Evaluator.ExpressionContextCompiler`2.VariableContext" /> variables for execution.
            </remarks>
    </member>
    <member name="M:Gemstone.Expressions.Evaluator.ExpressionContextCompiler`2.ExecuteFunction">
      <summary>
            Executes compiled <see cref="T:System.Func`1" /> based expression.
            </summary>
      <returns>Evaluated expression result.</returns>
      <remarks>
            Calling this method will automatically compile <see cref="T:System.Linq.Expressions.Expression" />, if not already compiled.
            Function automatically applies <see cref="P:Gemstone.Expressions.Evaluator.ExpressionContextCompiler`2.VariableContext" /> variables for execution.
            </remarks>
    </member>
    <member name="P:Gemstone.Expressions.Evaluator.ExpressionContextCompiler`2.VariableContext">
      <summary>
            Gets or sets the <see cref="T:Gemstone.Expressions.Evaluator.ExpressionContext`1" /> instance to use for context variables.
            </summary>
    </member>
    <member name="T:Gemstone.Expressions.Evaluator.ISupportContextVariables">
      <summary>
            Defines an interface for types that support context variables.
            </summary>
    </member>
    <member name="M:Gemstone.Expressions.Evaluator.ISupportContextVariables.GetVariablesTypes">
      <summary>
            Gets the dictionary of variable types that can be accessed in an expression.
            </summary>
      <returns>
        <markup>
          <include item="SMCMissingTag">
            <parameter>returns</parameter>
            <parameter>M:Gemstone.Expressions.Evaluator.ISupportContextVariables.GetVariablesTypes</parameter>
          </include>
        </markup>
      </returns>
    </member>
    <member name="P:Gemstone.Expressions.Evaluator.ISupportContextVariables.Variables">
      <summary>
            Gets the dictionary of variable values that can be accessed in an expression.
            </summary>
    </member>
    <member name="T:Gemstone.Expressions.Evaluator.NotVisibleToExpressionAttribute">
      <summary>
            Defines an attribute that will mark a property or field in an instance type used
            as context to an <see cref="T:Gemstone.Expressions.Evaluator.ExpressionCompiler" /> as not visible to expressions.
            </summary>
    </member>
    <member name="M:Gemstone.Expressions.Evaluator.NotVisibleToExpressionAttribute.#ctor">
      <summary>
        <markup>
          <include item="SMCAutoDocConstructor">
            <parameter>Gemstone.Expressions.Evaluator.NotVisibleToExpressionAttribute</parameter>
          </include>
        </markup>
      </summary>
    </member>
    <member name="T:Gemstone.Expressions.Evaluator.Symbol">
      <summary>
            Represents a symbol consisting of a name, <see cref="P:Gemstone.Expressions.Evaluator.Symbol.Type" /> and value to be accessible for
            expressions used with the <see cref="T:Gemstone.Expressions.Evaluator.ExpressionCompiler`2" />.
            </summary>
      <remarks>
            A symbol is used define a local class field whose value is accessible to a compiled expression.
            </remarks>
    </member>
    <member name="M:Gemstone.Expressions.Evaluator.Symbol.#ctor(System.String,System.Type)">
      <summary>
            Creates a new <see cref="T:Gemstone.Expressions.Evaluator.Symbol" />.
            </summary>
      <param name="name">Name of symbol.</param>
      <param name="type">
        <see cref="P:Gemstone.Expressions.Evaluator.Symbol.Type" /> of symbol.</param>
    </member>
    <member name="M:Gemstone.Expressions.Evaluator.Symbol.#ctor(System.String,System.Type,System.Object)">
      <summary>
            Creates a new <see cref="T:Gemstone.Expressions.Evaluator.Symbol" />.
            </summary>
      <param name="name">Name of symbol.</param>
      <param name="type">
        <see cref="P:Gemstone.Expressions.Evaluator.Symbol.Type" /> of symbol.</param>
      <param name="value">Initial value for symbol.</param>
    </member>
    <member name="P:Gemstone.Expressions.Evaluator.Symbol.Name">
      <summary>
            Gets the symbol name.
            </summary>
    </member>
    <member name="P:Gemstone.Expressions.Evaluator.Symbol.Type">
      <summary>
            Gets the symbol <see cref="P:Gemstone.Expressions.Evaluator.Symbol.Type" />.
            </summary>
    </member>
    <member name="P:Gemstone.Expressions.Evaluator.Symbol.Value">
      <summary>
            Gets or sets the symbol value.
            </summary>
    </member>
    <member name="T:Gemstone.Expressions.Evaluator.TypeRegistry">
      <summary>
            Defines a registry of types and symbols needed for an <see cref="T:Gemstone.Expressions.Evaluator.ExpressionCompiler" />.
            </summary>
    </member>
    <member name="M:Gemstone.Expressions.Evaluator.TypeRegistry.#ctor">
      <summary>
            Creates a new <see cref="T:Gemstone.Expressions.Evaluator.TypeRegistry" />.
            </summary>
    </member>
    <member name="P:Gemstone.Expressions.Evaluator.TypeRegistry.Assemblies">
      <summary>
            Gets distinct assemblies for all <see cref="P:Gemstone.Expressions.Evaluator.TypeRegistry.RegisteredTypes" />.
            </summary>
    </member>
    <member name="M:Gemstone.Expressions.Evaluator.TypeRegistry.Clone">
      <summary>
            Creates a cloned instance of this <see cref="T:Gemstone.Expressions.Evaluator.TypeRegistry" />.
            </summary>
      <returns>Cloned instance of this <see cref="T:Gemstone.Expressions.Evaluator.TypeRegistry" />.</returns>
    </member>
    <member name="P:Gemstone.Expressions.Evaluator.TypeRegistry.GeneratedContextTypeCount">
      <summary>
            Gets total count of generated context types.
            </summary>
    </member>
    <member name="M:Gemstone.Expressions.Evaluator.TypeRegistry.GetContextType``2(Gemstone.Expressions.Evaluator.ISupportContextVariables)">
      <summary>
            Gets a compiled context type based on registered types and symbols.
            </summary>
      <param name="variableContext">Optional <see cref="T:Gemstone.Expressions.Evaluator.ISupportContextVariables" /> instance to use for context variables.</param>
      <typeparam name="TResult">Return value <see cref="T:System.Type" /> used for generated context type functions.</typeparam>
      <typeparam name="TInstanceParameter">Instance parameter <see cref="T:System.Type" /> for generated context type functions.</typeparam>
      <returns>Compiled context type based on registered types and symbols.</returns>
      <remarks>
            This method may generate a new runtime type based on registered types and symbols
            that is compiled into its own assembly and loaded into memory. The same cached type
            will be returned unless the registered types or symbols change. Since prior compiled
            assemblies cannot be unloaded, this property should only be called after all the
            desired types and symbols have been registered.
            </remarks>
    </member>
    <member name="M:Gemstone.Expressions.Evaluator.TypeRegistry.GetContextType(System.Type,System.Type,Gemstone.Expressions.Evaluator.ISupportContextVariables)">
      <summary>
            Gets a compiled context type based on registered types and symbols.
            </summary>
      <param name="resultType">Return value <see cref="T:System.Type" /> used for generated context type functions.</param>
      <param name="instanceParameterType">Instance parameter <see cref="T:System.Type" /> for generated context type functions.</param>
      <param name="variableContext">Optional <see cref="T:Gemstone.Expressions.Evaluator.ISupportContextVariables" /> instance to use for context variables.</param>
      <returns>Compiled context type based on registered types and symbols.</returns>
      <remarks>
            This method may generate a new runtime type based on registered types and symbols
            that is compiled into its own assembly and loaded into memory. The same cached type
            will be returned unless the registered types or symbols change. Since prior compiled
            assemblies cannot be unloaded, this property should only be called after all the
            desired types and symbols have been registered.
            </remarks>
    </member>
    <member name="M:Gemstone.Expressions.Evaluator.TypeRegistry.GetNewContext``2(Gemstone.Expressions.Evaluator.ISupportContextVariables)">
      <summary>
            Gets a new context instance.
            </summary>
      <param name="variableContext">Optional <see cref="T:Gemstone.Expressions.Evaluator.ISupportContextVariables" /> instance to use for context variables.</param>
      <typeparam name="TResult">Return value used <see cref="T:System.Type" /> for generated context type functions.</typeparam>
      <typeparam name="TInstanceParameter">Instance parameter <see cref="T:System.Type" /> for generated context type functions.</typeparam>
      <returns>New context instance.</returns>
      <remarks>
            This method may generate a new runtime type based on registered types and symbols
            that is compiled into its own assembly and loaded into memory. The same cached type
            will be returned unless the registered types or symbols change. Since prior compiled
            assemblies cannot be unloaded, this property should only be called after all the
            desired types and symbols have been registered.
            </remarks>
    </member>
    <member name="M:Gemstone.Expressions.Evaluator.TypeRegistry.GetNewContext(System.Type,System.Type,Gemstone.Expressions.Evaluator.ISupportContextVariables)">
      <summary>
            Gets a new context instance.
            </summary>
      <param name="resultType">Return value used <see cref="T:System.Type" /> for generated context type functions.</param>
      <param name="instanceParameterType">Instance parameter <see cref="T:System.Type" /> for generated context type functions.</param>
      <param name="variableContext">Optional <see cref="T:Gemstone.Expressions.Evaluator.ISupportContextVariables" /> instance to use for context variables.</param>
      <returns>New context instance.</returns>
      <remarks>
            This method may generate a new runtime type based on registered types and symbols
            that is compiled into its own assembly and loaded into memory. The same cached type
            will be returned unless the registered types or symbols change. Since prior compiled
            assemblies cannot be unloaded, this property should only be called after all the
            desired types and symbols have been registered.
            </remarks>
    </member>
    <member name="P:Gemstone.Expressions.Evaluator.TypeRegistry.Item(System.String)">
      <summary>
            Gets value for registered symbol with specified <paramref name="name" />.
            </summary>
      <param name="name">Symbol name.</param>
      <returns>Symbol value or <c>null</c> if symbol <paramref name="name" /> does not exist.</returns>
    </member>
    <member name="P:Gemstone.Expressions.Evaluator.TypeRegistry.Item(System.String,System.Type)">
      <summary>
            Sets value for registered symbol with specified <paramref name="name" />,
            new symbol will be registered if symbol does not exist.
            </summary>
      <param name="name">Symbol name.</param>
      <param name="type">Symbol type.</param>
    </member>
    <member name="P:Gemstone.Expressions.Evaluator.TypeRegistry.Namespaces">
      <summary>
            Gets distinct namespaces for all <see cref="P:Gemstone.Expressions.Evaluator.TypeRegistry.RegisteredTypes" />.
            </summary>
    </member>
    <member name="P:Gemstone.Expressions.Evaluator.TypeRegistry.RegisteredSymbols">
      <summary>
            Gets registered symbols.
            </summary>
    </member>
    <member name="P:Gemstone.Expressions.Evaluator.TypeRegistry.RegisteredTypes">
      <summary>
            Gets registered types including explicitly registered types and types for registered symbols.
            </summary>
    </member>
    <member name="M:Gemstone.Expressions.Evaluator.TypeRegistry.RegisterStaticType``1">
      <summary>
            Registers a new static <see cref="T:System.Type" />, i.e., for access in expressions with <c>static using</c>.
            </summary>
      <typeparam name="T">Type to register as a static type.</typeparam>
      <returns>
        <c>true</c> if the <typeparamref name="T" /> was registered successfully; otherwise,
            <c>false</c> if the <typeparamref name="T" /> was already registered.
            </returns>
      <remarks>
            Registering a static type will allow the type to be used in expressions without prefixing the type
            with its name, i.e., referenceable in code via a <c>static using</c>. This is useful for types that
            are used frequently e.g., <c>Math</c> or <c>Enumerable</c>. Note that adding a static using for a
            type will automatically register the type via <see cref="M:Gemstone.Expressions.Evaluator.TypeRegistry.RegisterType(System.Type)" />.
            </remarks>
    </member>
    <member name="M:Gemstone.Expressions.Evaluator.TypeRegistry.RegisterStaticType(System.Type)">
      <summary>
            Registers a new static <see cref="T:System.Type" />, i.e., for access in expressions with <c>static using</c>.
            </summary>
      <param name="type">Type to register as a static type.</param>
      <returns>
        <c>true</c> if the <paramref name="type" /> was registered successfully; otherwise,
            <c>false</c> if the <paramref name="type" /> was already registered.
            </returns>
      <remarks>
            Registering a static type will allow the type to be used in expressions without prefixing the type
            with its name, i.e., referenceable in code via a <c>static using</c>. This is useful for types that
            are used frequently e.g., <c>Math</c> or <c>Enumerable</c>. Note that adding a static using for a
            type will automatically register the type via <see cref="M:Gemstone.Expressions.Evaluator.TypeRegistry.RegisterType(System.Type)" />.
            </remarks>
    </member>
    <member name="M:Gemstone.Expressions.Evaluator.TypeRegistry.RegisterSymbol(Gemstone.Expressions.Evaluator.Symbol)">
      <summary>
            Registers a new or updates an existing <see cref="T:Gemstone.Expressions.Evaluator.Symbol" />.
            </summary>
      <param name="symbol">
        <see cref="T:Gemstone.Expressions.Evaluator.Symbol" /> to register.</param>
    </member>
    <member name="M:Gemstone.Expressions.Evaluator.TypeRegistry.RegisterSymbol``1(System.String,``0)">
      <summary>
            Registers a new or updates an existing <see cref="T:Gemstone.Expressions.Evaluator.Symbol" /> with specified <paramref name="name" /> and <paramref name="value" />.
            </summary>
      <param name="name">
        <see cref="T:Gemstone.Expressions.Evaluator.Symbol" /> name.</param>
      <param name="value">
        <see cref="T:Gemstone.Expressions.Evaluator.Symbol" /> value.</param>
      <typeparam name="T">
        <see cref="T:System.Type" /> of <paramref name="value" />.</typeparam>
    </member>
    <member name="M:Gemstone.Expressions.Evaluator.TypeRegistry.RegisterType``1">
      <summary>
            Registers a new <see cref="T:System.Type" />.
            </summary>
      <typeparam name="T">
        <see cref="T:System.Type" /> to register.</typeparam>
      <returns>
        <c>true</c> if <typeparamref name="T" /> was registered successfully; otherwise,
            <c>false</c> if <typeparamref name="T" /> was already registered.
            </returns>
    </member>
    <member name="M:Gemstone.Expressions.Evaluator.TypeRegistry.RegisterType(System.Type)">
      <summary>
            Registers a new <see cref="T:System.Type" />.
            </summary>
      <param name="type">
        <see cref="T:System.Type" /> to register.</param>
      <returns>
        <c>true</c> if the <paramref name="type" /> was registered successfully; otherwise,
            <c>false</c> if the <paramref name="type" /> was already registered.
            </returns>
    </member>
    <member name="P:Gemstone.Expressions.Evaluator.TypeRegistry.StaticTypes">
      <summary>
            Gets distinct static types for all types registered with <see cref="M:Gemstone.Expressions.Evaluator.TypeRegistry.RegisterStaticType(System.Type)" />.
            </summary>
    </member>
    <member name="T:Gemstone.Expressions.Model.DefaultValueExpressionAttribute">
      <summary>
            Defines a C# expression attribute that when evaluated will specify the default value for a property.
            </summary>
    </member>
    <member name="M:Gemstone.Expressions.Model.DefaultValueExpressionAttribute.#ctor(System.String)">
      <summary>
            Creates a new <see cref="T:Gemstone.Expressions.Model.DefaultValueExpressionAttribute" /></summary>
      <param name="expression">C# expression that will evaluate to the desired default value.</param>
    </member>
    <member name="T:Gemstone.Expressions.Model.EvaluationOrderException">
      <summary>
            Represents an exception related to <see cref="P:Gemstone.Expressions.Model.ValueExpressionAttributeBase.EvaluationOrder" /> values.
            </summary>
    </member>
    <member name="M:Gemstone.Expressions.Model.EvaluationOrderException.#ctor(System.String)">
      <summary>
            Creates a new <see cref="T:Gemstone.Expressions.Model.EvaluationOrderException" />.
            </summary>
      <param name="message">Exception message.</param>
    </member>
    <member name="T:Gemstone.Expressions.Model.IValueExpressionAttribute">
      <summary>
            Defines an interface for value expression attributes.
            </summary>
    </member>
    <member name="P:Gemstone.Expressions.Model.IValueExpressionAttribute.Cached">
      <summary>
            Gets or sets value that determines if value should be cached after first evaluation.
            Defaults to <c>false</c>.
            </summary>
    </member>
    <member name="P:Gemstone.Expressions.Model.IValueExpressionAttribute.EvaluationOrder">
      <summary>
            Gets or sets the numeric evaluation order for this expression. Defaults to zero.
            </summary>
      <remarks>
        <para>
            This is useful for providing an order of operations to evaluations of
            <see cref="T:Gemstone.Expressions.Model.ValueExpressionAttributeBase" /> attributes where one expression may
            be dependent on another. Note that properties are normally evaluated in the order
            in which they are defined in the class, but this is not guaranteed, using this
            attribute allows the order of evaluation to be changed. 
            </para>
        <para>
            When no <see cref="P:Gemstone.Expressions.Model.IValueExpressionAttribute.EvaluationOrder" /> is specified, the sort order for a property
            will be zero. Properties will be ordered numerically based on this value.
            </para>
        <para>
            For any <see cref="P:Gemstone.Expressions.Model.IValueExpressionAttribute.Expression" /> value that references the <c>this</c> keyword,
            a positive evaluation order will be required.
            </para>
        <para>
            See <see cref="M:Gemstone.Expressions.Model.ValueExpressionParser`1.CreateInstance``1(System.Collections.Generic.IEnumerable{System.Reflection.PropertyInfo},Gemstone.Expressions.Evaluator.TypeRegistry)" />.
            </para>
      </remarks>
    </member>
    <member name="P:Gemstone.Expressions.Model.IValueExpressionAttribute.Expression">
      <summary>
            Gets C# expression that will evaluate to the desired value.
            </summary>
      <remarks>
            Use the <see cref="M:Gemstone.Expressions.Model.IValueExpressionAttribute.GetPropertyUpdateValue(System.Reflection.PropertyInfo)" /> method to get a per-property
            based value for use with the <see cref="T:Gemstone.Expressions.Model.ValueExpressionParser" />. Use
            <see cref="M:Gemstone.Expressions.Model.ValueExpressionParser.DeriveExpression(System.String,Gemstone.Expressions.Model.IValueExpressionAttribute,System.Reflection.MemberInfo,System.String)" /> to automatically
            replace any <c>this</c> keywords with <c>Instance</c> to properly
            reference the modeled <see cref="P:Gemstone.Expressions.Model.ValueExpressionScopeBase`1.Instance" />.
            </remarks>
    </member>
    <member name="M:Gemstone.Expressions.Model.IValueExpressionAttribute.GetExpressionUpdateValue(System.Reflection.PropertyInfo)">
      <summary>
            Gets the modeled property based value used to update the <see cref="P:Gemstone.Expressions.Model.IValueExpressionAttribute.Expression" />.
            </summary>
      <param name="property">Property from which attribute was derived.</param>
      <returns>Assignment expression based on source property.</returns>
      <remarks>
        <para>
            This function allows derived attribute implementations to adjust the update value
            based on property information, e.g., property type.
            </para>
        <para>
            The expression update value is typically used to assign modeled property values back
            to expressions allowing synchronization of a model with an external source, e.g., a
            user interface element.
            </para>
        <para>
            Default implementation should return <c>$"Instance.{property.Name}"</c>.
            </para>
      </remarks>
    </member>
    <member name="M:Gemstone.Expressions.Model.IValueExpressionAttribute.GetPropertyUpdateValue(System.Reflection.PropertyInfo)">
      <summary>
            Gets the <see cref="P:Gemstone.Expressions.Model.IValueExpressionAttribute.Expression" /> based value used to update a modeled property.
            </summary>
      <param name="property">Property from which attribute was derived.</param>
      <returns>Expression based on source property.</returns>
      <remarks>
        <para>
            This function allows derived attribute implementations to adjust the expression based
            on property information, e.g., property type.
            </para>
        <para>
            The property update value is typically used to assign expression values to a modeled type.
            </para>
        <para>
            Default implementation should return <c>Expression</c>.
            </para>
      </remarks>
    </member>
    <member name="P:Gemstone.Expressions.Model.IValueExpressionAttribute.TypeRegistry">
      <summary>
            Gets or sets any <see cref="T:Gemstone.Expressions.Evaluator.TypeRegistry" /> to use if the attribute
            <see cref="P:Gemstone.Expressions.Model.IValueExpressionAttribute.Expression" /> needs to be pre-parsed.
            </summary>
    </member>
    <member name="T:Gemstone.Expressions.Model.IValueExpressionScope`1">
      <summary>
            Defines an interface used for providing contextual scope when evaluating
            instances of the <see cref="T:Gemstone.Expressions.Model.IValueExpressionAttribute" />.
            </summary>
      <typeparam name="T">Type of associated model.</typeparam>
    </member>
    <member name="P:Gemstone.Expressions.Model.IValueExpressionScope`1.Instance">
      <summary>
            Gets or sets the current <typeparamref name="T" /> instance.
            </summary>
      <remarks>
            By using the <see cref="M:Gemstone.Expressions.Model.ValueExpressionParser.ReplaceThisKeywords(System.String,System.String)" /> function, expressions
            can reference the current <typeparamref name="T" /> instance using the <c>this</c> keyword.
            See <see cref="M:Gemstone.Expressions.Model.ValueExpressionParser`1.CreateInstance``1(System.Collections.Generic.IEnumerable{System.Reflection.PropertyInfo},Gemstone.Expressions.Evaluator.TypeRegistry)" />.
            </remarks>
    </member>
    <member name="T:Gemstone.Expressions.Model.TypeConvertedValueExpressionAttribute">
      <summary>
            Defines a C# expression attribute that when evaluated will type convert its value for a property.
            </summary>
      <remarks>
            This attribute is typically used when synchronizing modeled values to an external sources, e.g.,
            user interface elements.
            </remarks>
    </member>
    <member name="M:Gemstone.Expressions.Model.TypeConvertedValueExpressionAttribute.#ctor(System.String,System.Type)">
      <summary>
            Creates a new <see cref="T:Gemstone.Expressions.Model.TypeConvertedValueExpressionAttribute" /></summary>
      <param name="expression">C# expression that will evaluate to the type converted property value.</param>
      <param name="returnType">
            Return type for specified C# <paramref name="expression" />; defaults to <c>null</c> to auto-derive
            the <paramref name="expression" /> return type by pre-parsing expression.
            </param>
      <remarks>
            When the <paramref name="returnType" /> is known in advance, it is optimal to provide it.
            </remarks>
    </member>
    <member name="M:Gemstone.Expressions.Model.TypeConvertedValueExpressionAttribute.GetExpressionUpdateValue(System.Reflection.PropertyInfo)">
      <summary>
            Gets the modeled property based value used to update the <see cref="P:Gemstone.Expressions.Model.ValueExpressionAttributeBase.Expression" />.
            </summary>
      <param name="property">Property from which attribute was derived.</param>
      <returns>Expression based on source property.</returns>
      <remarks>
            The expression update value is typically used to assign modeled property values back
            to expressions allowing synchronization of a model with an external source, e.g., a
            user interface element. For example:
            <code>
            [TypeConvertedValueExpression("Form.maskedTextBoxMessageInterval.Text", typeof(string))]
            public int MessageInterval { get; set; }
            </code>
            Would generate an update expression of "Common.TypeConvertToString(Instance.MessageInterval)"
            which would be executed as part of an overall expression that looked like
            <c>Form.maskedTextBoxMessageInterval.Text = Common.TypeConvertToString(Instance.MessageInterval)</c>
            when called from <see cref="M:Gemstone.Expressions.Model.ValueExpressionParser`1.UpdateExpressions(System.Collections.Generic.IEnumerable{System.Reflection.PropertyInfo},Gemstone.Expressions.Evaluator.TypeRegistry)" />.
            </remarks>
    </member>
    <member name="M:Gemstone.Expressions.Model.TypeConvertedValueExpressionAttribute.GetPropertyUpdateValue(System.Reflection.PropertyInfo)">
      <summary>
            Gets the <see cref="P:Gemstone.Expressions.Model.ValueExpressionAttributeBase.Expression" /> based value used to update a modeled property.
            </summary>
      <param name="property">Property from which attribute was derived.</param>
      <returns>Expression based on source property.</returns>
      <remarks>
            The property update value is typically used to assign expression values to a modeled type. For example:
            <code>
            [TypeConvertedValueExpression("Form.maskedTextBoxMessageInterval.Text", typeof(string))]
            public int MessageInterval { get; set; }
            </code>
            Would generate an expression of "Common.TypeConvertFromString(Form.maskedTextBoxMessageInterval.Text, typeof(int))"
            which would be executed as part of an overall expression that looked like
            <c>Instance.MessageInterval = Common.TypeConvertFromString(Form.maskedTextBoxMessageInterval.Text, typeof(int))</c>
            when called from <see cref="M:Gemstone.Expressions.Model.ValueExpressionParser`1.UpdateProperties(System.Collections.Generic.IEnumerable{System.Reflection.PropertyInfo},Gemstone.Expressions.Evaluator.TypeRegistry)" />.
            </remarks>
    </member>
    <member name="P:Gemstone.Expressions.Model.TypeConvertedValueExpressionAttribute.ReturnType">
      <summary>
            Gets the return <see cref="T:System.Type" /> for this <see cref="P:Gemstone.Expressions.Model.ValueExpressionAttributeBase.Expression" />.
            </summary>
      <remarks>
            When value is <c>null</c>, the <see cref="P:Gemstone.Expressions.Model.ValueExpressionAttributeBase.Expression" /> will be
            pre-parsed in an attempt to auto-derive the return type. Note that when using this attribute,
            it often will be necessary to assign the current <see cref="T:Gemstone.Expressions.Evaluator.TypeRegistry" /> so that the parser
            will have access to needed symbols. If the expression's return type is known in advance, it
            is optimal to provide it in the attribute constructor.
            </remarks>
    </member>
    <member name="T:Gemstone.Expressions.Model.UpdateValueExpressionAttribute">
      <summary>
            Defines a C# expression attribute that when evaluated will specify an updated value for a property.
            </summary>
    </member>
    <member name="M:Gemstone.Expressions.Model.UpdateValueExpressionAttribute.#ctor(System.String)">
      <summary>
            Creates a new <see cref="T:Gemstone.Expressions.Model.UpdateValueExpressionAttribute" /></summary>
      <param name="expression">C# expression that will evaluate to the desired default value.</param>
    </member>
    <member name="T:Gemstone.Expressions.Model.ValueExpressionAttributeBase">
      <summary>
            Represents a base attribute class for C# expressions that when evaluated will specify a new value for a property.
            </summary>
    </member>
    <member name="M:Gemstone.Expressions.Model.ValueExpressionAttributeBase.#ctor(System.String)">
      <summary>
            Creates a new <see cref="T:Gemstone.Expressions.Model.ValueExpressionAttributeBase" /></summary>
      <param name="expression">C# expression that will evaluate to the desired value.</param>
      <exception cref="T:System.ArgumentNullException">Parameter <paramref name="expression" /> cannot be <c>null</c>.</exception>
    </member>
    <member name="P:Gemstone.Expressions.Model.ValueExpressionAttributeBase.Cached">
      <summary>
            Gets or sets value that determines if value should be cached after first evaluation.
            Defaults to <c>false</c>.
            </summary>
    </member>
    <member name="P:Gemstone.Expressions.Model.ValueExpressionAttributeBase.EvaluationOrder">
      <summary>
            Gets or sets the numeric evaluation order for this expression. Defaults to zero.
            </summary>
      <remarks>
        <para>
            This is useful for providing an order of operations to evaluations of
            <see cref="T:Gemstone.Expressions.Model.ValueExpressionAttributeBase" /> attributes where one expression may
            be dependent on another. Note that properties are normally evaluated in the order
            in which they are defined in the class, but this is not guaranteed, using this
            attribute allows the order of evaluation to be changed. 
            </para>
        <para>
            When no <see cref="P:Gemstone.Expressions.Model.IValueExpressionAttribute.EvaluationOrder" /> is specified, the sort order for a property
            will be zero. Properties will be ordered numerically based on this value.
            </para>
        <para>
            For any <see cref="P:Gemstone.Expressions.Model.IValueExpressionAttribute.Expression" /> value that references the <c>this</c> keyword,
            a positive evaluation order will be required.
            </para>
        <para>
            See <see cref="M:Gemstone.Expressions.Model.ValueExpressionParser`1.CreateInstance``1(System.Collections.Generic.IEnumerable{System.Reflection.PropertyInfo},Gemstone.Expressions.Evaluator.TypeRegistry)" />.
            </para>
      </remarks>
    </member>
    <member name="P:Gemstone.Expressions.Model.ValueExpressionAttributeBase.Expression">
      <summary>
            Gets C# expression that will evaluate to the desired value.
            </summary>
      <remarks>
            Use the <see cref="M:Gemstone.Expressions.Model.IValueExpressionAttribute.GetPropertyUpdateValue(System.Reflection.PropertyInfo)" /> method to get a per-property
            based value for use with the <see cref="T:Gemstone.Expressions.Model.ValueExpressionParser" />. Use
            <see cref="M:Gemstone.Expressions.Model.ValueExpressionParser.DeriveExpression(System.String,Gemstone.Expressions.Model.IValueExpressionAttribute,System.Reflection.MemberInfo,System.String)" /> to automatically
            replace any <c>this</c> keywords with <c>Instance</c> to properly
            reference the modeled <see cref="P:Gemstone.Expressions.Model.ValueExpressionScopeBase`1.Instance" />.
            </remarks>
    </member>
    <member name="M:Gemstone.Expressions.Model.ValueExpressionAttributeBase.GetExpressionUpdateValue(System.Reflection.PropertyInfo)">
      <summary>
            Gets the modeled property based value used to update the <see cref="P:Gemstone.Expressions.Model.IValueExpressionAttribute.Expression" />.
            </summary>
      <param name="property">Property from which attribute was derived.</param>
      <returns>Assignment expression based on source property.</returns>
      <remarks>
        <para>
            This function allows derived attribute implementations to adjust the update value
            based on property information, e.g., property type.
            </para>
        <para>
            The expression update value is typically used to assign modeled property values back
            to expressions allowing synchronization of a model with an external source, e.g., a
            user interface element.
            </para>
        <para>
            Default implementation should return <c>$"Instance.{property.Name}"</c>.
            </para>
      </remarks>
    </member>
    <member name="M:Gemstone.Expressions.Model.ValueExpressionAttributeBase.GetPropertyUpdateValue(System.Reflection.PropertyInfo)">
      <summary>
            Gets the <see cref="P:Gemstone.Expressions.Model.IValueExpressionAttribute.Expression" /> based value used to update a modeled property.
            </summary>
      <param name="property">Property from which attribute was derived.</param>
      <returns>Expression based on source property.</returns>
      <remarks>
        <para>
            This function allows derived attribute implementations to adjust the expression based
            on property information, e.g., property type.
            </para>
        <para>
            The property update value is typically used to assign expression values to a modeled type.
            </para>
        <para>
            Default implementation should return <c>Expression</c>.
            </para>
      </remarks>
    </member>
    <member name="P:Gemstone.Expressions.Model.ValueExpressionAttributeBase.TypeRegistry">
      <summary>
            Gets or sets any <see cref="T:Gemstone.Expressions.Evaluator.TypeRegistry" /> to use if the attribute
            <see cref="P:Gemstone.Expressions.Model.IValueExpressionAttribute.Expression" /> needs to be pre-parsed.
            </summary>
    </member>
    <member name="T:Gemstone.Expressions.Model.ValueExpressionParser">
      <summary>
            Represents a parser for <see cref="T:Gemstone.Expressions.Model.IValueExpressionAttribute" /> instances.
            </summary>
    </member>
    <member name="M:Gemstone.Expressions.Model.ValueExpressionParser.#ctor(Gemstone.Expressions.Model.IValueExpressionAttribute,System.Reflection.PropertyInfo)">
      <summary>
            Creates a new <see cref="T:Gemstone.Expressions.Model.ValueExpressionParser" /> from the specified
            <paramref name="valueExpressionAttribute" /> and <paramref name="property" />
            parameters deriving the base expression value from
            <see cref="M:Gemstone.Expressions.Model.IValueExpressionAttribute.GetPropertyUpdateValue(System.Reflection.PropertyInfo)" />.
            </summary>
      <param name="valueExpressionAttribute">Source <see cref="T:Gemstone.Expressions.Model.IValueExpressionAttribute" /> instance.</param>
      <param name="property">Source <see cref="T:System.Reflection.PropertyInfo" /> instance.</param>
    </member>
    <member name="M:Gemstone.Expressions.Model.ValueExpressionParser.#ctor(System.String)">
      <summary>
            Creates a new <see cref="T:Gemstone.Expressions.Model.ValueExpressionParser" />.
            </summary>
      <param name="expression">C# expression to be parsed.</param>
    </member>
    <member name="P:Gemstone.Expressions.Model.ValueExpressionParser.DefaultTypeRegistry">
      <summary>
            Gets the default <see cref="T:Gemstone.Expressions.Evaluator.TypeRegistry" /> instance used for evaluating <see cref="T:Gemstone.Expressions.Model.IValueExpressionAttribute" /> instances.
            </summary>
    </member>
    <member name="M:Gemstone.Expressions.Model.ValueExpressionParser.DeriveExpression(System.String,Gemstone.Expressions.Model.IValueExpressionAttribute,System.Reflection.MemberInfo,System.String)">
      <summary>
            Derives an expression based on <paramref name="member" /> info with any <c>this</c>
            keywords properly referencing <see cref="P:Gemstone.Expressions.Model.ValueExpressionScopeBase`1.Instance" /> value.
            </summary>
      <param name="expression">Expression to derive, typically from <see cref="M:Gemstone.Expressions.Model.IValueExpressionAttribute.GetPropertyUpdateValue(System.Reflection.PropertyInfo)" /> or <see cref="M:Gemstone.Expressions.Model.IValueExpressionAttribute.GetExpressionUpdateValue(System.Reflection.PropertyInfo)" />.</param>
      <param name="valueExpressionAttribute">Associated <see cref="T:Gemstone.Expressions.Model.IValueExpressionAttribute" /> instance.</param>
      <param name="member">Associated <see cref="T:System.Reflection.MemberInfo" /> instance, typically target property for <paramref name="valueExpressionAttribute" />.</param>
      <param name="typeName">Modeled type name, e.g., typeof&lt;T&gt;.FullName.</param>
      <returns>Derived expression with any <c>this</c> keywords properly referencing <see cref="P:Gemstone.Expressions.Model.ValueExpressionScopeBase`1.Instance" /> value.</returns>
      <exception cref="T:Gemstone.Expressions.Model.EvaluationOrderException">
            Specified <paramref name="expression" /> references the <c>this</c> keyword and must specify a positive <see cref="P:Gemstone.Expressions.Model.IValueExpressionAttribute.EvaluationOrder" />.
            </exception>
      <exception cref="T:System.ArgumentNullException">Parameter <paramref name="expression" /> cannot be <c>null</c>.</exception>
    </member>
    <member name="M:Gemstone.Expressions.Model.ValueExpressionParser.HasThisKeywords(System.String)">
      <summary>
            Returns a flag that determines if the "this" keyword exists with the specified <paramref name="expression" />.
            </summary>
      <param name="expression">Expression to search.</param>
      <returns>
        <c>true</c> if "this" keyword exists in expression; otherwise, <c>false</c>.</returns>
    </member>
    <member name="M:Gemstone.Expressions.Model.ValueExpressionParser.ReplaceThisKeywords(System.String,System.String)">
      <summary>
            Replaces references to "this" keyword with a specified <paramref name="fieldName" />.
            </summary>
      <param name="expression">Expression to search.</param>
      <param name="fieldName">Replacement value for "this" keyword usages.</param>
      <returns>An expression with "this" keywords replaced with specified <paramref name="fieldName" />.</returns>
    </member>
    <member name="T:Gemstone.Expressions.Model.ValueExpressionParser`1">
      <summary>
            Represents a typed parser for <see cref="T:Gemstone.Expressions.Model.IValueExpressionAttribute" /> instances.
            </summary>
      <typeparam name="T">Type of associated model.</typeparam>
    </member>
    <member name="M:Gemstone.Expressions.Model.ValueExpressionParser`1.#ctor(Gemstone.Expressions.Model.IValueExpressionAttribute,System.Reflection.PropertyInfo)">
      <summary>
            Creates a new <see cref="T:Gemstone.Expressions.Model.ValueExpressionParser" /> from the specified
            <paramref name="valueExpressionAttribute" /> and <paramref name="property" />
            parameters deriving the base expression value from
            <see cref="M:Gemstone.Expressions.Model.IValueExpressionAttribute.GetPropertyUpdateValue(System.Reflection.PropertyInfo)" />.
            </summary>
      <param name="valueExpressionAttribute">Source <see cref="T:Gemstone.Expressions.Model.IValueExpressionAttribute" /> instance.</param>
      <param name="property">Source <see cref="T:System.Reflection.PropertyInfo" /> instance.</param>
    </member>
    <member name="M:Gemstone.Expressions.Model.ValueExpressionParser`1.#ctor(System.String)">
      <summary>
            Creates a new <see cref="T:Gemstone.Expressions.Model.ValueExpressionParser`1" />.
            </summary>
      <param name="expression">C# expression to be parsed.</param>
    </member>
    <member name="M:Gemstone.Expressions.Model.ValueExpressionParser`1.ApplyDefaults(System.Collections.Generic.IEnumerable{System.Reflection.PropertyInfo},Gemstone.Expressions.Evaluator.TypeRegistry)">
      <summary>
            Generates a delegate that will update an instance of type <typeparamref name="T" /> applying any specified
            <see cref="T:System.ComponentModel.DefaultValueAttribute" /> or <see cref="T:Gemstone.Expressions.Model.DefaultValueExpressionAttribute" /> instances that are
            declared on the type <typeparamref name="T" /> properties. Target <typeparamref name="T" /> instance is
            accepted as the parameter to the returned delegate <see cref="T:System.Action`1" />.
            </summary>
      <param name="properties">Specific properties to target, or <c>null</c> to target all properties.</param>
      <param name="typeRegistry">
            Type registry to use when parsing <see cref="T:Gemstone.Expressions.Model.DefaultValueExpressionAttribute" /> instances, or <c>null</c>
            to use <see cref="P:Gemstone.Expressions.Model.ValueExpressionParser.DefaultTypeRegistry" />.
            </param>
      <returns>
            Generated delegate that will update <typeparamref name="T" /> instances with default values applied.
            </returns>
      <remarks>
            This function is useful for generating a delegate to a compiled function that will update
            objects of type <typeparamref name="T" /> where properties of the type of have been decorated with
            <see cref="T:System.ComponentModel.DefaultValueAttribute" /> or <see cref="T:Gemstone.Expressions.Model.DefaultValueExpressionAttribute" /> attributes.
            The updated object will automatically have applied any defined default values as specified by
            the encountered attributes.
            <note type="note">
            This function will assign evaluated expression values to properties in an existing model.
            </note></remarks>
    </member>
    <member name="M:Gemstone.Expressions.Model.ValueExpressionParser`1.ApplyDefaults``1(System.Collections.Generic.IEnumerable{System.Reflection.PropertyInfo},Gemstone.Expressions.Evaluator.TypeRegistry)">
      <summary>
            Generates a delegate that will update an instance of type <typeparamref name="T" /> accepting
            a contextual <see cref="T:Gemstone.Expressions.Model.IValueExpressionScope`1" /> object parameter applying any specified
            <see cref="T:System.ComponentModel.DefaultValueAttribute" /> or <see cref="T:Gemstone.Expressions.Model.DefaultValueExpressionAttribute" />
            instances that are declared on the type <typeparamref name="T" /> properties. Target
            <typeparamref name="T" /> instance needs to be assigned to the
            <see cref="P:Gemstone.Expressions.Model.IValueExpressionScope`1.Instance" /> property prior to call.
            </summary>
      <param name="properties">Specific properties to target, or <c>null</c> to target all properties.</param>
      <param name="typeRegistry">
            Type registry to use when parsing <see cref="T:Gemstone.Expressions.Model.DefaultValueExpressionAttribute" /> instances, or <c>null</c>
            to use <see cref="P:Gemstone.Expressions.Model.ValueExpressionParser.DefaultTypeRegistry" />.
            </param>
      <typeparam name="TExpressionScope">
        <see cref="T:Gemstone.Expressions.Model.IValueExpressionScope`1" /> parameter type.</typeparam>
      <returns>
            Generated delegate that will update <typeparamref name="T" /> instances with expression values applied.
            </returns>
      <remarks>
            This function is useful for generating a delegate to a compiled function that will update
            objects of type <typeparamref name="T" /> where properties of the type of have been decorated with
            <see cref="T:System.ComponentModel.DefaultValueAttribute" /> or <see cref="T:Gemstone.Expressions.Model.DefaultValueExpressionAttribute" /> attributes.
            The updated object will automatically have applied any defined default values as specified by
            the encountered attributes. The generated delegate takes a parameter to a contextual object useful
            for providing extra runtime data to <see cref="T:Gemstone.Expressions.Model.DefaultValueExpressionAttribute" /> attributes; the
            parameter must be derived from <see cref="T:Gemstone.Expressions.Model.IValueExpressionScope`1" />. Any public fields,
            methods or properties defined in the derived class will be automatically accessible from the
            expressions declared in the <see cref="T:Gemstone.Expressions.Model.DefaultValueExpressionAttribute" /> attributes. By default,
            the expressions will have access to the current <typeparamref name="T" /> instance by referencing the
            <c>this</c> keyword, which is an alias to <see cref="P:Gemstone.Expressions.Model.IValueExpressionScope`1.Instance" />.
            <note type="note">
            This function will assign evaluated expression values to properties in an existing model.
            </note></remarks>
    </member>
    <member name="M:Gemstone.Expressions.Model.ValueExpressionParser`1.ApplyDefaultsForType``1(System.Collections.Generic.IEnumerable{System.Reflection.PropertyInfo},Gemstone.Expressions.Evaluator.TypeRegistry)">
      <summary>
            Generates a delegate that will update an instance of type <typeparamref name="T" /> applying any specified
            <see cref="T:System.ComponentModel.DefaultValueAttribute" /> or <typeparamref name="TValueExpressionAttribute" /> instances that are
            declared on the type <typeparamref name="T" /> properties. Target <typeparamref name="T" /> instance is
            accepted as the parameter to the returned delegate <see cref="T:System.Action`1" />.
            </summary>
      <param name="properties">Specific properties to target, or <c>null</c> to target all properties.</param>
      <param name="typeRegistry">
            Type registry to use when parsing <typeparamref name="TValueExpressionAttribute" /> instances, or <c>null</c>
            to use <see cref="P:Gemstone.Expressions.Model.ValueExpressionParser.DefaultTypeRegistry" />.
            </param>
      <typeparam name="TValueExpressionAttribute">
        <see cref="T:Gemstone.Expressions.Model.IValueExpressionAttribute" /> parameter type.</typeparam>
      <returns>
            Generated delegate that will update <typeparamref name="T" /> instances with default values applied.
            </returns>
      <remarks>
            This function is useful for generating a delegate to a compiled function that will update
            objects of type <typeparamref name="T" /> where properties of the type of have been decorated with
            <see cref="T:System.ComponentModel.DefaultValueAttribute" /> or <typeparamref name="TValueExpressionAttribute" /> attributes.
            The updated object will automatically have applied any defined default values as specified by
            the encountered attributes.
            <note type="note">
            This function will assign evaluated expression values to properties in an existing model.
            </note></remarks>
    </member>
    <member name="M:Gemstone.Expressions.Model.ValueExpressionParser`1.ApplyDefaultsForType``2(System.Collections.Generic.IEnumerable{System.Reflection.PropertyInfo},Gemstone.Expressions.Evaluator.TypeRegistry)">
      <summary>
            Generates a delegate that will update an instance of type <typeparamref name="T" /> accepting
            a contextual <see cref="T:Gemstone.Expressions.Model.IValueExpressionScope`1" /> object parameter applying any specified
            <see cref="T:System.ComponentModel.DefaultValueAttribute" /> or <typeparamref name="TValueExpressionAttribute" />
            instances that are declared on the type <typeparamref name="T" /> properties. Target
            <typeparamref name="T" /> instance needs to be assigned to the
            <see cref="P:Gemstone.Expressions.Model.IValueExpressionScope`1.Instance" /> property prior to call.
            </summary>
      <param name="properties">Specific properties to target, or <c>null</c> to target all properties.</param>
      <param name="typeRegistry">
            Type registry to use when parsing <typeparamref name="TValueExpressionAttribute" /> instances, or <c>null</c>
            to use <see cref="P:Gemstone.Expressions.Model.ValueExpressionParser.DefaultTypeRegistry" />.
            </param>
      <typeparam name="TValueExpressionAttribute">
        <see cref="T:Gemstone.Expressions.Model.IValueExpressionAttribute" /> parameter type.</typeparam>
      <typeparam name="TExpressionScope">
        <see cref="T:Gemstone.Expressions.Model.IValueExpressionScope`1" /> parameter type.</typeparam>
      <returns>
            Generated delegate that will update <typeparamref name="T" /> instances with expression values applied.
            </returns>
      <remarks>
            This function is useful for generating a delegate to a compiled function that will update
            objects of type <typeparamref name="T" /> where properties of the type of have been decorated with
            <see cref="T:System.ComponentModel.DefaultValueAttribute" /> or <typeparamref name="TValueExpressionAttribute" /> attributes.
            The updated object will automatically have applied any defined default values as specified by
            the encountered attributes. The generated delegate takes a parameter to a contextual object useful
            for providing extra runtime data to <typeparamref name="TValueExpressionAttribute" /> attributes; the
            parameter must be derived from <see cref="T:Gemstone.Expressions.Model.IValueExpressionScope`1" />. Any public fields,
            methods or properties defined in the derived class will be automatically accessible from the
            expressions declared in the <typeparamref name="TValueExpressionAttribute" /> attributes. By default,
            the expressions will have access to the current <typeparamref name="T" /> instance by referencing the
            <c>this</c> keyword, which is an alias to <see cref="P:Gemstone.Expressions.Model.IValueExpressionScope`1.Instance" />.
            <note type="note">
            This function will assign evaluated expression values to properties in an existing model.
            </note></remarks>
    </member>
    <member name="M:Gemstone.Expressions.Model.ValueExpressionParser`1.CreateInstance(System.Collections.Generic.IEnumerable{System.Reflection.PropertyInfo},Gemstone.Expressions.Evaluator.TypeRegistry)">
      <summary>
            Generates a delegate that will create new instance of type <typeparamref name="T" /> applying any specified
            <see cref="T:System.ComponentModel.DefaultValueAttribute" /> or <see cref="T:Gemstone.Expressions.Model.DefaultValueExpressionAttribute" /> instances that are
            declared on the type <typeparamref name="T" /> properties.
            </summary>
      <param name="properties">Specific properties to target, or <c>null</c> to target all properties.</param>
      <param name="typeRegistry">
            Type registry to use when parsing <see cref="T:Gemstone.Expressions.Model.DefaultValueExpressionAttribute" /> instances, or <c>null</c>
            to use <see cref="P:Gemstone.Expressions.Model.ValueExpressionParser.DefaultTypeRegistry" />.
            </param>
      <returns>
            Generated delegate that will create new <typeparamref name="T" /> instances with default values applied.
            </returns>
      <remarks>
            This function is useful for generating a delegate to a compiled function that will create new
            objects of type <typeparamref name="T" /> where properties of the type of have been decorated with
            <see cref="T:System.ComponentModel.DefaultValueAttribute" /> or <see cref="T:Gemstone.Expressions.Model.DefaultValueExpressionAttribute" /> attributes.
            The newly created object will automatically have applied any defined default values as specified by
            the encountered attributes.
            <note type="note">
            This function will assign evaluated expression values to properties in a newly created model.
            </note></remarks>
    </member>
    <member name="M:Gemstone.Expressions.Model.ValueExpressionParser`1.CreateInstance``1(System.Collections.Generic.IEnumerable{System.Reflection.PropertyInfo},Gemstone.Expressions.Evaluator.TypeRegistry)">
      <summary>
            Generates a delegate that will create new instance of type <typeparamref name="T" /> accepting a
            contextual <see cref="T:Gemstone.Expressions.Model.IValueExpressionScope`1" /> object parameter applying any
            specified <see cref="T:System.ComponentModel.DefaultValueAttribute" /> or <see cref="T:Gemstone.Expressions.Model.DefaultValueExpressionAttribute" />
            instances that are declared on the type <typeparamref name="T" /> properties.
            </summary>
      <param name="properties">Specific properties to target, or <c>null</c> to target all properties.</param>
      <param name="typeRegistry">
            Type registry to use when parsing <see cref="T:Gemstone.Expressions.Model.DefaultValueExpressionAttribute" /> instances, or <c>null</c>
            to use <see cref="P:Gemstone.Expressions.Model.ValueExpressionParser.DefaultTypeRegistry" />.
            </param>
      <typeparam name="TExpressionScope">
        <see cref="T:Gemstone.Expressions.Model.IValueExpressionScope`1" /> parameter type.</typeparam>
      <returns>
            Generated delegate that will create new <typeparamref name="T" /> instances with default values applied.
            </returns>
      <remarks>
            This function is useful for generating a delegate to a compiled function that will create new
            objects of type <typeparamref name="T" /> where properties of the type of have been decorated with
            <see cref="T:System.ComponentModel.DefaultValueAttribute" /> or <see cref="T:Gemstone.Expressions.Model.DefaultValueExpressionAttribute" /> attributes.
            The newly created object will automatically have applied any defined default values as specified by
            the encountered attributes. The generated delegate takes a parameter to a contextual object useful
            for providing extra runtime data to <see cref="T:Gemstone.Expressions.Model.DefaultValueExpressionAttribute" /> attributes; the
            parameter must be derived from <see cref="T:Gemstone.Expressions.Model.IValueExpressionScope`1" />. Any public fields,
            methods or properties defined in the derived class will be automatically accessible from the
            expressions declared in the <see cref="T:Gemstone.Expressions.Model.DefaultValueExpressionAttribute" /> attributes. By default,
            the expressions will have access to the current <typeparamref name="T" /> instance by referencing the
            <c>this</c> keyword, which is an alias to <see cref="P:Gemstone.Expressions.Model.IValueExpressionScope`1.Instance" />.
            <note type="note">
            This function will assign evaluated expression values to properties in a newly created model.
            </note></remarks>
    </member>
    <member name="M:Gemstone.Expressions.Model.ValueExpressionParser`1.CreateInstanceForType``1(System.Collections.Generic.IEnumerable{System.Reflection.PropertyInfo},Gemstone.Expressions.Evaluator.TypeRegistry)">
      <summary>
            Generates a delegate that will create new instance of type <typeparamref name="T" /> applying any specified
            <see cref="T:System.ComponentModel.DefaultValueAttribute" /> or <typeparamref name="TValueExpressionAttribute" /> instances that are
            declared on the type <typeparamref name="T" /> properties.
            </summary>
      <param name="properties">Specific properties to target, or <c>null</c> to target all properties.</param>
      <param name="typeRegistry">
            Type registry to use when parsing <typeparamref name="TValueExpressionAttribute" /> instances, or <c>null</c>
            to use <see cref="P:Gemstone.Expressions.Model.ValueExpressionParser.DefaultTypeRegistry" />.
            </param>
      <typeparam name="TValueExpressionAttribute">
        <see cref="T:Gemstone.Expressions.Model.IValueExpressionAttribute" /> parameter type.</typeparam>
      <returns>
            Generated delegate that will create new <typeparamref name="T" /> instances with default values applied.
            </returns>
      <remarks>
            This function is useful for generating a delegate to a compiled function that will create new
            objects of type <typeparamref name="T" /> where properties of the type of have been decorated with
            <see cref="T:System.ComponentModel.DefaultValueAttribute" /> or <typeparamref name="TValueExpressionAttribute" /> attributes.
            The newly created object will automatically have applied any defined default values as specified by
            the encountered attributes.
            <note type="note">
            This function will assign evaluated expression values to properties in a newly created model.
            </note></remarks>
    </member>
    <member name="M:Gemstone.Expressions.Model.ValueExpressionParser`1.CreateInstanceForType``2(System.Collections.Generic.IEnumerable{System.Reflection.PropertyInfo},Gemstone.Expressions.Evaluator.TypeRegistry)">
      <summary>
            Generates a delegate that will create new instance of type <typeparamref name="T" /> accepting a
            contextual <see cref="T:Gemstone.Expressions.Model.IValueExpressionScope`1" /> object parameter applying any
            specified <see cref="T:System.ComponentModel.DefaultValueAttribute" /> or <typeparamref name="TValueExpressionAttribute" />
            instances that are declared on the type <typeparamref name="T" /> properties.
            </summary>
      <param name="properties">Specific properties to target, or <c>null</c> to target all properties.</param>
      <param name="typeRegistry">
            Type registry to use when parsing <typeparamref name="TValueExpressionAttribute" /> instances, or <c>null</c>
            to use <see cref="P:Gemstone.Expressions.Model.ValueExpressionParser.DefaultTypeRegistry" />.
            </param>
      <typeparam name="TValueExpressionAttribute">
        <see cref="T:Gemstone.Expressions.Model.IValueExpressionAttribute" /> parameter type.</typeparam>
      <typeparam name="TExpressionScope">
        <see cref="T:Gemstone.Expressions.Model.IValueExpressionScope`1" /> parameter type.</typeparam>
      <returns>
            Generated delegate that will create new <typeparamref name="T" /> instances with expression values applied.
            </returns>
      <remarks>
            This function is useful for generating a delegate to a compiled function that will create new
            objects of type <typeparamref name="T" /> where properties of the type of have been decorated with
            <see cref="T:System.ComponentModel.DefaultValueAttribute" /> or <typeparamref name="TValueExpressionAttribute" /> attributes.
            The newly created object will automatically have applied any defined default values as specified by
            the encountered attributes. The generated delegate takes a parameter to a contextual object useful
            for providing extra runtime data to <typeparamref name="TValueExpressionAttribute" /> attributes; the
            parameter must be derived from <see cref="T:Gemstone.Expressions.Model.IValueExpressionScope`1" />. Any public fields,
            methods or properties defined in the derived class will be automatically accessible from the
            expressions declared in the <typeparamref name="TValueExpressionAttribute" /> attributes. By default,
            the expressions will have access to the current <typeparamref name="T" /> instance by referencing the
            <c>this</c> keyword, which is an alias to <see cref="P:Gemstone.Expressions.Model.IValueExpressionScope`1.Instance" />.
            <note type="note">
            This function will assign evaluated expression values to properties in a newly created model.
            </note></remarks>
    </member>
    <member name="M:Gemstone.Expressions.Model.ValueExpressionParser`1.InitializeType">
      <summary>
            Validates that any static type <typeparamref name="T" /> functionality is initialized.
            </summary>
      <returns>
        <c>true</c> if type <typeparamref name="T" /> supports a parameterless constructor and was
            successfully initialized; otherwise, <c>false</c>.
            </returns>
      <remarks>
            As long as type <typeparamref name="T" /> defines a parameterless constructor, this method
            will create an instance of the modeled class so that any defined static functionality will
            be initialized. Calling this method in advance of the static create or update delegate
            generation functions will allow modeled types to self-register any custom symbols and types
            that may be used during evaluation of value expressions attributes, e.g.:
            <code>
            static MyModel()
            {
                TableOperations&lt;MyModel&gt;.TypeRegistry.RegisterType&lt;MyType&gt;();
            }
            </code></remarks>
    </member>
    <member name="M:Gemstone.Expressions.Model.ValueExpressionParser`1.Parse(System.Linq.Expressions.ParameterExpression,Gemstone.Expressions.Evaluator.TypeRegistry,System.Boolean)">
      <summary>
            Parses the expression with the provided parameter expression <paramref name="scope" /> and optional <paramref name="typeRegistry" />.
            </summary>
      <param name="scope">Parameter expression used to provide context to parsed instances.</param>
      <param name="typeRegistry">
            Type registry to use when parsing <see cref="T:Gemstone.Expressions.Model.IValueExpressionAttribute" /> instances, or <c>null</c>
            to use <see cref="P:Gemstone.Expressions.Model.ValueExpressionParser.DefaultTypeRegistry" />.
            </param>
      <param name="isCall">
        <c>true</c> if parsing an action; otherwise, <c>false</c> for a function.</param>
    </member>
    <member name="M:Gemstone.Expressions.Model.ValueExpressionParser`1.UpdateExpressions(System.Collections.Generic.IEnumerable{System.Reflection.PropertyInfo},Gemstone.Expressions.Evaluator.TypeRegistry)">
      <summary>
            Generates a delegate that will execute expression assignments on an instance of type <typeparamref name="T" />
            where expressions are <see cref="T:Gemstone.Expressions.Model.TypeConvertedValueExpressionAttribute" /> instances that are declared
            on the type <typeparamref name="T" /> properties. Target <typeparamref name="T" /> instance is accepted
            as the parameter to the returned delegate <see cref="T:System.Action`1" />.
            </summary>
      <param name="properties">Specific properties to target, or <c>null</c> to target all properties.</param>
      <param name="typeRegistry">
            Type registry to use when parsing <see cref="T:Gemstone.Expressions.Model.TypeConvertedValueExpressionAttribute" /> instances,
            or <c>null</c> to use <see cref="P:Gemstone.Expressions.Model.ValueExpressionParser.DefaultTypeRegistry" />.
            </param>
      <returns>
            Generated delegate that will execute expression assignments on <typeparamref name="T" /> instances.
            </returns>
      <remarks>
        <para>
            This function is useful for generating a delegate to a compiled function that will execute expression
            assignments on objects of type <typeparamref name="T" /> where properties of the type of have been decorated
            with <see cref="T:Gemstone.Expressions.Model.TypeConvertedValueExpressionAttribute" /> attributes. Note that the expression in the
            <see cref="T:Gemstone.Expressions.Model.TypeConvertedValueExpressionAttribute" /> attribute is expected to evaluate to a property
            such that it can be assigned the target type <typeparamref name="T" /> property value.
            <note type="note">
            This function will assign current modeled property values back to expressions, this is often useful
            when a model is being synchronized to an external source, e.g., user interface elements.
            </note></para>
        <para>
            This method is the inverse call for <see cref="M:Gemstone.Expressions.Model.ValueExpressionParser`1.UpdateProperties(System.Collections.Generic.IEnumerable{System.Reflection.PropertyInfo},Gemstone.Expressions.Evaluator.TypeRegistry)" />.
            </para>
      </remarks>
    </member>
    <member name="M:Gemstone.Expressions.Model.ValueExpressionParser`1.UpdateExpressions``1(System.Collections.Generic.IEnumerable{System.Reflection.PropertyInfo},Gemstone.Expressions.Evaluator.TypeRegistry)">
      <summary>
            Generates a delegate that will execute expression assignments on an instance of type <typeparamref name="T" />
            accepting a contextual <see cref="T:Gemstone.Expressions.Model.IValueExpressionScope`1" /> object parameter where expressions
            are <see cref="T:Gemstone.Expressions.Model.TypeConvertedValueExpressionAttribute" /> instances that are declared on the type
            <typeparamref name="T" /> properties. Target <typeparamref name="T" /> instance needs to be
            assigned to the <see cref="P:Gemstone.Expressions.Model.IValueExpressionScope`1.Instance" /> property prior to call.
            </summary>
      <param name="properties">Specific properties to target, or <c>null</c> to target all properties.</param>
      <param name="typeRegistry">
            Type registry to use when parsing <see cref="T:Gemstone.Expressions.Model.TypeConvertedValueExpressionAttribute" /> instances,
            or <c>null</c> to use <see cref="P:Gemstone.Expressions.Model.ValueExpressionParser.DefaultTypeRegistry" />.
            </param>
      <typeparam name="TExpressionScope">
        <see cref="T:Gemstone.Expressions.Model.IValueExpressionScope`1" /> parameter type.</typeparam>
      <returns>
            Generated delegate that will execute expression assignments on <typeparamref name="T" /> instances.
            </returns>
      <remarks>
            This function is useful for generating a delegate to a compiled function that will execute expression
            assignments on objects of type <typeparamref name="T" /> where properties of the type of have been decorated
            with <see cref="T:Gemstone.Expressions.Model.TypeConvertedValueExpressionAttribute" /> attributes. The generated delegate takes a parameter
            to a contextual object useful for providing extra runtime data to the expressions defined in attributes
            of type <see cref="T:Gemstone.Expressions.Model.TypeConvertedValueExpressionAttribute" />; the contextual parameter must be derived
            from <see cref="T:Gemstone.Expressions.Model.IValueExpressionScope`1" />. Any public fields, methods or properties defined in the
            derived class will be automatically accessible from the expressions declared in the
            <see cref="T:Gemstone.Expressions.Model.TypeConvertedValueExpressionAttribute" /> attributes. By default, the expressions will have
            access to the current <typeparamref name="T" /> instance by referencing the <c>this</c> keyword,
            which is an alias to <see cref="P:Gemstone.Expressions.Model.IValueExpressionScope`1.Instance" />. Note that the expression in
            the <see cref="T:Gemstone.Expressions.Model.TypeConvertedValueExpressionAttribute" /> attribute is expected to evaluate to a property
            such that it can be assigned the target type <typeparamref name="T" /> property value.
            <note type="note">
            This function will assign current modeled property values back to expressions, this is often useful
            when a model is being synchronized to an external source, e.g., user interface elements.
            </note></remarks>
    </member>
    <member name="M:Gemstone.Expressions.Model.ValueExpressionParser`1.UpdateExpressionsForType``1(System.Collections.Generic.IEnumerable{System.Reflection.PropertyInfo},Gemstone.Expressions.Evaluator.TypeRegistry)">
      <summary>
            Generates a delegate that will execute expression assignments on an instance of type <typeparamref name="T" />
            where expressions are <typeparamref name="TValueExpressionAttribute" /> instances that are declared
            on the type <typeparamref name="T" /> properties. Target <typeparamref name="T" /> instance is accepted
            as the parameter to the returned delegate <see cref="T:System.Action`1" />.
            </summary>
      <param name="properties">Specific properties to target, or <c>null</c> to target all properties.</param>
      <param name="typeRegistry">
            Type registry to use when parsing <typeparamref name="TValueExpressionAttribute" /> instances, or <c>null</c>
            to use <see cref="P:Gemstone.Expressions.Model.ValueExpressionParser.DefaultTypeRegistry" />.
            </param>
      <typeparam name="TValueExpressionAttribute">
        <see cref="T:Gemstone.Expressions.Model.IValueExpressionAttribute" /> parameter type.</typeparam>
      <returns>
            Generated delegate that will execute expression assignments on <typeparamref name="T" /> instances.
            </returns>
      <remarks>
            This function is useful for generating a delegate to a compiled function that will execute expression
            assignments on objects of type <typeparamref name="T" /> where properties of the type of have been decorated
            with <typeparamref name="TValueExpressionAttribute" /> attributes. Note that the expression in the
            <typeparamref name="TValueExpressionAttribute" /> attribute is expected to evaluate to a property
            such that it can be assigned the target type <typeparamref name="T" /> property value.
            <note type="note">
            This function will assign current modeled property values back to expressions, this is often useful
            when a model is being synchronized to an external source, e.g., user interface elements.
            </note></remarks>
    </member>
    <member name="M:Gemstone.Expressions.Model.ValueExpressionParser`1.UpdateExpressionsForType``2(System.Collections.Generic.IEnumerable{System.Reflection.PropertyInfo},Gemstone.Expressions.Evaluator.TypeRegistry)">
      <summary>
            Generates a delegate that will execute expression assignments on an instance of type <typeparamref name="T" />
            accepting a contextual <see cref="T:Gemstone.Expressions.Model.IValueExpressionScope`1" /> object parameter where expressions
            are <typeparamref name="TValueExpressionAttribute" /> instances that are declared on the type
            <typeparamref name="T" /> properties. Target <typeparamref name="T" /> instance needs to be
            assigned to the <see cref="P:Gemstone.Expressions.Model.IValueExpressionScope`1.Instance" /> property prior to call.
            </summary>
      <param name="properties">Specific properties to target, or <c>null</c> to target all properties.</param>
      <param name="typeRegistry">
            Type registry to use when parsing <typeparamref name="TValueExpressionAttribute" /> instances, or <c>null</c>
            to use <see cref="P:Gemstone.Expressions.Model.ValueExpressionParser.DefaultTypeRegistry" />.
            </param>
      <typeparam name="TValueExpressionAttribute">
        <see cref="T:Gemstone.Expressions.Model.IValueExpressionAttribute" /> parameter type.</typeparam>
      <typeparam name="TExpressionScope">
        <see cref="T:Gemstone.Expressions.Model.IValueExpressionScope`1" /> parameter type.</typeparam>
      <returns>
            Generated delegate that will execute expression assignments on <typeparamref name="T" /> instances.
            </returns>
      <remarks>
            This function is useful for generating a delegate to a compiled function that will execute expression
            assignments on objects of type <typeparamref name="T" /> where properties of the type of have been decorated
            with <typeparamref name="TValueExpressionAttribute" /> attributes. The generated delegate takes a parameter
            to a contextual object useful for providing extra runtime data to the expressions defined in attributes
            of type <typeparamref name="TValueExpressionAttribute" />; the contextual parameter must be derived from
            <see cref="T:Gemstone.Expressions.Model.IValueExpressionScope`1" />. Any public fields, methods or properties defined in the
            derived class will be automatically accessible from the expressions declared in the
            <typeparamref name="TValueExpressionAttribute" /> attributes. By default, the expressions will have
            access to the current <typeparamref name="T" /> instance by referencing the <c>this</c> keyword,
            which is an alias to <see cref="P:Gemstone.Expressions.Model.IValueExpressionScope`1.Instance" />. Note that the expression in
            the <typeparamref name="TValueExpressionAttribute" /> attribute is expected to evaluate to a property
            such that it can be assigned the target type <typeparamref name="T" /> property value.
            <note type="note">
            This function will assign current modeled property values back to expressions, this is often useful
            when a model is being synchronized to an external source, e.g., user interface elements.
            </note></remarks>
    </member>
    <member name="M:Gemstone.Expressions.Model.ValueExpressionParser`1.UpdateInstance(System.Collections.Generic.IEnumerable{System.Reflection.PropertyInfo},Gemstone.Expressions.Evaluator.TypeRegistry)">
      <summary>
            Generates a delegate that will update an instance of type <typeparamref name="T" /> applying any
            specified <see cref="T:Gemstone.Expressions.Model.UpdateValueExpressionAttribute" /> instances that are declared on the type
            <typeparamref name="T" /> properties. Target <typeparamref name="T" /> instance is accepted
            as the parameter to the returned delegate <see cref="T:System.Action`1" />.
            </summary>
      <param name="properties">Specific properties to target, or <c>null</c> to target all properties.</param>
      <param name="typeRegistry">
            Type registry to use when parsing <see cref="T:Gemstone.Expressions.Model.UpdateValueExpressionAttribute" /> instances, or <c>null</c>
            to use <see cref="P:Gemstone.Expressions.Model.ValueExpressionParser.DefaultTypeRegistry" />.
            </param>
      <returns>
            Generated delegate that will update <typeparamref name="T" /> instances with update expression values applied.
            </returns>
      <remarks>
            This function is useful for generating a delegate to a compiled function that will update
            objects of type <typeparamref name="T" /> where properties of the type of have been decorated
            with <see cref="T:Gemstone.Expressions.Model.UpdateValueExpressionAttribute" /> attributes. The updated object will automatically
            have applied any defined update values as specified by the encountered attributes.
            <note type="note">
            This function will assign evaluated expression values to properties in an existing model.
            </note></remarks>
    </member>
    <member name="M:Gemstone.Expressions.Model.ValueExpressionParser`1.UpdateInstance``1(System.Collections.Generic.IEnumerable{System.Reflection.PropertyInfo},Gemstone.Expressions.Evaluator.TypeRegistry)">
      <summary>
            Generates a delegate that will update an instance of type <typeparamref name="T" /> accepting a
            contextual <see cref="T:Gemstone.Expressions.Model.IValueExpressionScope`1" /> object parameter applying any specified
            <see cref="T:Gemstone.Expressions.Model.UpdateValueExpressionAttribute" /> instances that are declared on the type
            <typeparamref name="T" /> properties. Target <typeparamref name="T" /> instance needs to be
            assigned to the <see cref="P:Gemstone.Expressions.Model.IValueExpressionScope`1.Instance" /> property prior to call.
            </summary>
      <param name="properties">Specific properties to target, or <c>null</c> to target all properties.</param>
      <param name="typeRegistry">
            Type registry to use when parsing <see cref="T:Gemstone.Expressions.Model.UpdateValueExpressionAttribute" /> instances, or <c>null</c>
            to use <see cref="P:Gemstone.Expressions.Model.ValueExpressionParser.DefaultTypeRegistry" />.
            </param>
      <typeparam name="TExpressionScope">
        <see cref="T:Gemstone.Expressions.Model.IValueExpressionScope`1" /> parameter type.</typeparam>
      <returns>
            Generated delegate that will update <typeparamref name="T" /> instances with update expression values applied.
            </returns>
      <remarks>
            This function is useful for generating a delegate to a compiled function that will update
            objects of type <typeparamref name="T" /> where properties of the type of have been decorated
            with <see cref="T:Gemstone.Expressions.Model.UpdateValueExpressionAttribute" /> attributes. The updated object will automatically
            have applied any defined update values as specified by the encountered attributes. The generated
            delegate takes a parameter to a contextual object useful for providing extra runtime data to
            <see cref="T:Gemstone.Expressions.Model.UpdateValueExpressionAttribute" /> attributes; the parameter must be derived from
            <see cref="T:Gemstone.Expressions.Model.IValueExpressionScope`1" />. Any public fields, methods or properties defined in the
            derived class will be automatically accessible from the expressions declared in the
            <see cref="T:Gemstone.Expressions.Model.UpdateValueExpressionAttribute" /> attributes. By default, the expressions will have
            access to the current <typeparamref name="T" /> instance by referencing the <c>this</c> keyword,
            which is an alias to <see cref="P:Gemstone.Expressions.Model.IValueExpressionScope`1.Instance" />.
            <note type="note">
            This function will assign evaluated expression values to properties in an existing model.
            </note></remarks>
    </member>
    <member name="M:Gemstone.Expressions.Model.ValueExpressionParser`1.UpdateInstanceForType``1(System.Collections.Generic.IEnumerable{System.Reflection.PropertyInfo},Gemstone.Expressions.Evaluator.TypeRegistry)">
      <summary>
            Generates a delegate that will update an instance of type <typeparamref name="T" /> applying any
            specified <typeparamref name="TValueExpressionAttribute" /> instances that are declared on the type
            <typeparamref name="T" /> properties. Target <typeparamref name="T" /> instance is accepted
            as the parameter to the returned delegate <see cref="T:System.Action`1" />.
            </summary>
      <param name="properties">Specific properties to target, or <c>null</c> to target all properties.</param>
      <param name="typeRegistry">
            Type registry to use when parsing <typeparamref name="TValueExpressionAttribute" /> instances, or <c>null</c>
            to use <see cref="P:Gemstone.Expressions.Model.ValueExpressionParser.DefaultTypeRegistry" />.
            </param>
      <typeparam name="TValueExpressionAttribute">
        <see cref="T:Gemstone.Expressions.Model.IValueExpressionAttribute" /> parameter type.</typeparam>
      <returns>
            Generated delegate that will update <typeparamref name="T" /> instances with update expression values applied.
            </returns>
      <remarks>
            This function is useful for generating a delegate to a compiled function that will update
            objects of type <typeparamref name="T" /> where properties of the type of have been decorated
            with <typeparamref name="TValueExpressionAttribute" /> attributes. The updated object will automatically
            have applied any defined update values as specified by the encountered attributes.
            <note type="note">
            This function will assign evaluated expression values to properties in an existing model.
            </note></remarks>
    </member>
    <member name="M:Gemstone.Expressions.Model.ValueExpressionParser`1.UpdateInstanceForType``2(System.Collections.Generic.IEnumerable{System.Reflection.PropertyInfo},Gemstone.Expressions.Evaluator.TypeRegistry)">
      <summary>
            Generates a delegate that will update an instance of type <typeparamref name="T" /> accepting a
            contextual <see cref="T:Gemstone.Expressions.Model.IValueExpressionScope`1" /> object parameter applying any specified
            <typeparamref name="TValueExpressionAttribute" /> instances that are declared on the type
            <typeparamref name="T" /> properties. Target <typeparamref name="T" /> instance needs to be
            assigned to the <see cref="P:Gemstone.Expressions.Model.IValueExpressionScope`1.Instance" /> property prior to call.
            </summary>
      <param name="properties">Specific properties to target, or <c>null</c> to target all properties.</param>
      <param name="typeRegistry">
            Type registry to use when parsing <typeparamref name="TValueExpressionAttribute" /> instances, or <c>null</c>
            to use <see cref="P:Gemstone.Expressions.Model.ValueExpressionParser.DefaultTypeRegistry" />.
            </param>
      <typeparam name="TValueExpressionAttribute">
        <see cref="T:Gemstone.Expressions.Model.IValueExpressionAttribute" /> parameter type.</typeparam>
      <typeparam name="TExpressionScope">
        <see cref="T:Gemstone.Expressions.Model.IValueExpressionScope`1" /> parameter type.</typeparam>
      <returns>
            Generated delegate that will update <typeparamref name="T" /> instances with expression values applied.
            </returns>
      <remarks>
            This function is useful for generating a delegate to a compiled function that will update
            objects of type <typeparamref name="T" /> where properties of the type of have been decorated
            with <typeparamref name="TValueExpressionAttribute" /> attributes. The updated object will automatically
            have applied any defined update values as specified by the encountered attributes. The generated
            delegate takes a parameter to a contextual object useful for providing extra runtime data to
            <typeparamref name="TValueExpressionAttribute" /> attributes; the parameter must be derived from
            <see cref="T:Gemstone.Expressions.Model.IValueExpressionScope`1" />. Any public fields, methods or properties defined in the
            derived class will be automatically accessible from the expressions declared in the
            <typeparamref name="TValueExpressionAttribute" /> attributes. By default, the expressions will have
            access to the current <typeparamref name="T" /> instance by referencing the <c>this</c> keyword,
            which is an alias to <see cref="P:Gemstone.Expressions.Model.IValueExpressionScope`1.Instance" />.
            <note type="note">
            This function will assign evaluated expression values to properties in an existing model.
            </note></remarks>
    </member>
    <member name="M:Gemstone.Expressions.Model.ValueExpressionParser`1.UpdateProperties(System.Collections.Generic.IEnumerable{System.Reflection.PropertyInfo},Gemstone.Expressions.Evaluator.TypeRegistry)">
      <summary>
            Generates a delegate that will update an instance of type <typeparamref name="T" /> assigning values
            from <see cref="T:Gemstone.Expressions.Model.TypeConvertedValueExpressionAttribute" /> instances that are declared on the
            type <typeparamref name="T" /> properties to the property values. Target <typeparamref name="T" />
            instance is accepted as the parameter to the returned delegate <see cref="T:System.Action`1" />.
            </summary>
      <param name="properties">Specific properties to target, or <c>null</c> to target all properties.</param>
      <param name="typeRegistry">
            Type registry to use when parsing <see cref="T:Gemstone.Expressions.Model.TypeConvertedValueExpressionAttribute" /> instances, or
            <c>null</c> to use <see cref="P:Gemstone.Expressions.Model.ValueExpressionParser.DefaultTypeRegistry" />.
            </param>
      <returns>
            Generated delegate that will update <typeparamref name="T" /> instances with update expression values applied.
            </returns>
      <remarks>
        <para>
            This function is useful for generating a delegate to a compiled function that will update objects
            of type <typeparamref name="T" /> where properties of the type of have been decorated with
            <see cref="T:Gemstone.Expressions.Model.TypeConvertedValueExpressionAttribute" /> attributes. The updated object will automatically
            have applied any defined update values as specified by the encountered attributes.
            <note type="note">
            This function will assign evaluated expression values to properties in an existing model.
            </note></para>
        <para>
            This method is the inverse call for <see cref="M:Gemstone.Expressions.Model.ValueExpressionParser`1.UpdateExpressions(System.Collections.Generic.IEnumerable{System.Reflection.PropertyInfo},Gemstone.Expressions.Evaluator.TypeRegistry)" />. Internally the method simply calls
            <see cref="M:Gemstone.Expressions.Model.ValueExpressionParser`1.UpdateInstanceForType``1(System.Collections.Generic.IEnumerable{System.Reflection.PropertyInfo},Gemstone.Expressions.Evaluator.TypeRegistry)" /> for type <see cref="T:Gemstone.Expressions.Model.TypeConvertedValueExpressionAttribute" />.
            </para>
      </remarks>
    </member>
    <member name="T:Gemstone.Expressions.Model.ValueExpressionScopeBase`1">
      <summary>
            Represent a base class used for providing contextual scope when evaluating
            instances of the <see cref="T:Gemstone.Expressions.Model.ValueExpressionAttributeBase" />.
            </summary>
      <typeparam name="T">Type of associated model.</typeparam>
      <remarks>
            This class should be extended with public instance fields that will be automatically
            exposed to <see cref="T:Gemstone.Expressions.Model.ValueExpressionAttributeBase" /> expressions.
            </remarks>
    </member>
    <member name="M:Gemstone.Expressions.Model.ValueExpressionScopeBase`1.#ctor">
      <summary>
        <markup>
          <include item="SMCAutoDocConstructor">
            <parameter>Gemstone.Expressions.Model.ValueExpressionScopeBase`1</parameter>
          </include>
        </markup>
      </summary>
    </member>
    <member name="P:Gemstone.Expressions.Model.ValueExpressionScopeBase`1.Instance">
      <summary>
            Gets or sets the current <typeparamref name="T" /> instance.
            </summary>
      <remarks>
            By using the <see cref="M:Gemstone.Expressions.Model.ValueExpressionParser.ReplaceThisKeywords(System.String,System.String)" /> function, expressions
            can reference the current <typeparamref name="T" /> instance using the <c>this</c> keyword.
            See <see cref="M:Gemstone.Expressions.Model.ValueExpressionParser`1.CreateInstance``1(System.Collections.Generic.IEnumerable{System.Reflection.PropertyInfo},Gemstone.Expressions.Evaluator.TypeRegistry)" />.
            </remarks>
    </member>
  </members>
</doc>