<?xml version="1.0"?>
<doc>
    <assembly>
        <name>TwinCAT.Ads</name>
    </assembly>
    <members>
        <member name="T:TwinCAT.TypeSystem.AnySymbolSpecifier">
            <summary>
            Class AnySymbolSpecifier.
            </summary>
            <remarks>Specifies an Symbol path together with an <see cref="T:TwinCAT.TypeSystem.AnyTypeSpecifier"/> to address a symbol for an Read/Write operation</remarks>
        </member>
        <member name="M:TwinCAT.TypeSystem.AnySymbolSpecifier.#ctor(System.String,TwinCAT.TypeSystem.AnyTypeSpecifier)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.AnySymbolSpecifier"/> class.
            </summary>
            <param name="instancePath">The instance path.</param>
            <param name="spec">The spec.</param>
        </member>
        <member name="P:TwinCAT.TypeSystem.AnySymbolSpecifier.InstancePath">
            <summary>
            Gets the instance path.
            </summary>
            <value>The instance path.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.AnySymbolSpecifier.TypeSpecifier">
            <summary>
            Gets the type specifier.
            </summary>
            <value>The type specifier.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.AnyTypeSpecifier">
            <summary>
            Class AnyTypeSpecifier.
            </summary>
            <remarks>
            The <see cref="T:TwinCAT.TypeSystem.AnyTypeSpecifier"/> is used to specify out/return parameters for ReadAny, InvokeRpc-Methods or typed
            AdsNotifications.
            </remarks>
        </member>
        <member name="P:TwinCAT.TypeSystem.AnyTypeSpecifier.Category">
            <summary>
            Category of the <see cref="T:TwinCAT.TypeSystem.AnyTypeSpecifier"/>
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.AnyTypeSpecifier.Type">
            <summary>
            Managed type
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.AnyTypeSpecifier.StrLen">
            <summary>
            The String length (only for <see cref="F:TwinCAT.TypeSystem.DataTypeCategory.String"/>
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.AnyTypeSpecifier.DimLengths">
            <summary>
            List of jagged Dimensions (Arrays and jagged arrays)
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.AnyTypeSpecifier.ElementType">
            <summary>
            The element type (Arrays)
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.AnyTypeSpecifier.#ctor(System.Type)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.AnyTypeSpecifier"/> class.
            </summary>
            <param name="type">The type.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.AnyTypeSpecifier.#ctor(System.Type,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.AnyTypeSpecifier"/> class.
            </summary>
            <param name="type">The type.</param>
            <param name="strLen">Length of the string.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">type</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.AnyTypeSpecifier.#ctor(System.Type,System.Collections.Generic.IList{TwinCAT.TypeSystem.IDimensionCollection})">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.AnyTypeSpecifier"/> class.
            </summary>
            <param name="type">The type.</param>
            <param name="dimLengths">The dim lengths.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.AnyTypeSpecifier.#ctor(System.Type,System.Collections.Generic.IList{TwinCAT.TypeSystem.IDimensionCollection},System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.AnyTypeSpecifier"/> class.
            </summary>
            <param name="type">The type.</param>
            <param name="dimLengths">The dim lengths.</param>
            <param name="jaggedLevel">The jagged level.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">type</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.AnyTypeSpecifier.GetAnyTypeArgs(System.Type@,System.Int32[]@)">
            <summary>
            Gets the Managed type and the type arguments from the <see cref="T:TwinCAT.TypeSystem.AnyTypeSpecifier"/>
            </summary>
            <param name="tp">The managed type</param>
            <param name="args">The arguments.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.AnyTypeSpecifier.#ctor(System.Object)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.AnyTypeSpecifier"/> class from the specified prototype
            </summary>
            <param name="prototype">The prototype.</param>
        </member>
        <member name="T:TwinCAT.TypeSystem.StringConvertMode">
            <summary>
            Enum StringConvertMode
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.TypeSystem.StringConvertMode.FixedLength">
            <summary>
            Fixed Length String
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.StringConvertMode.FixedLengthZeroTerminated">
            <summary>
            Fixed Length String that can be terminated with '\0'
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.StringConvertMode.ZeroTerminated">
            <summary>
            '\0' terminated dynamic length string
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.StringConvertMode.LengthPrefix">
            <summary>
            Length Prefix (number of following bytes as uint 4-Byte)
            </summary>
        </member>
        <member name="T:TwinCAT.TypeSystem.StringMarshaller">
            <summary>
            Converter class converting PLC strings to .NET strings and vice versa
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.TypeSystem.StringMarshaller._encoding">
            <summary>
            The encoding (actually Default and Unicode allowed)
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.StringMarshaller.Encoding">
            <summary>
            Gets the encoding.
            </summary>
            <value>The encoding.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.StringMarshaller.StringMode">
            <summary>
            Gets the string mode.
            </summary>
            <value>The string mode.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.StringMarshaller.#ctor(System.Text.Encoding,TwinCAT.TypeSystem.StringConvertMode)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.StringMarshaller"/> class.
            </summary>
            <param name="defaultEncoding">The default encoding.</param>
            <param name="mode">The mode.</param>
        </member>
        <member name="F:TwinCAT.TypeSystem.StringMarshaller.s_default">
            <summary>
            The default <see cref="T:TwinCAT.TypeSystem.StringMarshaller"/>.
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.StringMarshaller.Default">
            <summary>
            Gets the default converter
            </summary>
            <value>The default converter.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.TypeSystem.StringMarshaller.DefaultVariableLength">
            <summary>
            Gets the default converter (with Variable Length)
            </summary>
            <value>The default converter.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.TypeSystem.StringMarshaller.Unicode">
            <summary>
            Gets the unicode converter.
            </summary>
            <value>The unicode converter.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.TypeSystem.StringMarshaller.UnicodeVariableLength">
            <summary>
            Gets the unicode converter (with variable Length)
            </summary>
            <value>The unicode converter.</value>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.StringMarshaller.MarshalSizeAnsi(System.String,TwinCAT.TypeSystem.StringConvertMode)">
            <summary>
            Gets the Marshal size of the string (in bytes)
            </summary>
            <param name="str">The string.</param>
            <param name="mode">The mode.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.StringMarshaller.MarshalSizeUnicode(System.String,TwinCAT.TypeSystem.StringConvertMode)">
            <summary>
            Gets the AdsMarshalling (byte) size of an unicode string of the specified length
            </summary>
            <param name="str">The string.</param>
            <param name="mode">The mode.</param>
            <returns>Length of AdsMarshalled string (System.Int32).</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.StringMarshaller.MarshalSize(System.String)">
            <summary>
            Gets the marshal siez of the string
            </summary>
            <param name="str">The string.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.StringMarshaller.Marshal(System.String)">
            <summary>
            Gets the byte represention of the string.
            </summary>
            <param name="str">The string.</param>
            <returns>System.Byte[].</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.StringMarshaller.Marshal(System.String,System.Int32)">
            <summary>
            Marshals the specified string with the maximum amount of bytes.
            </summary>
            <param name="str">The string.</param>
            <param name="maxBytes">The maximum bytes.</param>
            <returns>System.Byte[].</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.StringMarshaller.MarshalAnsi(System.String,TwinCAT.TypeSystem.StringConvertMode)">
            <summary>
            Converts a string to Default ANSI Coded Bytes.
            </summary>
            <param name="str">The STR.</param>
            <param name="mode">The mode.</param>
            <returns>Byte array coded in Encoding.Default with terminating '\0' character</returns>
            <exception cref="T:System.ArgumentNullException">str</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.StringMarshaller.MarshalAnsi(System.String,TwinCAT.TypeSystem.StringConvertMode,System.Int32)">
            <summary>
            Converts a string to Default ANSI Coded Bytes.
            </summary>
            <param name="str">The STR.</param>
            <param name="mode">The mode.</param>
            <param name="maxBytes">The maximum bytes marshalled.</param>
            <returns>Byte array coded in Encoding.Default with terminating '\0' character</returns>
            <exception cref="T:System.ArgumentNullException">str</exception>
            <exception cref="T:System.ArgumentNullException">str</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.StringMarshaller.Marshal(System.String,System.Text.Encoding,TwinCAT.TypeSystem.StringConvertMode,System.Int32)">
            <summary>
            Converts a string to Unicode Coded Bytes.
            </summary>
            <param name="str">The STR.</param>
            <param name="encoding">The encoding.</param>
            <param name="mode">The mode.</param>
            <param name="maxBytes">The maximum bytes, non specified is indicated by '-1'.</param>
            <returns>Byte array coded in Encoding.Unicode with terminating '\0' character</returns>
            <exception cref="T:System.ArgumentNullException">str</exception>
            <exception cref="T:System.NotSupportedException"></exception>
            <exception cref="T:System.ArgumentNullException">str</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.StringMarshaller.MarshalUnicode(System.String,TwinCAT.TypeSystem.StringConvertMode)">
            <summary>
            Converts a string to Unicode Coded Bytes.
            </summary>
            <param name="str">The STR.</param>
            <param name="mode">The mode.</param>
            <returns>Byte array coded in Encoding.Unicode with terminating '\0' character</returns>
            <exception cref="T:System.ArgumentNullException">str</exception>
            <exception cref="T:System.NotSupportedException"></exception>
            <exception cref="T:System.ArgumentNullException">str</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.StringMarshaller.MarshalUnicode(System.String,TwinCAT.TypeSystem.StringConvertMode,System.Int32)">
            <summary>
            Converts a string to Unicode Coded Bytes.
            </summary>
            <param name="str">The STR.</param>
            <param name="mode">The mode.</param>
            <param name="maxBytes">The maximum bytes.</param>
            <returns>Byte array coded in Encoding.Unicode with terminating '\0' character</returns>
            <exception cref="T:System.ArgumentNullException">str</exception>
            <exception cref="T:System.NotSupportedException"></exception>
            <exception cref="T:System.ArgumentNullException">str</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.StringMarshaller.MarshalAnsi(System.String,System.Int32)">
            <summary>
            Converts a string to Default ANSI Coded Bytes.
            </summary>
            <param name="str">The STR.</param>
            <param name="bytes">Size of the return byte array (filled up with \0)</param>
            <returns>Byte array coded in Encoding.Default with terminating '\0' characters</returns>
            <exception cref="T:System.ArgumentNullException">str</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.StringMarshaller.UnmarshalAnsi(System.Byte[])">
            <summary>
            Converts ANSI Coded bytes to string.
            </summary>
            <param name="bytes">The bytes.</param>
            <returns>System.String.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.StringMarshaller.CanMarshal(TwinCAT.Ads.AdsDatatypeId)">
            <summary>
            Determines whether this instance can marshal the specified type identifier.
            </summary>
            <param name="typeId">The type identifier.</param>
            <returns><c>true</c> if this instance can marshal the specified type identifier; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.StringMarshaller.CanMarshal(TwinCAT.TypeSystem.DataTypeCategory)">
            <summary>
            Determines whether this instance can marshal the specified category.
            </summary>
            <param name="category">The category.</param>
            <returns><c>true</c> if this instance can marshal the specified category; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.StringMarshaller.UnmarshalAnsi(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Converts the ANSI encoded (Encoding.Default) byte array to string
            </summary>
            <param name="bytes">The byte buffer to convert.</param>
            <param name="index">Start index of the data within the bytes array.</param>
            <param name="byteCount">The byte count to transform from the byte array.</param>
            <returns>The contained string.</returns>
            <remarks>Reads the string only to the first occurrence of '\0'</remarks>
        </member>
        <member name="M:TwinCAT.TypeSystem.StringMarshaller.Unmarshal(System.Byte[],System.Int32,System.Int32,System.String@)">
            <summary>
            Unmarshals the specified bytes (Converts the byte array to string)
            </summary>
            <param name="bytes">The bytes.</param>
            <param name="offset">The index.</param>
            <param name="byteCount">Fixed length of the string in bytes.</param>
            <param name="value">The value.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.StringMarshaller.Unmarshal(System.Byte[],System.String@)">
            <summary>
            Unmarshals the specified bytes (converts the Byte array to string)
            </summary>
            <param name="bytes">The bytes.</param>
            <param name="value">The value.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.StringMarshaller.Unmarshal(System.Byte[],System.Int32,System.Int32,System.Text.Encoding,TwinCAT.TypeSystem.StringConvertMode)">
            <summary>
            Encodes to string.
            </summary>
            <param name="bytes">The bytes.</param>
            <param name="index">The index.</param>
            <param name="byteCount">The byte count.</param>
            <param name="encoding">The encoding.</param>
            <param name="mode">The mode.</param>
            <returns>System.String.</returns>
            <exception cref="T:System.ArgumentNullException">bytes</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">byteCount</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.StringMarshaller.UnmarshalUnicode(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Converts Unicode bytes (WSTRING) to its .net representation.
            </summary>
            <param name="bytes">The byte buffer to convert.</param>
            <param name="index">Start index of the data within the bytes array.</param>
            <param name="byteCount">The byte count to transform from the byte array.</param>
            <returns>System.String.</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.BitTypeConverter">
            <summary>
            Class BitTypeConverter.
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.BitTypeConverter.Marshal(System.Int32,System.Object)">
            <summary>
            Converts a Bit type value to bytes.
            </summary>
            <param name="bitSize">Bit size of the underlying data type.</param>
            <param name="value">The value.</param>
            <returns>System.Byte[].</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">bitSize</exception>
            <exception cref="T:System.ArgumentNullException">value</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.BitTypeConverter.Unmarshal(System.Int32,System.Byte[],System.Int32,System.Object@)">
            <summary>
            Converts a BitSet represented in Byte[] to DotNetObject.
            </summary>
            <param name="bitSize">Size of the Bitset in bits.</param>
            <param name="data">The data to convert.</param>
            <param name="bitOffset">The bit offset where the Bitset data is in data bytes.</param>
            <param name="val">The value.</param>
            <returns>bool, ushort, uint, ulong, BitArray dependent on bitSize.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">
            bitSize
            or
            data
            </exception>
            <exception cref="T:System.ArgumentNullException">data</exception>
            <exception cref="T:System.ArgumentException">Data not large enough!;data</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.BitTypeConverter.ToBinary``1(``0)">
            <summary>
             Converts a numeric value to <see cref="T:System.Collections.BitArray"/>
            </summary>
            <typeparam name="T">Type of Numeric value (msut support <see cref="T:System.IConvertible"/></typeparam>
            <param name="numeric">The numeric value.</param>
            <returns>BitArray.</returns>
            <exception cref="T:System.ArgumentException">Type '{0}' not supported!</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.BitTypeConverter.ToNumeric``1(System.Collections.BitArray)">
            <summary>
            Converts the <see cref="T:System.Collections.BitArray"/> to a numeric value.
            </summary>
            <typeparam name="T">Type of Numeric value (must support <see cref="T:System.IConvertible"/></typeparam>
            <param name="binary">The binary.</param>
            <returns>T.</returns>
            <exception cref="T:System.ArgumentNullException">binary</exception>
            <exception cref="T:System.ArgumentException">binary</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.BitTypeConverter.ToNumeric(System.Type,System.Collections.BitArray)">
            <summary>
            Converts the specified <see cref="T:System.Collections.BitArray"/> to the specified numeric value type.
            </summary>
            <param name="tp">Type of the numeric value.</param>
            <param name="binary">Bit array.</param>
            <returns>Numeric value boxed as System.Object</returns>
            <exception cref="T:System.ArgumentException">Type '{0}' not supported!</exception>
        </member>
        <member name="T:TwinCAT.TypeSystem.AnyArrayConverter">
            <summary>
            Class AnyArrayConverter.
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.AnyArrayConverter.IsJagged(TwinCAT.Ads.ITcAdsDataType)">
            <summary>
            Determines whether the specified array type is jagged.
            </summary>
            <param name="type">The type.</param>
            <returns><c>true</c> if the specified type is jagged; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.AnyArrayConverter.TryGetJaggedDimensions(TwinCAT.Ads.ITcAdsDataType,System.Collections.Generic.IList{TwinCAT.TypeSystem.IDimensionCollection}@)">
            <summary>
            Tries to get the (jagged) Dimensions from the array type.
            </summary>
            <param name="type">The type.</param>
            <param name="dimLengths">The dim lengths.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.AnyArrayConverter.TryGetJaggedDimensions(TwinCAT.TypeSystem.IArrayType,System.Collections.Generic.IList{TwinCAT.TypeSystem.IDimensionCollection}@)">
            <summary>
            Tries to get the (jagged) dimensions from the array type.
            </summary>
            <param name="type">The type.</param>
            <param name="dimLengths">The dim lengths.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.PrimitiveTypeConverter">
            <summary>
            Converter class for all forms of Primitive Types
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.TypeSystem.PrimitiveTypeConverter._encoding">
            <summary>
            The encoding
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.#ctor(System.Text.Encoding)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.PrimitiveTypeConverter"/> class.
            </summary>
            <param name="encoding">The encoding.</param>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.#ctor(System.Text.Encoding,TwinCAT.TypeSystem.StringConvertMode)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.PrimitiveTypeConverter"/> class.
            </summary>
            <param name="encoding">The encoding.</param>
            <param name="stringConvertMode">The string convert mode.</param>
            <exception cref="T:System.ArgumentNullException">encoding</exception>
        </member>
        <member name="P:TwinCAT.TypeSystem.PrimitiveTypeConverter.Default">
            <summary>
            Gets the default Converter (Encoding.Default encoding)
            </summary>
            <value>The default.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.PrimitiveTypeConverter.DefaultFixedLengthString">
            <summary>
            Gets the <see cref="T:TwinCAT.TypeSystem.PrimitiveTypeConverter"/> initialized with default string encoding and <see cref="F:TwinCAT.TypeSystem.StringConvertMode.FixedLengthZeroTerminated"/>
            </summary>
            <value>The default fixed length string.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.PrimitiveTypeConverter.Unicode">
            <summary>
            Gets the unicode converter.
            </summary>
            <value>The unicode.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.IsPrimitiveType(TwinCAT.TypeSystem.DataTypeCategory)">
            <summary>
            Determines whether the specified category is a primitive type
            </summary>
            <param name="cat">The category.</param>
            <returns><c>true</c> if [is primitive type] [the specified category]; otherwise, <c>false</c>.</returns>
            <remarks>Primitive types are types that are indicated with Primitive, String, SubRange, Enum, Pointer</remarks>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.IsPrimitive(TwinCAT.Ads.AdsDatatypeId)">
            <summary>
            Determines whether the specified type identifier is primitive.
            </summary>
            <param name="typeId">The type identifier.</param>
            <returns><c>true</c> if the specified type identifier is primitive; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.IsContainerType(TwinCAT.TypeSystem.DataTypeCategory)">
            <summary>
            Determines whether the specified category is a container type.
            </summary>
            <param name="cat">The data type category.</param>
            <returns><c>true</c> if [is container type] [the specified category]; otherwise, <c>false</c>.</returns>
            <remarks>Container Types are Array, Structs and its derivates (Function,FunctionBlock and Program)</remarks>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.MarshalSize(TwinCAT.Ads.AdsDatatypeId)">
            <summary>
            Determines the size of the specified data type.
            </summary>
            <param name="typeId">The TypeId.</param>
            <returns>System.Int32.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">tp</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.TryJaggedArray(System.Type,System.Int32@,System.Type@)">
            <summary>
            Determines whether the managed type is a jagged array
            </summary>
            <param name="jaggedArray">The array to test for (jagged)</param>
            <param name="jagLevel">The jag level.</param>
            <param name="baseElementType">Type of the (jagged) base element.</param>
            <returns><c>true</c> if [is jagged array] [the specified managed type]; otherwise, <c>false</c>.</returns>
            <exception cref="T:System.ArgumentNullException">managedType</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.TryJaggedArray(System.Array,System.Int32@,System.Type@,System.Int32@)">
            <summary>
            Determines whether the managed type is a jagged array
            </summary>
            <param name="array">The array.</param>
            <param name="jagLevel">The jag level.</param>
            <param name="baseElementType">Type of the (jagged) base element.</param>
            <param name="jaggedElementCount">The jagged element count. This is the amount of compatible base elements in a multi-dimensional array</param>
            <returns><c>true</c> if [is jagged array] [the specified managed type]; otherwise, <c>false</c>.</returns>
            <exception cref="T:System.ArgumentNullException">managedType</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.Unmarshal(System.Byte[],System.Int32,System.Int32,System.String@)">
            <summary>
            Converts the specified byte data to string representation.
            </summary>
            <param name="data">The data to convert.</param>
            <param name="offset">The start index inside the data.</param>
            <param name="strLen">Length of the string.</param>
            <param name="value">The value.</param>
            <returns>The number of consumed bytes from the data array (System.Int32).</returns>
            <exception cref="T:System.ArgumentNullException">data</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            offset
            or
            encoding
            </exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.Unmarshal(TwinCAT.Ads.AdsDatatypeId,System.Boolean,System.Byte[],System.Int32,System.Object@)">
            <summary>
            Creates the specified type initialized by the raw byte array.
            </summary>
            <param name="typeId">The tp.</param>
            <param name="isBitType">if set to <c>true</c> [is bit type].</param>
            <param name="data">The data.</param>
            <param name="offset">Start index within the data array.</param>
            <param name="val">The value.</param>
            <returns>Number of consumed bytes (System.Int32).</returns>
            <exception cref="T:System.ArgumentNullException">data
            or
            data</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">offset
            or
            tp</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.TryGetManagedType(TwinCAT.TypeSystem.IDataType,System.Type@)">
            <summary>
            Tries to get the managed type.
            </summary>
            <param name="type">The type.</param>
            <param name="managed">The managed.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
            <exception cref="T:TwinCAT.TypeSystem.DataTypeException">Cannot unmarshal type '{0}'!</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.TryGetManagedType(TwinCAT.Ads.ITcAdsDataType,System.Type@)">
            <summary>
            Tries to get the managed type.
            </summary>
            <param name="dataType">Type of the data.</param>
            <param name="managedType">Type of the managed.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.TryGetManagedType(TwinCAT.Ads.AdsDatatypeId,System.Type@)">
            <summary>
            Tries to get the managed type.
            </summary>
            <param name="typeId">The type identifier.</param>
            <param name="tp">The tp.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.TryGetDataTypeId(System.Type,TwinCAT.Ads.AdsDatatypeId@)">
            <summary>
            Tries to get the managed type.
            </summary>
            <param name="typeId">The type identifier.</param>
            <param name="tp">The tp.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.GetPrimitiveFlags(TwinCAT.Ads.ITcAdsDataType)">
            <summary>
            Gets the primitive flags.
            </summary>
            <param name="type">The type.</param>
            <returns>PrimitiveTypeFlags.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.GetPrimitiveFlags(TwinCAT.Ads.AdsDatatypeId)">
            <summary>
            Gets the primitive flags.
            </summary>
            <param name="typeId">The type identifier.</param>
            <returns>PrimitiveTypeFlags.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.Unmarshal(TwinCAT.Ads.ITcAdsDataType,System.Byte[],System.Int32,System.Object@)">
            <summary>
            Gets a primitive value from Bytes.
            </summary>
            <param name="type">The type.</param>
            <param name="data">The data.</param>
            <param name="offset">The offset.</param>
            <param name="val">The value.</param>
            <returns>The number of read bytes.</returns>
            <exception cref="T:System.ArgumentNullException">
            type
            or
            data
            </exception>
            <exception cref="T:TwinCAT.TypeSystem.DataTypeException">
            Type is not primitive!
            or
            Cannot map to .NET Value!
            or
            Cannot map to .NET Value!
            </exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.Unmarshal``1(System.Byte[],System.Int32,System.Int32,``0@)">
            <summary>
            Unmarshals the specified data.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="data">The data.</param>
            <param name="offset">The offset.</param>
            <param name="marshalSize">Size of the marshal.</param>
            <param name="val">The value.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.Unmarshal``1(TwinCAT.TypeSystem.AnyTypeSpecifier,System.Byte[],System.Int32,``0@)">
            <summary>
            Unmarshals the specified data.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="typeSpecifier">Any type information.</param>
            <param name="data">The data.</param>
            <param name="offset">The offset.</param>
            <param name="val">The value.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.UnmarshalPrimitive(System.Type,System.Byte[],System.Int32,System.Int32,System.Object@)">
            <summary>
            Creates the specified type initialized by the raw byte array.
            </summary>
            <param name="type">DataType.</param>
            <param name="data">The raw data..</param>
            <param name="offset">Start index / Offset within the raw data.</param>
            <param name="marshalSize">Size of the marshal.</param>
            <param name="val">The created value.</param>
            <returns>Consumed bytes (System.Int32).</returns>
            <exception cref="T:System.ArgumentNullException">tp
            or
            data</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">offset
            or
            tp</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.Unmarshal(TwinCAT.TypeSystem.AnyTypeSpecifier,System.Byte[],System.Int32,System.Int32,System.Object@)">
            <summary>
            Creates the specified type initialized by the raw byte array.
            </summary>
            <param name="typeSpecifier">The type specifier.</param>
            <param name="data">The raw data..</param>
            <param name="offset">Start index / Offset within the raw data.</param>
            <param name="marshalSize">Size of the marshal.</param>
            <param name="val">The created value.</param>
            <returns>Consumed bytes (System.Int32).</returns>
            <exception cref="T:System.ArgumentNullException">tp
            or
            data</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">offset
            or
            tp</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.UnmarshalArray(TwinCAT.TypeSystem.AnyTypeSpecifier,System.Byte[],System.Int32,System.Int32,System.Object@)">
            <summary>
            Unmarshals the (primitive) array.
            </summary>
            <param name="typeSpec">The type spec.</param>
            <param name="data">The data.</param>
            <param name="offset">The offset.</param>
            <param name="marshalSize">Size of the marshal.</param>
            <param name="val">The value.</param>
            <returns>System.Int32.</returns>
            <exception cref="T:System.ArgumentNullException">typeSpec</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.GetArrayLength(System.Type,System.Int32)">
            <summary>
            Gets the length of the array.
            </summary>
            <param name="arrayType">Type of the array.</param>
            <param name="marshalSize">Size of the marshal.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.UnmarshalBits(System.Type,System.Byte[],System.Int32,System.Int32,System.Boolean[]@)">
            <summary>
            Creates the specified type initialized by the raw byte array.
            </summary>
            <param name="arrayType">Type of the array.</param>
            <param name="data">The raw data..</param>
            <param name="byteOffset">The byte offset.</param>
            <param name="marshalSize">Size of the marshal.</param>
            <param name="val">The created value.</param>
            <returns>Consumed bytes (System.Int32).</returns>
            <exception cref="T:System.ArgumentNullException">tp
            or
            data</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">tp
            or
            data</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.Unmarshal(TwinCAT.TypeSystem.AnyTypeSpecifier,System.Boolean,System.Byte[],System.Int32,System.Int32,System.Object@)">
            <summary>
            Creates the specified type initialized by the raw byte array.
            </summary>
            <param name="typeSpec">The type spec.</param>
            <param name="bitSize">if set to <c>true</c> [bit size].</param>
            <param name="data">The raw data..</param>
            <param name="offset">Start index / Offset within the raw data.</param>
            <param name="marshalSize">Size of the marshalling.</param>
            <param name="val">The created value.</param>
            <returns>Consumed bytes (System.Int32).</returns>
            <exception cref="T:System.ArgumentNullException">tp
            or
            data</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">offset
            or
            tp</exception>
            <exception cref="T:System.NotSupportedException">Not supported!</exception>
            <exception cref="T:TwinCAT.Ads.AdsDatatypeNotSupportedException"></exception>
            <exception cref="T:System.ArgumentNullException">tp
            or
            data</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">offset
            or
            tp</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.Marshal(TwinCAT.Ads.AdsDatatypeId,System.Object,System.Byte[]@)">
            <summary>
            Converts the specified value to byte array.
            </summary>
            <param name="typeId">The typeId.</param>
            <param name="val">The value.</param>
            <param name="data">The data.</param>
            <returns>System.Byte[].</returns>
            <exception cref="T:System.ArgumentNullException">data</exception>
            <exception cref="T:System.NotSupportedException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.MarshalSize(System.Object)">
            <summary>
            Gets the (ADS) representation size of the Primitive type object
            </summary>
            <param name="val">The object value.</param>
            <returns>Marshalled size of the object when transferred.</returns>
            <exception cref="T:System.ArgumentNullException">val</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">val</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.IsMarshalledAsBitType(System.Type)">
            <summary>
            Determines whether the managed type will be Marshalled as bit type
            </summary>
            <param name="managedType">Type of the managed.</param>
            <returns><c>true</c> if [is marshalled as bit type] [the specified managed type]; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.MarshalSize(System.Int32)">
            <summary>
            Gets the Marshal Size in bytes of the string
            </summary>
            <param name="strLen">Length of the string.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.CanMarshal(System.Type)">
            <summary>
            Determines whether ADS (AnyType Marshalling) can marshal the specified (primitive) data type.
            </summary>
            <param name="dataType">Managed data type.</param>
            <returns><c>true</c> if this instance can marshal the specified data type; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.CanMarshal(TwinCAT.TypeSystem.IDataType)">
            <summary>
            Determines the specified type can be marshalled.
            </summary>
            <param name="type">The type.</param>
            <returns><c>true</c> if this instance can marshal the specified type; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.CanMarshal(TwinCAT.TypeSystem.DataTypeCategory)">
            <summary>
            Determines whether this instance can marshal the <see cref="T:TwinCAT.TypeSystem.DataTypeCategory"/>
            </summary>
            <param name="category">The data type category</param>
            <returns><c>true</c> if this instance can marshal the specified category; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.CanMarshal(TwinCAT.Ads.AdsDatatypeId)">
            <summary>
            Determines whether this instance can marshal the specified type identifier.
            </summary>
            <param name="typeId">The type identifier.</param>
            <returns><c>true</c> if this instance can marshal the specified type identifier; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.TryGetStringMarshalSize(System.Int32,System.Int32@)">
            <summary>
            Gets the (AdsMarshalling) Size of the specified primitive type.
            </summary>
            <param name="strLen">Length of the string.</param>
            <param name="size">The size.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.TryGetArrayMarshalSize(TwinCAT.TypeSystem.AnyTypeSpecifier,System.Int32@)">
            <summary>
            Gets the (AdsMarshalling) Size of the specified primitive type.
            </summary>
            <param name="anyType">The managed Data type to be marshalled via ADS.</param>
            <param name="size">The size.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.TryGetMarshalSize(TwinCAT.TypeSystem.AnyTypeSpecifier,System.Int32@)">
            <summary>
            Tries to get the marshal size of the specified data type.
            </summary>
            <param name="anyType">Any type.</param>
            <param name="size">The marshal size of the type.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.TryGetMarshalSize(System.Type,System.Text.Encoding,System.Int32@)">
            <summary>
            Gets the (AdsMarshalling) Size of the specified primitive type.
            </summary>
            <param name="dataType">The managed Data type to be marshalled via ADS.</param>
            <param name="encoding">The encoding.</param>
            <param name="size">The size.</param>
            <returns>
              <c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.TryGetMarshalSize(System.Object,System.Int32@)">
            <summary>
            Gets the (AdsMarshalling) Size of the specified primitive type.
            </summary>
            <param name="managedValue">The managed Data type to be marshalled via ADS.</param>
            <param name="size">The size.</param>
            <returns><c>true</c> if marshalling size can be determined, <c>false</c> otherwise.</returns>
            <exception cref="T:System.ArgumentNullException">val</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.TryGetMarshalSize(System.Object,System.Text.Encoding,TwinCAT.TypeSystem.StringConvertMode,System.Int32@)">
            <summary>
            Gets the (AdsMarshalling) Size of the specified primitive type.
            </summary>
            <param name="managedValue">The managed Data type to be marshalled via ADS.</param>
            <param name="encoding">The encoding.</param>
            <param name="stringMode">The string mode.</param>
            <param name="size">The size.</param>
            <returns><c>true</c> if marshalling size can be determined, <c>false</c> otherwise.</returns>
            <exception cref="T:System.ArgumentNullException">val</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.MarshalSize(System.Type)">
            <summary>
            Gets the (AdsMarshalling) Size of the specified primitive type.
            </summary>
            <param name="dataType">The tp.</param>
            <returns>System.Int32.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">val</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.TryMarshal(System.Object,System.Byte[]@)">
            <summary>
            Tries to convert the specified (primitive) value to raw data.
            </summary>
            <param name="val">The value.</param>
            <param name="data">The data.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
            <exception cref="T:System.ArgumentNullException">val</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">val</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.TryMarshal(System.Object,System.Int32,System.Byte[]@)">
            <summary>
            Tries to convert the specified (primitive) value to raw data.
            </summary>
            <param name="val">The value.</param>
            <param name="maxBytes">The maximum bytes</param>
            <param name="data">The data.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
            <exception cref="T:System.ArgumentNullException">val</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">val</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.Marshal(TwinCAT.TypeSystem.IDataType,System.Object)">
            <summary>
            Converts the primitive value to bytes.
            </summary>
            <param name="type">The type.</param>
            <param name="val">The value.</param>
            <returns>System.Byte[].</returns>
            <exception cref="T:System.ArgumentNullException">type</exception>
            <exception cref="T:TwinCAT.TypeSystem.DataTypeException">Cannot Convert to byte array!</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.TryMarshal(TwinCAT.TypeSystem.IDataType,System.Object,System.Byte[]@)">
            <summary>
            Converts the primitive value to bytes.
            </summary>
            <param name="type">The type.</param>
            <param name="val">The value.</param>
            <param name="ret">The marshalled data buffer</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
            <exception cref="T:System.ArgumentNullException">type</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">value</exception>
            <exception cref="T:TwinCAT.TypeSystem.DataTypeException">type</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.Marshal(System.Object)">
            <summary>
            Converts the specified primitive value to raw data.
            </summary>
            <param name="val">The value.</param>
            <returns>System.Byte[].</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">tp</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.Convert``1(System.Object)">
            <summary>
            Converts the specified source value to the specified target type.
            </summary>
            <param name="sourceValue">The source value.</param>
            <returns>Value as targetType (System.Object).</returns>
            <exception cref="T:System.ArgumentNullException">tp</exception>
            <exception cref="T:TwinCAT.TypeSystem.MarshalException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.Convert(System.Object,System.Type)">
            <summary>
            Converts the specified source value to the specified target type.
            </summary>
            <param name="sourceValue">The source value.</param>
            <param name="targetType">Target type.</param>
            <returns>Value as targetType (System.Object).</returns>
            <exception cref="T:System.ArgumentNullException">tp</exception>
            <exception cref="T:TwinCAT.TypeSystem.MarshalException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.CanConvert(System.Object,System.Type)">
            <summary>
            Determines whether this instance can convert the specified source value.
            </summary>
            <param name="sourceValue">The source value.</param>
            <param name="targetType">Type of the target.</param>
            <returns><c>true</c> if this instance can convert the specified source value; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.TryConvert(System.Object,System.Type,System.Object@)">
            <summary>
            Try to convert the specified source value to the specified target type.
            </summary>
            <param name="sourceValue">The source value.</param>
            <param name="targetType">The target type.</param>
            <param name="targetValue">The target value.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.PrimitiveTypeConverter.IsPlcOpenType(System.Type)">
            <summary>
            Determines whether the specified type is an PlcOpen Type
            </summary>
            <param name="tp">The tp.</param>
            <returns><c>true</c> if is one of the types TIME,LTIME,TOD,DATE</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.ISymbolServer">
            <summary>
            Symbol Server Interface
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.ISymbolServer.DataTypes">
            <summary>
            Gets the data types.
            </summary>
            <value>The data types.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.ISymbolServer.Symbols">
            <summary>
            Gets the symbols.
            </summary>
            <value>The symbols.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.DataTypeException">
            <summary>
            Data Type Exception
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.DataTypeException.DataType">
            <summary>
            The data type
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.DataTypeException.#ctor(System.String,TwinCAT.TypeSystem.IDataType)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.DataTypeException" /> class.
            </summary>
            <param name="message">The message.</param>
            <param name="type">The type.</param>
        </member>
        <member name="T:TwinCAT.TypeSystem.MarshalException">
            <summary>
            Common Marshalling Exception
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.MarshalException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.MarshalException" /> class.
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.MarshalException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.MarshalException" /> class.
            </summary>
            <param name="message">The message.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.MarshalException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new Instance of the AdsException class.
            </summary>
            <param name="message">The message.</param>
            <param name="innerException">The inner exception.</param>
        </member>
        <member name="T:TwinCAT.TypeSystem.IRpcMarshaller">
            <summary>
            Interface IRpcMarshaller
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.IRpcMarshaller.MarshalInParameters(TwinCAT.TypeSystem.IRpcMethod,System.Object[],System.Byte[],System.Int32)">
            <summary>
            Marshals the Method (in) Parameter values to the buffer
            </summary>
            <param name="method">The method.</param>
            <param name="parameterValues">The parameter values.</param>
            <param name="buffer">The buffer.</param>
            <param name="offset">The offset.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.IRpcMarshaller.UnmarshalOutParameters(TwinCAT.TypeSystem.IRpcMethod,TwinCAT.TypeSystem.AnyTypeSpecifier[],System.Byte[],System.Int32,System.Object[]@)">
            <summary>
            Unmarshals the out parameters and the output value array.
            </summary>
            <param name="method">The method.</param>
            <param name="outParametersSpec">The out parameters specification (for ANYTYPE Types)</param>
            <param name="data">The data.</param>
            <param name="offset">The offset.</param>
            <param name="values">The values.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.IRpcMarshaller.UnmarshalReturnValue(TwinCAT.TypeSystem.IRpcMethod,TwinCAT.TypeSystem.AnyTypeSpecifier,TwinCAT.TypeSystem.IDataType,System.Byte[],System.Int32,System.Object@)">
            <summary>
            Unmarshals the RPC method return value
            </summary>
            <param name="method">The method.</param>
            <param name="retSpec">The return type specification (for ANYTYPE Types)</param>
            <param name="returnType">Type of the return.</param>
            <param name="buffer">The buffer.</param>
            <param name="offset">The offset.</param>
            <param name="returnValue">The return value.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.IRpcMarshaller.UnmarshalRpcMethod(TwinCAT.TypeSystem.IRpcMethod,TwinCAT.TypeSystem.AnyTypeSpecifier[],TwinCAT.TypeSystem.AnyTypeSpecifier,System.Byte[],System.Object[]@,System.Object@)">
            <summary>
            Unmarshal the returned data into the Out- (Read-) buffer of the RPC Call
            </summary>
            <param name="method">The method.</param>
            <param name="outSpec">The out parameters specification (for ANYTYPE Types)</param>
            <param name="retSpec">The return type specification (for ANYTYPE Types)</param>
            <param name="data">The data.</param>
            <param name="outParameters">The out parameters.</param>
            <param name="returnValue">The return value.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.IRpcMarshaller.GetInMarshallingSize(TwinCAT.TypeSystem.IRpcMethod,System.Object[])">
            <summary>
            Gets the size of the input marshalling data in bytes.
            </summary>
            <param name="method">The method.</param>
            <param name="parameterValues">The parameter values, use this if the marshal size is dependent of other parameters (length_is attribute)</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.IRpcMarshaller.GetOutMarshallingSize(TwinCAT.TypeSystem.IRpcMethod,System.Object[])">
            <summary>
            Gets the size of the out marshalling data in bytes.
            </summary>
            <param name="method">The method.</param>
            <param name="outValues">The parameter values, use this if the marshal size is dependent of other parameters (length_is attribute)</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.RpcMarshaller">
            <summary>
            Class RpcMarshaller base implementation (abstract)
            </summary>
            <seealso cref="T:TwinCAT.TypeSystem.IRpcMarshaller" />
            <exclude/>
        </member>
        <member name="F:TwinCAT.TypeSystem.RpcMarshaller._resolver">
            <summary>
            The resolver
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMarshaller.#ctor(TwinCAT.TypeSystem.IDataTypeResolver)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.RpcMarshaller"/> class.
            </summary>
            <param name="dataTypeResolver">The data type resolver.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMarshaller.GetInMarshallingSize(TwinCAT.TypeSystem.IRpcMethod,System.Object[])">
            <summary>
            Gets the size of the data of the in parameters in bytes
            </summary>
            <param name="method">The method.</param>
            <param name="parameterValues">The parameter values, use this if the marshal size is dependent of other parameters (length_is attribute)</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMarshaller.GetOutMarshallingSize(TwinCAT.TypeSystem.IRpcMethod,System.Object[])">
            <summary>
            Gets the size of the out parameters.
            </summary>
            <param name="method">The method.</param>
            <param name="outValues">The parameter values, use this if the marshal size is dependent of other parameters (length_is attribute)</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMarshaller.OnGetMarshallingSize(System.String)">
            <summary>
            Gets the Marshalling Size of the DataType
            </summary>
            <param name="dataType">Type of the data.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMarshaller.OnGetParameterSize(System.Int32,TwinCAT.TypeSystem.RpcMethodParameterCollection,System.Object[])">
            <summary>
            Get the parameter size of a single parameter
            </summary>
            <param name="parameterIndex">Index of the parameter.</param>
            <param name="parameters">The parameters.</param>
            <param name="inParameters">Use these values, if the marshal size is dependent on other parameter values (length_is attribute)</param>
            <returns>System.Int32.</returns>
            <remarks>This default implementation solely returns the Byte size of the parameter</remarks>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMarshaller.GetInParameters(TwinCAT.TypeSystem.IRpcMethod,TwinCAT.TypeSystem.RpcMethodParameterCollection@,System.Collections.Generic.IList{TwinCAT.TypeSystem.IDataType}@)">
            <summary>
            Gets the in parameters.
            </summary>
            <param name="method">The method.</param>
            <param name="parameters">The parameters.</param>
            <param name="types">The types.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMarshaller.GetOutParameters(TwinCAT.TypeSystem.IRpcMethod,TwinCAT.TypeSystem.RpcMethodParameterCollection@,System.Collections.Generic.IList{TwinCAT.TypeSystem.IDataType}@)">
            <summary>
            Gets the out parameters.
            </summary>
            <param name="method">The method.</param>
            <param name="parameters">The parameters.</param>
            <param name="types">The types.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMarshaller.GetParameters(TwinCAT.TypeSystem.IRpcMethod,TwinCAT.TypeSystem.MethodParamFlags,TwinCAT.TypeSystem.RpcMethodParameterCollection@,System.Collections.Generic.IList{TwinCAT.TypeSystem.IDataType}@)">
            <summary>
            Gets the parameters.
            </summary>
            <param name="method">The method.</param>
            <param name="mask">The mask.</param>
            <param name="parameters">The parameters.</param>
            <param name="types">The types.</param>
            <returns>System.Int32.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">parameters</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMarshaller.MarshalInParameters(TwinCAT.TypeSystem.IRpcMethod,System.Object[],System.Byte[],System.Int32)">
            <summary>
            Marshals the Method Identification plus all In parameters into the In- (Write-) buffer
            </summary>
            <param name="method">The method.</param>
            <param name="inParameterValues">The parameter values.</param>
            <param name="buffer">The buffer.</param>
            <param name="offset">The offset.</param>
            <returns>System.Int32.</returns>
            <exception cref="T:System.ArgumentNullException">
            method
            or
            parameterValues
            or
            data
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">offset</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMarshaller.UnmarshalOutParameters(TwinCAT.TypeSystem.IRpcMethod,TwinCAT.TypeSystem.AnyTypeSpecifier[],System.Byte[],System.Int32,System.Object[]@)">
            <summary>
            Unmarshals the out parameters and the output value array.
            </summary>
            <param name="method">The method.</param>
            <param name="outParametersSpec">The out parameters specification (for ANYTYPE Types)</param>
            <param name="data">The data.</param>
            <param name="offset">The offset.</param>
            <param name="values">The values.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMarshaller.OnMarshalIn(TwinCAT.TypeSystem.IRpcMethod,System.Object[],System.Byte[],System.Int32)">
            <summary>
            Called when [marshal in].
            </summary>
            <param name="method">The method.</param>
            <param name="parameterValues">The parameter values.</param>
            <param name="buffer">The buffer.</param>
            <param name="offset">The offset.</param>
            <returns>System.Int32.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">parameterValues</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMarshaller.OnMarshalParameter(System.Int32,TwinCAT.TypeSystem.RpcMethodParameterCollection,System.Collections.Generic.IList{TwinCAT.TypeSystem.IDataType},System.Object[],System.Byte[],System.Int32)">
            <summary>
            Marshals a single RpcMethodParameter to the buffer.
            </summary>
            <param name="i">The i.</param>
            <param name="inParameters">The in parameters.</param>
            <param name="inParameterTypes">The in parameter types.</param>
            <param name="parameterValues">The parameter values.</param>
            <param name="buffer">The buffer.</param>
            <param name="offset">The offset.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMarshaller.OnMarshalOut(TwinCAT.TypeSystem.IRpcMethod,TwinCAT.TypeSystem.AnyTypeSpecifier[],System.Byte[],System.Int32,System.Object[]@)">
            <summary>
            Called when [marshal out].
            </summary>
            <param name="method">The method.</param>
            <param name="outParamsSpec">The out parameters spec.</param>
            <param name="data">The data.</param>
            <param name="offset">The offset.</param>
            <param name="values">The values.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMarshaller.UnmarshalReturnValue(TwinCAT.TypeSystem.IRpcMethod,TwinCAT.TypeSystem.AnyTypeSpecifier,TwinCAT.TypeSystem.IDataType,System.Byte[],System.Int32,System.Object@)">
            <summary>
            Unmarshals the RPC method return value
            </summary>
            <param name="method">The method.</param>
            <param name="retSpec">The return type specification (for ANYTYPE Types)</param>
            <param name="returnType">Type of the return.</param>
            <param name="buffer">The buffer.</param>
            <param name="offset">The offset.</param>
            <param name="returnValue">The return value.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMarshaller.OnUnmarshalParameter(System.Int32,TwinCAT.TypeSystem.RpcMethodParameterCollection,TwinCAT.TypeSystem.AnyTypeSpecifier[],System.Collections.Generic.IList{TwinCAT.TypeSystem.IDataType},System.Byte[],System.Int32,System.Object[]@)">
            <summary>
            Unmarshals a single RPC parameter from the Buffer
            </summary>
            <param name="i">The index of the parameter</param>
            <param name="outParameters">The out parameters.</param>
            <param name="outParamSpec">The out parameter spec.</param>
            <param name="outParameterTypes">The out parameter types.</param>
            <param name="buffer">The buffer.</param>
            <param name="offset">The offset.</param>
            <param name="outValues">The out values.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMarshaller.copyHelper(System.Byte[],System.Int32,System.Byte[])">
            <summary>
            Marshalling copy helper
            </summary>
            <param name="destination">The destination array.</param>
            <param name="destinationOffset">Offset within the destination array.</param>
            <param name="source">Source array</param>
            <returns>Number of copied bytes</returns>
            <exception cref="T:TwinCAT.TypeSystem.MarshalException">Data size mismatch!</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMarshaller.UnmarshalRpcMethod(TwinCAT.TypeSystem.IRpcMethod,TwinCAT.TypeSystem.AnyTypeSpecifier[],TwinCAT.TypeSystem.AnyTypeSpecifier,System.Byte[],System.Object[]@,System.Object@)">
            <summary>
            Unmarshal the returned data into the Out- (Read-) buffer of the RPC Call
            </summary>
            <param name="method">The method.</param>
            <param name="outSpec">The out parameters specification (for ANYTYPE Types)</param>
            <param name="retSpec">The return type specification (for ANYTYPE Types)</param>
            <param name="data">The data.</param>
            <param name="outParameters">The out parameters.</param>
            <param name="returnValue">The return value.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.TypeAttributeCollection">
            <summary>
            Collection of <see cref="T:TwinCAT.TypeSystem.ITypeAttribute">AdsAttributes</see>
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.TypeAttributeCollection.list">
            <summary>
            List of Attributes
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.TypeAttributeCollection.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.TypeAttributeCollection"/> class.
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.TypeAttributeCollection.#ctor(System.Collections.Generic.IEnumerable{TwinCAT.TypeSystem.ITypeAttribute})">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.TypeAttributeCollection"/> class.
            </summary>
            <param name="coll">The coll.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.TypeAttributeCollection.IndexOf(TwinCAT.TypeSystem.ITypeAttribute)">
            <summary>
            Determines the index of a specific item in the <see cref="T:System.Collections.Generic.IList`1" />.
            </summary>
            <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.IList`1" />.</param>
            <returns>The index of <paramref name="item" /> if found in the list; otherwise, -1.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.TypeAttributeCollection.Insert(System.Int32,TwinCAT.TypeSystem.ITypeAttribute)">
            <summary>
            Inserts an item to the <see cref="T:System.Collections.Generic.IList`1" /> at the specified index.
            </summary>
            <param name="index">The zero-based index at which <paramref name="item" /> should be inserted.</param>
            <param name="item">The object to insert into the <see cref="T:System.Collections.Generic.IList`1" />.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.TypeAttributeCollection.RemoveAt(System.Int32)">
            <summary>
            Removes the <see cref="T:System.Collections.Generic.IList`1" /> item at the specified index.
            </summary>
            <param name="index">The zero-based index of the item to remove.</param>
        </member>
        <member name="P:TwinCAT.TypeSystem.TypeAttributeCollection.Item(System.Int32)">
            <summary>
            Gets or sets the element at the specified index.
            </summary>
            <param name="index">The index.</param>
            <returns>AdsAttribute.</returns>
        </member>
        <member name="P:TwinCAT.TypeSystem.TypeAttributeCollection.Item(System.String)">
            <summary>
            Gets the <see cref="T:System.String"/> with the specified name.
            </summary>
            <param name="name">The name.</param>
            <returns>System.String.</returns>
            <exception cref="T:System.Collections.Generic.KeyNotFoundException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.TypeAttributeCollection.Add(TwinCAT.TypeSystem.ITypeAttribute)">
            <summary>
            Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
            <param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.TypeAttributeCollection.Clear">
            <summary>
            Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.TypeAttributeCollection.Contains(TwinCAT.TypeSystem.ITypeAttribute)">
            <summary>
            Determines whether the <see cref="T:System.Collections.Generic.ICollection`1" /> contains a specific value.
            </summary>
            <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
            <returns>true if <paramref name="item" /> is found in the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.TypeAttributeCollection.Contains(System.String)">
            <summary>
            Determines whether this <see cref="T:TwinCAT.TypeSystem.TypeAttributeCollection"/> contains the <see cref="T:TwinCAT.TypeSystem.ITypeAttribute"/> with the specified name.
            </summary>
            <param name="name">The name.</param>
            <returns><c>true</c> if [contains] [the specified name]; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.TypeAttributeCollection.CopyTo(TwinCAT.TypeSystem.ITypeAttribute[],System.Int32)">
            <summary>
            Copies to.
            </summary>
            <param name="array">The array.</param>
            <param name="arrayIndex">Index of the array.</param>
        </member>
        <member name="P:TwinCAT.TypeSystem.TypeAttributeCollection.Count">
            <summary>
            Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
            <value>The count.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.TypeAttributeCollection.IsReadOnly">
            <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
            </summary>
            <value><c>true</c> if this instance is read only; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.TypeAttributeCollection.Remove(TwinCAT.TypeSystem.ITypeAttribute)">
            <summary>
            Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
            <param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
            <returns>true if <paramref name="item" /> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false. This method also returns false if <paramref name="item" /> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1" />.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.TypeAttributeCollection.Remove(System.String)">
            <summary>
            Removes the specified <see cref="T:TwinCAT.TypeSystem.ITypeAttribute"/> from the <see cref="T:TwinCAT.TypeSystem.TypeAttributeCollection"/>
            </summary>
            <param name="name">The name.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.TypeAttributeCollection.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.TypeAttributeCollection.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.TypeAttributeCollection.AsReadOnly">
            <summary>
            Gets a read only version of this <see cref="T:TwinCAT.TypeSystem.TypeAttributeCollection" />
            </summary>
            <returns>ReadOnlyAttributeCollection.</returns>
            <value>As read only.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.TypeAttributeCollection.TryGetAttribute(System.String,TwinCAT.TypeSystem.ITypeAttribute@)">
            <summary>
            Tries to get the specified <see cref="T:TwinCAT.TypeSystem.ITypeAttribute"/>
            </summary>
            <param name="name">The name of the <see cref="T:TwinCAT.TypeSystem.ITypeAttribute"/>.</param>
            <param name="att">The att.</param>
            <returns><c>true</c> if found, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.TypeAttributeCollection.TryGetValue(System.String,System.String@)">
            <summary>
            Tries to get the specified Attribute value.
            </summary>
            <param name="name">The name.</param>
            <param name="value">The value.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.ReadOnlyTypeAttributeCollection">
            <summary>
            Read only version of the <see cref="T:TwinCAT.TypeSystem.TypeAttributeCollection"/>
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.ReadOnlyTypeAttributeCollection.#ctor(TwinCAT.TypeSystem.TypeAttributeCollection)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.ReadOnlyTypeAttributeCollection"/> class (for internal use only)
            </summary>
            <param name="coll">The coll.</param>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.ReadOnlyTypeAttributeCollection.Contains(System.String)">
            <summary>
            Determines whether this <see cref="T:TwinCAT.TypeSystem.ReadOnlyTypeAttributeCollection"/> contains the specified attribute.
            </summary>
            <param name="name">The name.</param>
            <returns><c>true</c> if [contains] [the specified name]; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ReadOnlyTypeAttributeCollection.TryGetAttribute(System.String,TwinCAT.TypeSystem.ITypeAttribute@)">
            <summary>
            Tries to get the specified <see cref="T:TwinCAT.TypeSystem.ITypeAttribute"/>
            </summary>
            <param name="name">The name of the <see cref="T:TwinCAT.TypeSystem.ITypeAttribute"/>.</param>
            <param name="attribute">The attribute.</param>
            <returns><c>true</c> if found, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ReadOnlyTypeAttributeCollection.TryGetValue(System.String,System.String@)">
            <summary>
            Tries to get the specified Attribute value.
            </summary>
            <param name="name">The name.</param>
            <param name="value">The value.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="P:TwinCAT.TypeSystem.ReadOnlyTypeAttributeCollection.Item(System.String)">
            <summary>
            Gets the <see cref="T:System.String"/> with the specified name.
            </summary>
            <param name="name">The name.</param>
            <returns>System.String.</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.RpcMethodCollection">
            <summary>
            Collection of <see cref="T:TwinCAT.TypeSystem.IRpcMethod">RpcMethods.</see>
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.RpcMethodCollection._list">
            <summary>
            Internal list (organizing the list index)
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.RpcMethodCollection._dict">
            <summary>
            Dictionary MethodName--&gt;RpcMethod for fast search
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMethodCollection.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.RpcMethodCollection"/> class.
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMethodCollection.#ctor(TwinCAT.Ads.Internal.AdsMethodEntry[])">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.RpcMethodCollection" /> class.
            </summary>
            <param name="coll">The coll.</param>
        </member>
        <member name="P:TwinCAT.TypeSystem.RpcMethodCollection.Empty">
            <summary>
            Gets the empty collection
            </summary>
            <value>The empty collection</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMethodCollection.IndexOf(TwinCAT.TypeSystem.IRpcMethod)">
            <summary>
            Determines the index of a specific item in the <see cref="T:System.Collections.Generic.IList`1" />.
            </summary>
            <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.IList`1" />.</param>
            <returns>The index of <paramref name="item" /> if found in the list; otherwise, -1.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMethodCollection.Insert(System.Int32,TwinCAT.TypeSystem.IRpcMethod)">
            <summary>
            Inserts an item to the <see cref="T:System.Collections.Generic.IList`1" /> at the specified index.
            </summary>
            <param name="index">The zero-based index at which <paramref name="item" /> should be inserted.</param>
            <param name="item">The object to insert into the <see cref="T:System.Collections.Generic.IList`1" />.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMethodCollection.RemoveAt(System.Int32)">
            <summary>
            Removes the <see cref="T:System.Collections.Generic.IList`1" /> item at the specified index.
            </summary>
            <param name="index">The zero-based index of the item to remove.</param>
        </member>
        <member name="P:TwinCAT.TypeSystem.RpcMethodCollection.Item(System.Int32)">
            <summary>
            Gets or sets the element at the specified index.
            </summary>
            <param name="index">The index.</param>
            <returns>RpcMethod.</returns>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMethodCollection.Add(TwinCAT.TypeSystem.IRpcMethod)">
            <summary>
            Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
            <param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMethodCollection.Clear">
            <summary>
            Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMethodCollection.Contains(TwinCAT.TypeSystem.IRpcMethod)">
            <summary>
            Determines whether the <see cref="T:System.Collections.Generic.ICollection`1" /> contains a specific value.
            </summary>
            <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
            <returns>true if <paramref name="item" /> is found in the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMethodCollection.Contains(System.String)">
            <summary>
            Determines whether this collection contains the specified method name.
            </summary>
            <param name="methodName">Name of the method.</param>
            <returns><c>true</c> if contained.; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMethodCollection.TryGetMethod(System.String,TwinCAT.TypeSystem.IRpcMethod@)">
            <summary>
            Tries to get the specified method.
            </summary>
            <param name="methodName">Name of the method.</param>
            <param name="method">The method if fund, <c>NULL</c> otherwise.</param>
            <returns><c>true</c> if found, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMethodCollection.TryGetMethod(System.Int32,TwinCAT.TypeSystem.IRpcMethod@)">
            <summary>
            Tries to get the specified method.
            </summary>
            <param name="vTableIndex">VTable index.</param>
            <param name="method">The method if fund, <c>NULL</c> otherwise.</param>
            <returns><c>true</c> if found, <c>false</c> otherwise.</returns>
        </member>
        <member name="P:TwinCAT.TypeSystem.RpcMethodCollection.Item(System.String)">
            <summary>
            Gets the <see cref="T:TwinCAT.TypeSystem.IRpcMethod" /> with the specified method name.
            </summary>
            <param name="methodName">Name of the method.</param>
            <returns>RpcMethod.</returns>
            <exception cref="T:System.Collections.Generic.KeyNotFoundException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMethodCollection.CopyTo(TwinCAT.TypeSystem.IRpcMethod[],System.Int32)">
            <summary>
            Copies to.
            </summary>
            <param name="array">The array.</param>
            <param name="arrayIndex">Index of the array.</param>
        </member>
        <member name="P:TwinCAT.TypeSystem.RpcMethodCollection.Count">
            <summary>
            Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
            <value>The count.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.RpcMethodCollection.IsReadOnly">
            <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
            </summary>
            <value><c>true</c> if this instance is read only; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMethodCollection.Remove(TwinCAT.TypeSystem.IRpcMethod)">
            <summary>
            Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
            <param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
            <returns>true if <paramref name="item" /> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false. This method also returns false if <paramref name="item" /> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1" />.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMethodCollection.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMethodCollection.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMethodCollection.AsReadOnly">
            <summary>
            Gets a read only collection of this <see cref="T:TwinCAT.TypeSystem.RpcMethodCollection" />
            </summary>
            <returns>ReadOnlyRpcMethodCollection.</returns>
            <value>Returns a read only version of this <see cref="T:TwinCAT.TypeSystem.RpcMethodCollection" /></value>
        </member>
        <member name="T:TwinCAT.TypeSystem.ReadOnlyRpcMethodCollection">
            <summary>
            Read only <see cref="T:TwinCAT.TypeSystem.RpcMethodCollection" />
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.ReadOnlyRpcMethodCollection.#ctor(TwinCAT.TypeSystem.RpcMethodCollection)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.ReadOnlyRpcMethodCollection" /> class.
            </summary>
            <param name="coll">The coll.</param>
        </member>
        <member name="P:TwinCAT.TypeSystem.ReadOnlyRpcMethodCollection.Empty">
            <summary>
            Gets the empty collection..
            </summary>
            <value>The empty collection.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.ReadOnlyRpcMethodCollection.Contains(System.String)">
            <summary>
            Determines whether this collection contains the specified method name.
            </summary>
            <param name="methodName">Name of the method.</param>
            <returns><c>true</c> if contained.; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ReadOnlyRpcMethodCollection.TryGetMethod(System.String,TwinCAT.TypeSystem.IRpcMethod@)">
            <summary>
            Tries to get the specified method.
            </summary>
            <param name="methodName">Name of the method.</param>
            <param name="method">The method if fund, <c>NULL</c> otherwise.</param>
            <returns><c>true</c> if found, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ReadOnlyRpcMethodCollection.TryGetMethod(System.Int32,TwinCAT.TypeSystem.IRpcMethod@)">
            <summary>
            Tries to get the specified method.
            </summary>
            <param name="vTableIndex">vTableIndex.</param>
            <param name="method">The method if fund, <c>NULL</c> otherwise.</param>
            <returns><c>true</c> if found, <c>false</c> otherwise.</returns>
        </member>
        <member name="P:TwinCAT.TypeSystem.ReadOnlyRpcMethodCollection.Item(System.String)">
            <summary>
            Gets the <see cref="T:TwinCAT.TypeSystem.IRpcMethod" /> with the specified method name.
            </summary>
            <param name="methodName">Name of the method.</param>
            <returns>RpcMethod.</returns>
            <exception cref="T:System.Collections.Generic.KeyNotFoundException"></exception>
        </member>
        <member name="T:TwinCAT.TypeSystem.IDimensionCollection">
            <summary>
            Interface IDimensionCollection
            </summary>
            <seealso cref="T:TwinCAT.TypeSystem.IDimension" />
        </member>
        <member name="P:TwinCAT.TypeSystem.IDimensionCollection.LowerBounds">
            <summary>
            Gets the lower bounds.
            </summary>
            <value>The lower bounds.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IDimensionCollection.UpperBounds">
            <summary>
            Gets the lower bounds.
            </summary>
            <value>The lower bounds.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IDimensionCollection.ElementCount">
            <summary>
            Gets the Number of elements in all Dimensions
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.IDimensionCollection.GetDimensionLengths">
            <summary>
            Gets an array the specifies the Lengths of each Array Dimension
            </summary>
            <returns>System.Int32[].</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.DimensionCollection">
            <summary>
            Collection class for Array Dimensions
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.DimensionCollection.#ctor(TwinCAT.Ads.AdsDatatypeArrayInfo[])">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.DimensionCollection"/> class.
            </summary>
            <param name="arrayInfos">The array infos.</param>
            <exception cref="T:System.ArgumentNullException">arrayInfos</exception>
            <remarks>Index = 0 is the lowest Dimension.</remarks>
        </member>
        <member name="M:TwinCAT.TypeSystem.DimensionCollection.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.DimensionCollection"/> class.
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.DimensionCollection.#ctor(System.Int32[])">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.DimensionCollection"/> class.
            </summary>
            <param name="dimLengths">The dim lengths.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.DimensionCollection.#ctor(System.Collections.Generic.IEnumerable{TwinCAT.TypeSystem.IDimension})">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.DimensionCollection"/> class.
            </summary>
            <param name="coll">The coll.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.DimensionCollection.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of an 1-Dimensional representing <see cref="T:TwinCAT.TypeSystem.DimensionCollection"/> class.
            </summary>
            <param name="length">The length.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.DimensionCollection.#ctor(System.Array)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.DimensionCollection"/> class.
            </summary>
            <param name="array">The array.</param>
        </member>
        <member name="F:TwinCAT.TypeSystem.DimensionCollection._list">
            <summary>
            Internal Dimension list.
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.DimensionCollection.AsReadOnly">
            <summary>
            Returns a read only version of this <see cref="T:TwinCAT.TypeSystem.DimensionCollection" />.
            </summary>
            <returns>ReadOnlyDimensionCollection.</returns>
            <value>As read only.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.DimensionCollection.ToArray">
            <summary>
            Converts the <see cref="T:TwinCAT.TypeSystem.DimensionCollection"/> to <see cref="T:TwinCAT.Ads.AdsDatatypeArrayInfo"/> array.
            </summary>
            <returns>AdsDatatypeArrayInfo[] if is array, otherwise <c>NULL</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DimensionCollection.IndexOf(TwinCAT.TypeSystem.IDimension)">
            <summary>
            Determines the index of a specific item in the <see cref="T:System.Collections.Generic.IList`1" />.
            </summary>
            <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.IList`1" />.</param>
            <returns>The index of <paramref name="item" /> if found in the list; otherwise, -1.</returns>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DimensionCollection.Insert(System.Int32,TwinCAT.TypeSystem.IDimension)">
            <summary>
            Inserts an item to the <see cref="T:System.Collections.Generic.IList`1" /> at the specified index.
            </summary>
            <param name="index">The zero-based index at which <paramref name="item" /> should be inserted.</param>
            <param name="item">The object to insert into the <see cref="T:System.Collections.Generic.IList`1" />.</param>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DimensionCollection.RemoveAt(System.Int32)">
            <summary>
            Removes the <see cref="T:System.Collections.Generic.IList`1" /> item at the specified index.
            </summary>
            <param name="index">The zero-based index of the item to remove.</param>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="P:TwinCAT.TypeSystem.DimensionCollection.Item(System.Int32)">
            <summary>
            Gets or sets the element at the specified index.
            </summary>
            <param name="index">The index.</param>
            <returns>IDimension.</returns>
            <exception cref="T:System.NotImplementedException">
            </exception>
            <remarks>Index = 0 is the lowest dimesion.</remarks>
        </member>
        <member name="M:TwinCAT.TypeSystem.DimensionCollection.Add(TwinCAT.TypeSystem.IDimension)">
            <summary>
            Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
            <param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DimensionCollection.Clear">
            <summary>
            Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DimensionCollection.Contains(TwinCAT.TypeSystem.IDimension)">
            <summary>
            Determines whether the <see cref="T:System.Collections.Generic.ICollection`1" /> contains a specific value.
            </summary>
            <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
            <returns>true if <paramref name="item" /> is found in the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false.</returns>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DimensionCollection.CopyTo(TwinCAT.TypeSystem.IDimension[],System.Int32)">
            <summary>
            Copies to.
            </summary>
            <param name="array">The array.</param>
            <param name="arrayIndex">Index of the array.</param>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="P:TwinCAT.TypeSystem.DimensionCollection.Count">
            <summary>
            Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
            <value>The count.</value>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="P:TwinCAT.TypeSystem.DimensionCollection.IsReadOnly">
            <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
            </summary>
            <value><c>true</c> if this instance is read only; otherwise, <c>false</c>.</value>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DimensionCollection.Remove(TwinCAT.TypeSystem.IDimension)">
            <summary>
            Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
            <param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
            <returns>true if <paramref name="item" /> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false. This method also returns false if <paramref name="item" /> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1" />.</returns>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DimensionCollection.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.</returns>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DimensionCollection.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.</returns>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="P:TwinCAT.TypeSystem.DimensionCollection.ElementCount">
            <summary>
            Gets the Number of elements in all Dimensions
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.DimensionCollection.LowerBounds">
            <summary>
            Gets the lower bounds.
            </summary>
            <value>The lower bounds.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.DimensionCollection.UpperBounds">
            <summary>
            Gets the upper bounds.
            </summary>
            <value>The upper bounds.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.DimensionCollection.GetDimensionLengths">
            <summary>
            Gets an array the specifies the Lengths of each Array Dimension
            </summary>
            <returns>System.Int32[].</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.ReadOnlyDimensionCollection">
            <summary>
            ReadOnly version of the <see cref="T:TwinCAT.TypeSystem.DimensionCollection"/>
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.ReadOnlyDimensionCollection.#ctor(TwinCAT.TypeSystem.DimensionCollection)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.ReadOnlyDimensionCollection"/> class (for internal use only)
            </summary>
            <param name="coll">The coll.</param>
            <exclude/>
        </member>
        <member name="P:TwinCAT.TypeSystem.ReadOnlyDimensionCollection.ElementCount">
            <summary>
            Gets the Number of elements in all Dimensions
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.ReadOnlyDimensionCollection.ToArray">
            <summary>
            Converts the <see cref="T:TwinCAT.TypeSystem.DimensionCollection"/> to <see cref="T:TwinCAT.Ads.AdsDatatypeArrayInfo"/> array.
            </summary>
            <returns>AdsDatatypeArrayInfo[] if is array, otherwise <c>NULL</c>.</returns>
        </member>
        <member name="P:TwinCAT.TypeSystem.ReadOnlyDimensionCollection.LowerBounds">
            <summary>
            Gets the lower bounds.
            </summary>
            <value>The lower bounds.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.ReadOnlyDimensionCollection.UpperBounds">
            <summary>
            Gets the upper bounds.
            </summary>
            <value>The upper bounds.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.ReadOnlyDimensionCollection.GetDimensionLengths">
            <summary>
            Gets an array the specifies the Lengths of each Array Dimension
            </summary>
            <returns>System.Int32[].</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.DataTypeCollection">
            <summary>
            Collection of <see cref="T:TwinCAT.TypeSystem.IDataType">DataTypes.</see>
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.DataTypeCollection.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.DataTypeCollection"/> class.
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.DataTypeCollection.#ctor(System.Collections.Generic.IEnumerable{TwinCAT.TypeSystem.IDataType})">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.DataTypeCollection"/> class (Copy constructor).
            </summary>
            <param name="coll">The coll.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.DataTypeCollection.AsReadOnly">
            <summary>
            Returns A ReadOnly-Version of the  <see cref="T:TwinCAT.TypeSystem.DataTypeCollection" />.
            </summary>
            <returns>A read only version of this <see cref="T:TwinCAT.TypeSystem.DataTypeCollection" />.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DataTypeCollection.Clone">
            <summary>
            Clones this <see cref="T:TwinCAT.TypeSystem.DataTypeCollection"/> (Shallow Copy)
            </summary>
            <returns>A clone of this <see cref="T:TwinCAT.TypeSystem.DataTypeCollection"/>.</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.ReadOnlyDataTypeCollection">
            <summary>
            ReadOnly Collection of <see cref="T:TwinCAT.TypeSystem.IDataType"/> objects.
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.ReadOnlyDataTypeCollection.#ctor(TwinCAT.TypeSystem.Generic.DataTypeCollection{TwinCAT.TypeSystem.IDataType})">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.ReadOnlyDataTypeCollection"/> class.
            </summary>
            <param name="coll">Collection of types.</param>
        </member>
        <member name="T:TwinCAT.TypeSystem.MemberCollection">
            <summary>
            Collection of <see cref="T:TwinCAT.TypeSystem.IMember"/> objects.
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.MemberCollection.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.MemberCollection"/> class.
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.MemberCollection.#ctor(System.Collections.Generic.IEnumerable{TwinCAT.TypeSystem.IMember})">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.MemberCollection"/> class (copy constructor)
            </summary>
            <param name="coll">The coll.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.MemberCollection.AsReadOnly">
            <summary>
            Returns a read only copy of this collection (shallow copy)
            </summary>
            <returns>The readonly copy.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.MemberCollection.Clone">
            <summary>
            Clones this <see cref="T:TwinCAT.TypeSystem.MemberCollection"/>.
            </summary>
            <returns>A cloned <see cref="T:TwinCAT.TypeSystem.MemberCollection"/>.</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.FieldCollection">
            <summary>
            Collection of <see cref="T:TwinCAT.TypeSystem.IField"/> objects.
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.FieldCollection.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.FieldCollection"/> class.
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.FieldCollection.#ctor(System.Collections.Generic.IEnumerable{TwinCAT.TypeSystem.IField})">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.FieldCollection"/> class (copy constructor)
            </summary>
            <param name="coll">The coll.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.FieldCollection.AsReadOnly">
            <summary>
            Returns a read only copy of this collection (shallow copy)
            </summary>
            <returns>The readonly copy.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.FieldCollection.Clone">
            <summary>
            Clones this <see cref="T:TwinCAT.TypeSystem.FieldCollection"/>.
            </summary>
            <returns>A cloned <see cref="T:TwinCAT.TypeSystem.FieldCollection"/>.</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.ReadOnlyFieldCollection">
            <summary>
            Read only collection of <see cref="T:TwinCAT.TypeSystem.IField"/> objects
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.ReadOnlyFieldCollection.#ctor(TwinCAT.TypeSystem.FieldCollection)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.ReadOnlyMemberCollection"/> class.
            </summary>
            <param name="members">The members.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.ReadOnlyFieldCollection.TryGetMember(System.String,TwinCAT.TypeSystem.IField@)">
            <summary>
            Tries to get the specified member
            </summary>
            <param name="fieldName">Name of the member.</param>
            <param name="symbol">The symbol.</param>
            <returns><c>true</c> if found, <c>false</c> otherwise.</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.ReadOnlyMemberCollection">
            <summary>
            Read only collection of <see cref="T:TwinCAT.TypeSystem.IMember"/> objects
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.ReadOnlyMemberCollection.#ctor(TwinCAT.TypeSystem.MemberCollection)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.ReadOnlyMemberCollection"/> class.
            </summary>
            <param name="members">The members.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.ReadOnlyMemberCollection.TryGetMember(System.String,TwinCAT.TypeSystem.IMember@)">
            <summary>
            Tries to get the specified member
            </summary>
            <param name="memberName">Name of the member.</param>
            <param name="symbol">The symbol.</param>
            <returns><c>true</c> if found, <c>false</c> otherwise.</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.ISymbolCollection">
            <summary>
            Interface ISymbolCollection
            </summary>
        </member>
        <member name="T:TwinCAT.TypeSystem.SymbolCollection">
            <summary>
            Interface represents a collection of <see cref="T:TwinCAT.TypeSystem.ISymbol"/> objects.
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.SymbolCollection.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.SymbolCollection"/> class organized with InstancePath.
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.SymbolCollection.#ctor(TwinCAT.TypeSystem.Generic.InstanceCollectionMode)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.SymbolCollection" /> class.
            </summary>
            <param name="mode">The mode.</param>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.SymbolCollection.#ctor(System.Collections.Generic.IEnumerable{TwinCAT.TypeSystem.ISymbol})">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.SymbolCollection"/> class.
            </summary>
            <param name="coll">The coll.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.SymbolCollection.AsReadOnly">
            <summary>
            Returns a Read only version of this collection (shallow copy).
            </summary>
            <returns>Read only collection.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.SymbolCollection.Clone">
            <summary>
            Clones this instance.
            </summary>
            <returns>Cloned <see cref="T:TwinCAT.TypeSystem.SymbolCollection"/>.</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.ReadOnlySymbolCollection">
            <summary>
            ReadOnly collection containing <see cref="T:TwinCAT.TypeSystem.ISymbol"/> objects.
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.ReadOnlySymbolCollection.#ctor(TwinCAT.TypeSystem.Generic.IInstanceCollection{TwinCAT.TypeSystem.ISymbol})">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.ReadOnlySymbolCollection"/> class.
            </summary>
            <param name="symbols">The symbols.</param>
        </member>
        <member name="T:TwinCAT.TypeSystem.NamespaceCollection">
            <summary>
            Collection of Namespaces (internally using <see cref="T:TwinCAT.TypeSystem.Generic.INamespace`1" />
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.NamespaceCollection.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.NamespaceCollection" /> class.
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.NamespaceCollection.AsReadOnly">
            <summary>
            Creates a read-only version of this <see cref="T:TwinCAT.TypeSystem.NamespaceCollection" />.
            </summary>
            <returns>A readonly <see cref="T:TwinCAT.TypeSystem.NamespaceCollection" />.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.NamespaceCollection.RegisterType(TwinCAT.TypeSystem.IDataType)">
            <summary>
            Registers a type on its namespace
            </summary>
            <param name="type">The type.</param>
            <remarks>Creates a new namespace if not existing in the collection.</remarks>
        </member>
        <member name="T:TwinCAT.TypeSystem.ReadOnlyNamespaceCollection">
            <summary>
            ReadOnly namespace collection
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.ReadOnlyNamespaceCollection.#ctor(TwinCAT.TypeSystem.NamespaceCollection)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.ReadOnlyNamespaceCollection" /> class.
            </summary>
            <param name="coll">The coll.</param>
        </member>
        <member name="T:TwinCAT.TypeSystem.IEnumValue">
            <summary>
            Generic interface for EnumValues
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.IEnumValue.Name">
            <summary>
            Gets the name of the Enumeration Value (value as string)
            </summary>
            <value>The name.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IEnumValue.Primitive">
            <summary>
            Gets the (Primitive, BaseType) Value of the enumeration as object
            </summary>
            <value>The object value.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IEnumValue.RawValue">
            <summary>
            Gets the raw value of the enumeration (as byte array)
            </summary>
            <value>The raw value.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IEnumValue.ManagedBaseType">
            <summary>
            Gets the enumeration base type (sint,byte,short,ushort,int,uint,Int64,UInt64 supported)
            </summary>
            <value>The type of the base.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IEnumValue.Size">
            <summary>
            Gets the size of the Enum value (in bytes)
            </summary>
            <value>The size.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.EnumValue`1">
            <summary>
            Enum Value
            </summary>
            <typeparam name="T">Enum base type (byte,sbyte,short,ushort,int,uint,long or ulong)</typeparam>
        </member>
        <member name="F:TwinCAT.TypeSystem.EnumValue`1._name">
            <summary>
            Name of the Enum Value (as string)
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.EnumValue`1._value">
            <summary>
            The Value of the Enum
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.EnumValue`1.Name">
            <summary>
            Gets the name of the Enum Value
            </summary>
            <value>The name.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.EnumValue`1.Primitive">
            <summary>
            Gets the value.
            </summary>
            <value>The value.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValue`1.#ctor(TwinCAT.Ads.Internal.AdsEnumInfoEntry)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.EnumValue`1"/> class.
            </summary>
            <param name="entry">The entry.</param>
            <exception cref="T:System.ArgumentException">Wrong Enum base type.</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValue`1.#ctor(TwinCAT.TypeSystem.IEnumType{`0},`0)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.EnumValue`1"/> class.
            </summary>
            <param name="enumType">Type of the enum.</param>
            <param name="value">The value.</param>
        </member>
        <member name="P:TwinCAT.TypeSystem.EnumValue`1.TwinCAT#TypeSystem#IEnumValue#Primitive">
            <summary>
            Gets the Value of the enumeration value (value as object)
            </summary>
            <value>The object value.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.EnumValue`1.RawValue">
            <summary>
            Gets the raw value of the enumeration (as byte array)
            </summary>
            <value>The raw value.</value>
            <exception cref="T:System.NotSupportedException">Base type of enum is not allowed!</exception>
        </member>
        <member name="P:TwinCAT.TypeSystem.EnumValue`1.ManagedBaseType">
            <summary>
            Gets the enumeration base type (sint,byte,short,ushort,int,uint,Int64,UInt64 supported)
            </summary>
            <value>The type of the base.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.EnumValue`1.Size">
            <summary>
            Gets the size of the Enum value (in bytes)
            </summary>
            <value>The size.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValue`1.ToString">
            <summary>
            Returns a <see cref="T:System.String" /> that represents this instance.
            </summary>
            <returns>A <see cref="T:System.String" /> that represents this instance.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValue`1.TryParse(TwinCAT.TypeSystem.IEnumType{`0},System.String,TwinCAT.TypeSystem.EnumValue{`0}@)">
            <summary>
            Parse EnumType string
            </summary>
            <param name="type">The type.</param>
            <param name="str">The string.</param>
            <param name="value">The value.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValue`1.Parse(TwinCAT.TypeSystem.IEnumType{`0},System.String)">
            <summary>
            Parse Enum Type string
            </summary>
            <param name="type">The type.</param>
            <param name="str">The string.</param>
            <returns>EnumValue&lt;T&gt;.</returns>
            <exception cref="T:System.FormatException"></exception>
        </member>
        <member name="T:TwinCAT.TypeSystem.EnumValueCollection`1">
            <summary>
            Collection of <see cref="T:TwinCAT.TypeSystem.EnumValue`1">EnumValues</see>
            </summary>
            <typeparam name="T">Base type of enum</typeparam>
        </member>
        <member name="F:TwinCAT.TypeSystem.EnumValueCollection`1._list">
            <summary>
            Internal list organizing the Index
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.EnumValueCollection`1._nameValueDict">
            <summary>
            Dictionary Name --&gt; EnumValue for fast find
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection`1.#ctor(TwinCAT.Ads.Internal.AdsEnumInfoEntry[])">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.EnumValueCollection`1" /> class.
            </summary>
            <param name="coll">The coll.</param>
            <exception cref="T:System.ArgumentNullException">coll</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection`1.IndexOf(TwinCAT.TypeSystem.EnumValue{`0})">
            <summary>
            Determines the index of a specific item in the <see cref="T:System.Collections.Generic.IList`1" />.
            </summary>
            <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.IList`1" />.</param>
            <returns>The index of <paramref name="item" /> if found in the list; otherwise, -1.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection`1.Insert(System.Int32,TwinCAT.TypeSystem.EnumValue{`0})">
            <summary>
            Inserts an item to the <see cref="T:System.Collections.Generic.IList`1" /> at the specified index.
            </summary>
            <param name="index">The zero-based index at which <paramref name="item" /> should be inserted.</param>
            <param name="item">The object to insert into the <see cref="T:System.Collections.Generic.IList`1" />.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection`1.RemoveAt(System.Int32)">
            <summary>
            Removes the <see cref="T:System.Collections.Generic.IList`1" /> item at the specified index.
            </summary>
            <param name="index">The zero-based index of the item to remove.</param>
        </member>
        <member name="P:TwinCAT.TypeSystem.EnumValueCollection`1.Item(System.Int32)">
            <summary>
            Gets or sets the element at the specified index.
            </summary>
            <param name="index">The index.</param>
            <returns>EnumValue&lt;T&gt;.</returns>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection`1.Add(TwinCAT.TypeSystem.EnumValue{`0})">
            <summary>
            Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
            <param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection`1.Clear">
            <summary>
            Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection`1.Contains(TwinCAT.TypeSystem.EnumValue{`0})">
            <summary>
            Determines whether the <see cref="T:System.Collections.Generic.ICollection`1" /> contains a specific value.
            </summary>
            <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
            <returns>true if <paramref name="item" /> is found in the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection`1.Contains(System.String)">
            <summary>
            Determines whether [contains] [the specified name].
            </summary>
            <param name="name">The name.</param>
            <returns><c>true</c> if [contains] [the specified name]; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection`1.Contains(`0)">
            <summary>
            Determines whether [contains] [the specified value].
            </summary>
            <param name="value">The value.</param>
            <returns><c>true</c> if [contains] [the specified value]; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection`1.TryGetInfo(`0,TwinCAT.TypeSystem.EnumValue{`0}@)">
            <summary>
            Tries the get information.
            </summary>
            <param name="val">The value.</param>
            <param name="ei">The ei.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection`1.TryParse(System.String,`0@)">
            <summary>
            Parse the specified string to the enum value.
            </summary>
            <param name="name">The name.</param>
            <param name="value">The value.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection`1.Parse(System.String)">
            <summary>
            Parses the specified string to the Enum value.
            </summary>
            <param name="name">The name.</param>
            <returns>T.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">name</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection`1.CopyTo(TwinCAT.TypeSystem.EnumValue{`0}[],System.Int32)">
            <summary>
            Copies the entire list.
            </summary>
            <param name="array">The array.</param>
            <param name="arrayIndex">Index of the array.</param>
        </member>
        <member name="P:TwinCAT.TypeSystem.EnumValueCollection`1.Count">
            <summary>
            Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
            <value>The count.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.EnumValueCollection`1.IsReadOnly">
            <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
            </summary>
            <value><c>true</c> if this instance is read only; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection`1.Remove(TwinCAT.TypeSystem.EnumValue{`0})">
            <summary>
            Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
            <param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
            <returns>true if <paramref name="item" /> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false. This method also returns false if <paramref name="item" /> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1" />.</returns>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection`1.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection`1.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection`1.GetNames">
            <summary>
            Gets the names.
            </summary>
            <returns>System.String[].</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection`1.GetValues">
            <summary>
            Gets the values.
            </summary>
            <returns>T[].</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection`1.AsReadOnly">
            <summary>
            Gets as read only.
            </summary>
            <returns>ReadOnlyEnumValueCollection&lt;T&gt;.</returns>
            <value>As read only.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection`1.op_Explicit(TwinCAT.TypeSystem.EnumValueCollection{`0})~TwinCAT.TypeSystem.EnumValueCollection">
            <summary>
            Performs an explicit conversion from <see cref="T:TwinCAT.TypeSystem.EnumValueCollection`1" /> to <see cref="T:TwinCAT.TypeSystem.EnumValueCollection" />.
            </summary>
            <param name="coll">The coll.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.ReadOnlyEnumValueCollection`1">
            <summary>
            Read only version of the <see cref="T:TwinCAT.TypeSystem.EnumValueCollection`1"/>
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:TwinCAT.TypeSystem.ReadOnlyEnumValueCollection`1.#ctor(TwinCAT.TypeSystem.EnumValueCollection{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.ReadOnlyEnumValueCollection`1"/> class.
            </summary>
            <param name="coll">The coll.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.ReadOnlyEnumValueCollection`1.Contains(System.String)">
            <summary>
            Determines whether [contains] [the specified name].
            </summary>
            <param name="value">Value</param>
            <returns><c>true</c> if [contains] [the specified name]; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ReadOnlyEnumValueCollection`1.TryParse(System.String,`0@)">
            <summary>
            Tries to parse the string value of the Enum.
            </summary>
            <param name="strValue">The Value in string represention.</param>
            <param name="value">The value.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ReadOnlyEnumValueCollection`1.Parse(System.String)">
            <summary>
            Parses the specified name.
            </summary>
            <param name="name">The name.</param>
            <returns>T.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ReadOnlyEnumValueCollection`1.GetNames">
            <summary>
            Gets the Value Names.
            </summary>
            <returns>System.String[].</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ReadOnlyEnumValueCollection`1.GetValues">
            <summary>
            Gets the values.
            </summary>
            <returns>T[].</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.EnumValueCollection">
            <summary>
            Class EnumValueCollection.
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.EnumValueCollection._list">
            <summary>
            Internal list organizing the Index
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.EnumValueCollection._nameValueDict">
            <summary>
            Dictionary Name --> EnumValue for fast find
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection.#ctor(TwinCAT.Ads.AdsDatatypeId,TwinCAT.Ads.Internal.AdsEnumInfoEntry[])">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.EnumValueCollection`1" /> class.
            </summary>
            <param name="typeId">The type identifier.</param>
            <param name="coll">The coll.</param>
            <exception cref="T:System.ArgumentNullException">coll</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection.#ctor(System.Collections.Generic.IEnumerable{TwinCAT.TypeSystem.IEnumValue})">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.EnumValueCollection"/> class (for internal use only).
            </summary>
            <param name="coll">The coll.</param>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection.IndexOf(TwinCAT.TypeSystem.IEnumValue)">
            <summary>
            Determines the index of a specific item in the <see cref="T:System.Collections.Generic.IList`1" />.
            </summary>
            <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.IList`1" />.</param>
            <returns>The index of <paramref name="item" /> if found in the list; otherwise, -1.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection.Insert(System.Int32,TwinCAT.TypeSystem.IEnumValue)">
            <summary>
            Inserts an item to the <see cref="T:System.Collections.Generic.IList`1" /> at the specified index.
            </summary>
            <param name="index">The zero-based index at which <paramref name="item" /> should be inserted.</param>
            <param name="item">The object to insert into the <see cref="T:System.Collections.Generic.IList`1" />.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection.RemoveAt(System.Int32)">
            <summary>
            Removes the <see cref="T:System.Collections.Generic.IList`1" /> item at the specified index.
            </summary>
            <param name="index">The zero-based index of the item to remove.</param>
        </member>
        <member name="P:TwinCAT.TypeSystem.EnumValueCollection.Item(System.Int32)">
            <summary>
            Gets or sets the element at the specified index.
            </summary>
            <param name="index">The index.</param>
            <returns>EnumValue&lt;T&gt;.</returns>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="P:TwinCAT.TypeSystem.EnumValueCollection.Item(System.String)">
            <summary>
            Gets or sets the element at the specified index.
            </summary>
            <param name="name">The name of the value</param>
            <returns>EnumValue&lt;T&gt;.</returns>
            <exception cref="T:System.NotImplementedException"></exception>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection.Add(TwinCAT.TypeSystem.IEnumValue)">
            <summary>
            Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
            <param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection.Clear">
            <summary>
            Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection.Contains(TwinCAT.TypeSystem.IEnumValue)">
            <summary>
            Determines whether the <see cref="T:System.Collections.Generic.ICollection`1" /> contains a specific value.
            </summary>
            <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
            <returns>true if <paramref name="item" /> is found in the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection.Contains(System.String)">
            <summary>
            Determines whether [contains] [the specified name].
            </summary>
            <param name="name">The name.</param>
            <returns><c>true</c> if [contains] [the specified name]; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection.Contains(System.Object)">
            <summary>
            Determines whether [contains] [the specified value].
            </summary>
            <param name="value">The value.</param>
            <returns><c>true</c> if [contains] [the specified value]; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection.TryGetInfo(System.Object,TwinCAT.TypeSystem.IEnumValue@)">
            <summary>
            Tries the get information.
            </summary>
            <param name="val">The value.</param>
            <param name="ei">The ei.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection.TryParse(System.String,System.Object@)">
            <summary>
            Parse the specified string to the enum value.
            </summary>
            <param name="name">The name.</param>
            <param name="value">The value.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection.Parse(System.String)">
            <summary>
            Parses the specified string to the Enum value.
            </summary>
            <param name="name">The name.</param>
            <returns>T.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">name</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection.CopyTo(TwinCAT.TypeSystem.IEnumValue[],System.Int32)">
            <summary>
            Copies the entire list.
            </summary>
            <param name="array">The array.</param>
            <param name="arrayIndex">Index of the array.</param>
        </member>
        <member name="P:TwinCAT.TypeSystem.EnumValueCollection.Count">
            <summary>
            Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
            <value>The count.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.EnumValueCollection.IsReadOnly">
            <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
            </summary>
            <value><c>true</c> if this instance is read only; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection.Remove(TwinCAT.TypeSystem.IEnumValue)">
            <summary>
            Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
            <param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
            <returns>true if <paramref name="item" /> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false. This method also returns false if <paramref name="item" /> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1" />.</returns>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection.GetNames">
            <summary>
            Gets the names.
            </summary>
            <returns>System.String[].</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection.GetValues">
            <summary>
            Gets the values.
            </summary>
            <returns>T[].</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueCollection.AsReadOnly">
            <summary>
            Gets as read only.
            </summary>
            <returns>ReadOnlyEnumValueCollection.</returns>
            <value>As read only.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.ReadOnlyEnumValueCollection">
            <summary>
            Read only version of the <see cref="T:TwinCAT.TypeSystem.EnumValueCollection`1" />
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.ReadOnlyEnumValueCollection.#ctor(TwinCAT.TypeSystem.EnumValueCollection)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.ReadOnlyEnumValueCollection`1"/> class.
            </summary>
            <param name="coll">The coll.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.ReadOnlyEnumValueCollection.Contains(System.String)">
            <summary>
            Determines whether [contains] [the specified name].
            </summary>
            <param name="value">Value</param>
            <returns><c>true</c> if [contains] [the specified name]; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ReadOnlyEnumValueCollection.TryParse(System.String,System.Object)">
            <summary>
            Tries to pars the string value of the Enum.
            </summary>
            <param name="strValue">The Value in string represention.</param>
            <param name="value">The value.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ReadOnlyEnumValueCollection.Parse(System.String)">
            <summary>
            Parses the specified name.
            </summary>
            <param name="name">The name.</param>
            <returns>T.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ReadOnlyEnumValueCollection.GetNames">
            <summary>
            Gets the Value Names.
            </summary>
            <returns>System.String[].</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ReadOnlyEnumValueCollection.GetValues">
            <summary>
            Gets the values.
            </summary>
            <returns>T[].</returns>
        </member>
        <member name="P:TwinCAT.TypeSystem.ReadOnlyEnumValueCollection.Item(System.String)">
            <summary>
            Gets or sets the element at the specified index.
            </summary>
            <param name="name">The name of the value</param>
            <returns>EnumValue&lt;T&gt;.</returns>
            <exception cref="T:System.NotImplementedException"></exception>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="T:TwinCAT.TypeSystem.SubItemCollection">
            <summary>
            Class SubItemCollection.
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.SubItemCollection._list">
            <summary>
            The _list
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.SubItemCollection.#ctor(System.Collections.Generic.IEnumerable{TwinCAT.Ads.ITcAdsSubItem})">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.SubItemCollection"/> class.
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.SubItemCollection.IndexOf(TwinCAT.Ads.ITcAdsSubItem)">
            <summary>
            Determines the index of a specific item in the <see cref="T:System.Collections.Generic.IList`1" />.
            </summary>
            <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.IList`1" />.</param>
            <returns>The index of <paramref name="item" /> if found in the list; otherwise, -1.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.SubItemCollection.Insert(System.Int32,TwinCAT.Ads.ITcAdsSubItem)">
            <summary>
            Inserts an item to the <see cref="T:System.Collections.Generic.IList`1" /> at the specified index.
            </summary>
            <param name="index">The zero-based index at which <paramref name="item" /> should be inserted.</param>
            <param name="item">The object to insert into the <see cref="T:System.Collections.Generic.IList`1" />.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.SubItemCollection.RemoveAt(System.Int32)">
            <summary>
            Removes the <see cref="T:System.Collections.Generic.IList`1" /> item at the specified index.
            </summary>
            <param name="index">The zero-based index of the item to remove.</param>
        </member>
        <member name="P:TwinCAT.TypeSystem.SubItemCollection.Item(System.Int32)">
            <summary>
            Gets or sets the element at the specified index.
            </summary>
            <param name="index">The index.</param>
            <returns>ITcAdsSubItem.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.SubItemCollection.Add(TwinCAT.Ads.ITcAdsSubItem)">
            <summary>
            Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
            <param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.SubItemCollection.Clear">
            <summary>
            Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.SubItemCollection.Contains(TwinCAT.Ads.ITcAdsSubItem)">
            <summary>
            Determines whether the <see cref="T:System.Collections.Generic.ICollection`1" /> contains a specific value.
            </summary>
            <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
            <returns>true if <paramref name="item" /> is found in the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.SubItemCollection.CopyTo(TwinCAT.Ads.ITcAdsSubItem[],System.Int32)">
            <summary>
            Copies to.
            </summary>
            <param name="array">The array.</param>
            <param name="arrayIndex">Index of the array.</param>
        </member>
        <member name="P:TwinCAT.TypeSystem.SubItemCollection.Count">
            <summary>
            Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
            <value>The count.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.SubItemCollection.IsReadOnly">
            <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
            </summary>
            <value><c>true</c> if this instance is read only; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.SubItemCollection.Remove(TwinCAT.Ads.ITcAdsSubItem)">
            <summary>
            Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
            <param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
            <returns>true if <paramref name="item" /> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false. This method also returns false if <paramref name="item" /> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1" />.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.SubItemCollection.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.SubItemCollection.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.SubItemCollection.AsReadOnly">
            <summary>
            Gets a read only version of this <see cref="T:TwinCAT.TypeSystem.SubItemCollection" />.
            </summary>
            <returns>ReadOnlySubItemCollection.</returns>
            <value>As read only.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.ReadOnlySubItemCollection">
            <summary>
            Class ReadOnlySubItemCollection.
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.ReadOnlySubItemCollection.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.ReadOnlySubItemCollection"/> class.
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.ReadOnlySubItemCollection.#ctor(System.Collections.Generic.IList{TwinCAT.Ads.ITcAdsSubItem})">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.ReadOnlySubItemCollection"/> class.
            </summary>
            <param name="coll">The coll.</param>
        </member>
        <member name="T:TwinCAT.TypeSystem.ArrayElementSymbolCollection">
            <summary>
            This collection represents the SubItems of an Array
            </summary>
            <remarks>This <see cref="T:TwinCAT.TypeSystem.ISymbolCollection"/> is an optimization for <see cref="T:TwinCAT.TypeSystem.SymbolCollection"/> which doesn't cache the
            contained Elements. Here in the <see cref="T:TwinCAT.TypeSystem.ArrayElementSymbolCollection"/> the array elements will be created 'On-Access'.
            Additionally, this collection is Read-Only.
            </remarks>
        </member>
        <member name="F:TwinCAT.TypeSystem.ArrayElementSymbolCollection._arrayInstance">
            <summary>
            The array instance (can be ArrayInstance, Union Instance or Reference instance!)
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.ArrayElementSymbolCollection._arrayType">
            <summary>
            The array type (Can be Array, Union Array, or Reference to Array)
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.ArrayElementSymbolCollection._symbolFactory">
            <summary>
            The used symbol factory
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayElementSymbolCollection.#ctor(TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.IArrayType,TwinCAT.TypeSystem.ISymbolFactory)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.ArrayElementSymbolCollection"/> class organized with InstancePath.
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.ArrayElementSymbolCollection.Item(System.Int32)">
            <summary>
            Gets the ArrayElementInstance at the specified index.
            </summary>
            <param name="index">The index.</param>
            <returns>ISymbol.</returns>
            <remarks>The Index Setter will throw an exception.</remarks>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="P:TwinCAT.TypeSystem.ArrayElementSymbolCollection.Item(System.String)">
            <summary>
            Gets the Array element instance with the specified instance path.
            </summary>
            <param name="instancePath">The instance path.</param>
            <returns>ISymbol.</returns>
            <exception cref="T:System.ArgumentException">Symbol not found!</exception>
        </member>
        <member name="P:TwinCAT.TypeSystem.ArrayElementSymbolCollection.Count">
            <summary>
            Gets the number of contained array element instances.
            </summary>
            <value>The count.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.ArrayElementSymbolCollection.IsReadOnly">
            <summary>
            Gets a value indicating whether this instance is read only.
            </summary>
            <value><c>true</c> if this instance is read only; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.ArrayElementSymbolCollection.Mode">
            <summary>
            Gets the mode.
            </summary>
            <value>The mode.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayElementSymbolCollection.Add(TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Adds the specified item.
            </summary>
            <param name="item">The item.</param>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayElementSymbolCollection.Clear">
            <summary>
            Clears this instance.
            </summary>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayElementSymbolCollection.Contains(TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Determines whether the specified ArrayElement instance is contained
            </summary>
            <param name="element">The item.</param>
            <returns><c>true</c> if [contains] [the specified item]; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayElementSymbolCollection.Contains(System.String)">
            <summary>
            Determines whether this collection contains the array element with the specified path.
            </summary>
            <param name="instancePath">The instance path.</param>
            <returns><c>true</c> if [contains] [the specified instance path]; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayElementSymbolCollection.ContainsName(System.String)">
            <summary>
            Determines whether this collection contains an ArrayElement with the specified name with indices.
            </summary>
            <param name="instanceNameWithIndices">The instance name with indices.</param>
            <returns><c>true</c> if the specified instance name with indices contains name; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayElementSymbolCollection.CopyTo(TwinCAT.TypeSystem.ISymbol[],System.Int32)">
            <summary>
            Copies to.
            </summary>
            <param name="array">The array.</param>
            <param name="arrayIndex">Index of the array.</param>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayElementSymbolCollection.GetEnumerator">
            <summary>
            Gets the enumerator.
            </summary>
            <returns>IEnumerator&lt;ISymbol&gt;.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayElementSymbolCollection.GetInstance(System.String)">
            <summary>
            Gets the instance.
            </summary>
            <param name="instancePath">The instance path.</param>
            <returns>ISymbol.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayElementSymbolCollection.GetInstanceByName(System.String)">
            <summary>
            Gets the name of the instance by.
            </summary>
            <param name="instanceNameWithIndices">The instance name with indices.</param>
            <returns>IList&lt;ISymbol&gt;.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayElementSymbolCollection.IndexOf(TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Gets the SubIndex of the specified Array Element instance.
            </summary>
            <param name="item">The item.</param>
            <returns>System.Int32.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">item</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayElementSymbolCollection.Insert(System.Int32,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Inserts the specified index.
            </summary>
            <param name="index">The index.</param>
            <param name="item">The item.</param>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayElementSymbolCollection.Remove(TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Removes the specified item.
            </summary>
            <param name="item">The item.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayElementSymbolCollection.RemoveAt(System.Int32)">
            <summary>
            Removes at.
            </summary>
            <param name="index">The index.</param>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayElementSymbolCollection.TryGetInstance(System.String,TwinCAT.TypeSystem.ISymbol@)">
            <summary>
            Tries the get instance.
            </summary>
            <param name="instancePath">The instance path.</param>
            <param name="symbol">The symbol.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayElementSymbolCollection.TryGetInstanceByName(System.String,System.Collections.Generic.IList{TwinCAT.TypeSystem.ISymbol}@)">
            <summary>
            Tries the name of the get instance by.
            </summary>
            <param name="instanceNameWithIndices">The instance name with indices.</param>
            <param name="symbols">The symbols.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayElementSymbolCollection.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Gets the enumerator.
            </summary>
            <returns>IEnumerator.</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.Binder">
            <summary>
            Namspace Binder Base Implementation
            </summary>
            <seealso cref="T:TwinCAT.TypeSystem.IBinder" />
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.Binder.#ctor(TwinCAT.TypeSystem.IInternalSymbolProvider,TwinCAT.TypeSystem.ISymbolFactory,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.Binder"/> class.
            </summary>
            <param name="provider">The symbol provider.</param>
            <param name="symbolFactory">The symbol factory.</param>
            <param name="useVirtualInstances">if set to <c>true</c> [use virtual instances].</param>
        </member>
        <member name="F:TwinCAT.TypeSystem.Binder._provider">
            <summary>
            The symbol provider
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.Binder.Provider">
            <summary>
            Gets the Symbol provider.
            </summary>
            <value>The provider.</value>
        </member>
        <member name="F:TwinCAT.TypeSystem.Binder._symbolFactory">
            <summary>
            The symbol factory
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.Binder._platformPointerSize">
            <summary>
            The platform pointer size
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.Binder.PlatformPointerSize">
            <summary>
            Gets the size of the platform pointer (in Bytes)
            </summary>
            <value>The size of the platform pointer.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.Binder.SetPlatformPointerSize(System.Int32)">
            <summary>
            Sets the size of the platform pointer.
            </summary>
            <param name="sz">The sz.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.Binder.Bind(TwinCAT.TypeSystem.IHierarchicalSymbol)">
            <summary>
            Binds the specified symbol to the Resolver (Registering and linking Parents).
            </summary>
            <param name="subSymbol">The child symbol.</param>
            <returns>the parent Symbol where the subSymbol was bound to</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Binder.createUniquePathName(TwinCAT.TypeSystem.IInstance)">
            <summary>
            Creates an unique path name
            </summary>
            <param name="instance">The instance.</param>
            <returns>System.String.</returns>
        </member>
        <member name="P:TwinCAT.TypeSystem.Binder.UseVirtualInstances">
            <summary>
            Indicates that Virtual (created StructInstances) are used.
            </summary>
            <value>The use virtual instances.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.Binder.RegisterType(TwinCAT.TypeSystem.IDataType)">
            <summary>
            Registers the specified type.
            </summary>
            <param name="type">The type.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.Binder.RegisterTypes(System.Collections.Generic.IEnumerable{TwinCAT.TypeSystem.IDataType})">
            <summary>
            Registers the specified types.
            </summary>
            <param name="types">The type.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.Binder.TryResolveType(System.String,TwinCAT.TypeSystem.IDataType@)">
            <summary>
            Tries to resolve the type (parses it if not found and adds it to the resolver if necessary).
            </summary>
            <param name="name">The name.</param>
            <param name="type">The type.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
            <exception cref="T:System.ArgumentNullException">name</exception>
            <exception cref="T:System.ArgumentException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.Binder.OnTypeGenerated(TwinCAT.TypeSystem.IDataType)">
            <summary>
            Handler function called when a type / types are generated
            </summary>
            <param name="type">The type.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.Binder.OnTypesGenerated(System.Collections.Generic.IEnumerable{TwinCAT.TypeSystem.IDataType})">
            <summary>
            Handler function called when a type / types are generated
            </summary>
            <param name="types">The types.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.Binder.OnTypeResolveError(System.String)">
            <summary>
            Handler function when a type name cannot be resolved.
            </summary>
            <param name="typeName">Name of the type.</param>
        </member>
        <member name="E:TwinCAT.TypeSystem.Binder.TypesGenerated">
            <summary>
            Occurs when new types are generated
            </summary>
        </member>
        <member name="E:TwinCAT.TypeSystem.Binder.TypeResolveError">
            <summary>
            Occurs when a typename cannot be resolved.
            </summary>
        </member>
        <member name="T:TwinCAT.TypeSystem.ArrayIndexIterator">
            <summary>
            Iterator for iterating Indices of an Array Type.
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.TypeSystem.ArrayIndexIterator._lowerBounds">
            <summary>
            Lower bounds
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.ArrayIndexIterator._upperBounds">
            <summary>
            Upper bounds
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.ArrayIndexIterator._zeroShift">
            <summary>
            Aligns the returned indices to 0-basing arrays
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayIndexIterator.#ctor(System.Int32[],System.Int32[])">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.ArrayIndexIterator"/> class.
            </summary>
            <param name="lowerBounds">The lower bounds.</param>
            <param name="upperBounds">The upper bounds.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayIndexIterator.#ctor(System.Array)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.ArrayIndexIterator"/> class.
            </summary>
            <param name="array">The array.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayIndexIterator.#ctor(System.Int32[],System.Int32[],System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.ArrayIndexIterator" /> class.
            </summary>
            <param name="lowerBounds">The lower bounds.</param>
            <param name="upperBounds">The upper bounds.</param>
            <param name="zeroShift">if set to <c>true</c> [zero shift].</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayIndexIterator.#ctor(TwinCAT.TypeSystem.IArrayType,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.ArrayIndexIterator"/> class.
            </summary>
            <param name="arrayType">Type of the array.</param>
            <param name="zeroShift">if set to <c>true</c> [zero shift].</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayIndexIterator.#ctor(TwinCAT.TypeSystem.IArrayType)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.ArrayIndexIterator"/> class.
            </summary>
            <param name="arrayType">Type of the array.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayIndexIterator.getIndexFactors">
            <summary>
            Gets the index factors.
            </summary>
            <returns>System.Int32[].</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayIndexIterator.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayIndexIterator.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.DynamicValueConverter">
            <summary>
            Converter class that convert 'Any' objects.
            </summary>
            <remarks>The <see cref="T:TwinCAT.TypeSystem.DynamicValueConverter"/> adds Struct/Enum/Array creation possibilities to the <see cref="T:TwinCAT.TypeSystem.InstanceValueConverter"/>.</remarks>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicValueConverter.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.DynamicValueConverter"/> class.
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicValueConverter.Unmarshal(TwinCAT.TypeSystem.IAttributedInstance,System.Type,System.Byte[],System.Int32,System.Object@)">
            <summary>
            Converts Bytes to the specified targetType.
            </summary>
            <param name="symbol">The symbol to unmarshal.</param>
            <param name="targetType">Type of the target.</param>
            <param name="data">The data.</param>
            <param name="offset">The offset.</param>
            <param name="value">The value.</param>
            <returns>System.Object.</returns>
            <exception cref="T:System.ArgumentNullException">
            type
            or
            targetType
            or
            data
            </exception>
            <exception cref="T:System.ArgumentNullException">type
            or
            targetType
            or
            data</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicValueConverter.Unmarshal(TwinCAT.TypeSystem.IAttributedInstance,System.Byte[],System.Int32,System.Object@)">
            <summary>
            Converts the specified Raw data to the appropriate typed value (PrimitiveTypes)
            </summary>
            <param name="symbol">The symbol to unmarshal.</param>
            <param name="data">The data.</param>
            <param name="offset">The offset.</param>
            <param name="value">The value.</param>
            <returns>System.Object.</returns>
            <exception cref="T:System.NotSupportedException"></exception>
            <exception cref="T:System.NotSupportedException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicValueConverter.CanMarshal(TwinCAT.TypeSystem.IAttributedInstance,System.Type)">
            <summary>
            Determines whether this instance can marshal the specified symbol.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="valueType">Managed value Type (optional, can be null for primitives, strings or arrays of primitives).</param>
            <returns><c>true</c> if this instance can marshal the specified symbol; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicValueConverter.createValue(TwinCAT.TypeSystem.IDataType,System.Type)">
            <summary>
            Creates an instance o the specified target type.
            </summary>
            <param name="sourceType">Source Type.</param>
            <param name="targetType">Target Type.</param>
            <returns>System.Object.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicValueConverter.InitializeInstanceValue(TwinCAT.TypeSystem.IDataType,System.Text.Encoding,System.Object@,System.Byte[],System.Int32)">
            <summary>
            Initializes the specified targetInstance value with the raw byte data.
            </summary>
            <param name="type">The source symbol.</param>
            <param name="encoding">The encoding.</param>
            <param name="targetInstance">The target instance.</param>
            <param name="data">The data.</param>
            <param name="offset">The offset.</param>
            <exception cref="T:TwinCAT.TypeSystem.MarshalException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicValueConverter.initializeInstanceValue(TwinCAT.TypeSystem.IDataType,System.Text.Encoding,System.Object,System.Type,System.Object,System.Byte[],System.Int32)">
            <summary>
            Initializes the specified target instance with the raw byte data.
            </summary>
            <param name="type">The type.</param>
            <param name="encoding">The forced encoding or NULL.</param>
            <param name="targetInstance">The target instance.</param>
            <param name="targetType">Type of the target.</param>
            <param name="targetMember">The target member.</param>
            <param name="data">The data.</param>
            <param name="offset">The offset.</param>
            <exception cref="T:System.ArgumentException">Type is not an enum type!;type</exception>
            <exception cref="T:System.NotSupportedException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicValueConverter.initializeInstanceValue(System.Object,System.Object,System.Object)">
            <summary>
            Initializes the instance value.
            </summary>
            <param name="instance">The instance.</param>
            <param name="member">The member.</param>
            <param name="value">The value.</param>
            <exception cref="T:System.NotSupportedException"></exception>
        </member>
        <member name="F:TwinCAT.TypeSystem.DynamicValueConverter._checkedTypesDict">
            <summary>
            Cache of already checked 'Any' proxy types.
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicValueConverter.CheckType(TwinCAT.TypeSystem.IDataType,System.Type)">
            <summary>
            Checks the 'Any'/Proxy type.
            </summary>
            <param name="type">The type.</param>
            <param name="targetType">Type of the target.</param>
            <exception cref="T:TwinCAT.TypeSystem.MarshalException">
            </exception>
            <exception cref="T:System.NotSupportedException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicValueConverter.Marshal(TwinCAT.TypeSystem.IAttributedInstance,System.Object)">
            <summary>
            Converts the specified Value of the the Value Instance object to raw bytes.
            </summary>
            <param name="symbol">Type of the data.</param>
            <param name="value">The object.</param>
            <returns>System.Byte[].</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicValueConverter.MarshalSize(TwinCAT.TypeSystem.IAttributedInstance,System.Object)">
            <summary>
            Calculates the MarshalSize of the value.
            </summary>
            <param name="symbol">The type.</param>
            <param name="value">The value.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicValueConverter.Marshal(TwinCAT.TypeSystem.IAttributedInstance,System.Object,System.Byte[],System.Int32)">
            <summary>
            Converts the specified Value of the the Value Instance object to raw bytes.
            </summary>
            <param name="symbol">The Symbol.</param>
            <param name="val">The value.</param>
            <param name="bValue">The b value.</param>
            <param name="offset">The offset.</param>
            <returns>System.Int32.</returns>
            <exception cref="T:System.ArgumentException">Type is not an enum type!;type
            or
            Struct member not found!;type</exception>
            <exception cref="T:System.NotSupportedException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicValueConverter.Marshal(TwinCAT.TypeSystem.IDataType,System.Text.Encoding,System.Object,System.Byte[],System.Int32)">
            <summary>
            Converts the specified Value of the the Value Instance object to raw bytes.
            </summary>
            <param name="type">The type.</param>
            <param name="encoding">The encoding.</param>
            <param name="val">The value.</param>
            <param name="bValue">The b value.</param>
            <param name="offset">The offset.</param>
            <returns>System.Int32.</returns>
            <exception cref="T:System.ArgumentException">Type is not an enum type!;type
            or
            Struct member not found!;type</exception>
            <exception cref="T:System.NotSupportedException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicValueConverter.TryGetManagedType(TwinCAT.TypeSystem.IDataType,System.Type@)">
            <summary>
            Tries to get the corresponding managed type.
            </summary>
            <param name="type">The type.</param>
            <param name="managed">The managed.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicValueConverter.TryGetManagedType(TwinCAT.TypeSystem.IAttributedInstance,System.Type@)">
            <summary>
            Tries to get the corresponding managed type.
            </summary>
            <param name="symbol">The type.</param>
            <param name="managed">The managed.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.ISymbolMarshaller">
            <summary>
            Interface Marshaller / Converter for IDataType Values
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.ISymbolMarshaller.CanMarshal(TwinCAT.TypeSystem.IAttributedInstance,System.Type)">
            <summary>
            Determines whether this instance can marshal the specified symbol.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="valueType">Managed value Type (optional, can be null for primitives, strings or arrays of primitives).</param>
            <returns><c>true</c> if this instance can marshal the specified symbol; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ISymbolMarshaller.Unmarshal(TwinCAT.TypeSystem.IAttributedInstance,System.Byte[],System.Int32,System.Object@)">
            <summary>
            Converts the specified Raw data to the appropriate typed value (PrimitiveTypes)
            </summary>
            <param name="type">The type.</param>
            <param name="data">The data.</param>
            <param name="offset">The offset.</param>
            <param name="value">The value.</param>
            <returns>System.Object.</returns>
            <exception cref="T:System.ArgumentNullException">type
            or
            data</exception>
            <exception cref="T:System.NotSupportedException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.ISymbolMarshaller.Marshal(TwinCAT.TypeSystem.IAttributedInstance,System.Object,System.Byte[],System.Int32)">
            <summary>
            Converts the value instance to raw bytes.
            </summary>
            <param name="symbol">The type.</param>
            <param name="value">The data.</param>
            <param name="bytes">The bytes.</param>
            <param name="offset">The offset.</param>
            <returns>System.Int32.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException"></exception>
            <exception cref="T:System.NotSupportedException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.ISymbolMarshaller.Marshal(TwinCAT.TypeSystem.IAttributedInstance,System.Object)">
            <summary>
            Marshals the specified type.
            </summary>
            <param name="symbol">The type.</param>
            <param name="value">The value.</param>
            <returns>System.Byte[].</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ISymbolMarshaller.MarshalSize(TwinCAT.TypeSystem.IAttributedInstance,System.Object)">
            <summary>
            Marshals the size.
            </summary>
            <param name="symbol">The type.</param>
            <param name="value">The value.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ISymbolMarshaller.TryGetManagedType(TwinCAT.TypeSystem.IDataType,System.Type@)">
            <summary>
            Tries to get the corresponding managed type.
            </summary>
            <param name="type">The type.</param>
            <param name="managed">The managed.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ISymbolMarshaller.TryGetManagedType(TwinCAT.TypeSystem.IAttributedInstance,System.Type@)">
            <summary>
            Tries to get the corresponding managed type.
            </summary>
            <param name="type">The type.</param>
            <param name="managed">The managed.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.IDataTypeMarshaller">
            <summary>
            Interface Marshaller / Converter for IDataType Values
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.IDataTypeMarshaller.Unmarshal(TwinCAT.TypeSystem.IDataType,System.Text.Encoding,System.Byte[],System.Int32,System.Object@)">
            <summary>
            Converts the specified Raw data to the appropriate typed value (PrimitiveTypes)
            </summary>
            <param name="type">The type.</param>
            <param name="encoding">Forced encoding for strings or NULL (Default).</param>
            <param name="data">The data.</param>
            <param name="offset">The offset.</param>
            <param name="value">The value.</param>
            <returns>System.Object.</returns>
            <exception cref="T:System.ArgumentNullException">type
            or
            data</exception>
            <exception cref="T:System.NotSupportedException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.IDataTypeMarshaller.Marshal(TwinCAT.TypeSystem.IDataType,System.Text.Encoding,System.Object,System.Byte[],System.Int32)">
            <summary>
            Converts the value instance to raw bytes.
            </summary>
            <param name="type">The type.</param>
            <param name="encoding">Forced encoding for strings or NULL.</param>
            <param name="value">The data.</param>
            <param name="bytes">The bytes.</param>
            <param name="offset">The offset.</param>
            <returns>System.Int32.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException"></exception>
            <exception cref="T:System.NotSupportedException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.IDataTypeMarshaller.Marshal(TwinCAT.TypeSystem.IDataType,System.Text.Encoding,System.Object)">
            <summary>
            Marshals the specified type.
            </summary>
            <param name="type">The type.</param>
            <param name="encoding">Forced encoding for strings or NULL.</param>
            <param name="value">The value.</param>
            <returns>System.Byte[].</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.IDataTypeMarshaller.MarshalSize(TwinCAT.TypeSystem.IDataType,System.Text.Encoding,System.Object)">
            <summary>
            Marshals the size.
            </summary>
            <param name="type">The type.</param>
            <param name="encoding">Forced encoding for strings or NULL.</param>
            <param name="value">The value.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.IDataTypeMarshaller.TryGetManagedType(TwinCAT.TypeSystem.IDataType,System.Type@)">
            <summary>
            Tries to get the corresponding managed type.
            </summary>
            <param name="type">The type.</param>
            <param name="managed">The managed.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.InstanceValueConverter">
            <summary>
            Symbol Converter marshaller / Value converter
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.TypeSystem.InstanceValueConverter._typeMarshaller">
            <summary>
            The type marshaller
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.InstanceValueConverter.TryGetManagedType(TwinCAT.TypeSystem.IDataType,System.Type@)">
            <summary>
            Tries to get the corresponding managed type.
            </summary>
            <param name="type">The type.</param>
            <param name="managed">The managed.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.InstanceValueConverter.Unmarshal(TwinCAT.TypeSystem.IAttributedInstance,System.Byte[],System.Int32,System.Object@)">
            <summary>
            Unmarshals the specified symbol.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="data">The data.</param>
            <param name="offset">The offset.</param>
            <param name="value">The value.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.DataTypeMarshaller">
            <summary>
            DataType marshaller / Value converter
            </summary>
            <remarks>
            This class adds IDataType capabilities on top of the <see cref="T:TwinCAT.TypeSystem.PrimitiveTypeConverter"/>.
            </remarks>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.DataTypeMarshaller.CanMarshal(TwinCAT.TypeSystem.IDataType,System.Type)">
            <summary>
            Determines whether this instance can marshal the specified data type.
            </summary>
            <param name="dataType">Type of the data.</param>
            <param name="valueType">Type of the value.</param>
            <returns><c>true</c> if this instance can marshal the specified data type; otherwise, <c>false</c>.</returns>
            <exception cref="T:System.ArgumentNullException">dataType</exception>
            <exception cref="T:System.ArgumentException">Marshalling mismatch! - valueType</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DataTypeMarshaller.Convert(System.Object,System.Type)">
            <summary>
            Converts the specified source value to the specified target type.
            </summary>
            <param name="sourceValue">The source value.</param>
            <param name="targetType">Target type.</param>
            <returns>Value as targetType (System.Object).</returns>
            <exception cref="T:System.ArgumentNullException">tp</exception>
            <exception cref="T:TwinCAT.TypeSystem.MarshalException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DataTypeMarshaller.Unmarshal(TwinCAT.TypeSystem.IDataType,System.Text.Encoding,System.Byte[],System.Int32,System.Object@)">
            <summary>
            Converts the specified Raw data to the appropriate typed value (PrimitiveTypes)
            </summary>
            <param name="type">The type.</param>
            <param name="encoding">Forced encoding for strings or NULL (Default).</param>
            <param name="data">The data.</param>
            <param name="offset">The offset.</param>
            <param name="value">The value.</param>
            <returns>System.Object.</returns>
            <exception cref="T:System.ArgumentNullException">type
            or
            data</exception>
            <exception cref="T:System.NotSupportedException">
            </exception>
            <exception cref="T:System.ArgumentNullException">type
            or
            data</exception>
            <exception cref="T:System.NotSupportedException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DataTypeMarshaller.UnmarshalBits(TwinCAT.TypeSystem.IDataType,System.Int32,System.Byte[],System.Object@)">
            <summary>
            Converts byte data to an bitset object (bit access)
            </summary>
            <param name="type">The datatype.</param>
            <param name="bitOffset">The bit offset.</param>
            <param name="data">The data.</param>
            <param name="result">The result.</param>
            <returns>System.Object.</returns>
            <exception cref="T:System.ArgumentNullException">type
            or
            data</exception>
            <exception cref="T:System.ArgumentException">BitSize not supported! BitSize must be 1 or dividable by 8!</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">type</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DataTypeMarshaller.MarshalSize(TwinCAT.TypeSystem.IDataType,System.Text.Encoding,System.Object)">
            <summary>
            Calculates the MarshalSize of the value.
            </summary>
            <param name="type">The type.</param>
            <param name="encoding">Forced encoding for strings or NULL.</param>
            <param name="value">The value.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DataTypeMarshaller.Marshal(TwinCAT.TypeSystem.IDataType,System.Text.Encoding,System.Object,System.Byte[],System.Int32)">
            <summary>
            Converts the value instance to raw bytes.
            </summary>
            <param name="type">The type.</param>
            <param name="encoding">Forced encoding for strings or NULL.</param>
            <param name="value">The data.</param>
            <param name="bytes">The bytes.</param>
            <param name="offset">The offset.</param>
            <returns>System.Int32.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException"></exception>
            <exception cref="T:System.NotSupportedException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DataTypeMarshaller.Marshal(TwinCAT.TypeSystem.IDataType,System.Text.Encoding,System.Object)">
            <summary>
            Converts the specified value to raw bytes
            </summary>
            <param name="type">The type.</param>
            <param name="encoding">The forced encoding or NULL.</param>
            <param name="data">The data.</param>
            <returns>System.Byte[].</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.EnumValueFactory">
            <summary>
            Factory class for Enum Values.
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueFactory.Create(TwinCAT.Ads.AdsDatatypeId,TwinCAT.Ads.Internal.AdsEnumInfoEntry)">
            <summary>
            Creates the specified <see cref="T:TwinCAT.TypeSystem.IEnumValue"/>
            </summary>
            <param name="baseTypeId">Id of the enum base type.</param>
            <param name="enumInfo">The entry.</param>
            <returns>IEnumGenericValue.</returns>
            <exception cref="T:System.ArgumentNullException">entry</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">baseTypeId</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueFactory.Create(TwinCAT.TypeSystem.IEnumType,System.Object)">
            <summary>
            Creates the specified enum type.
            </summary>
            <param name="enumType">Type of the enum.</param>
            <param name="value">The value.</param>
            <returns>IEnumValue.</returns>
            <exception cref="T:System.NotSupportedException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueFactory.Create(TwinCAT.TypeSystem.IEnumType,System.Byte[],System.Int32)">
            <summary>
            Creates the specified enum type.
            </summary>
            <param name="enumType">Type of the enum.</param>
            <param name="bytes">The bytes.</param>
            <param name="offset">The offset.</param>
            <returns>IEnumValue.</returns>
            <exception cref="T:System.ArgumentException">Wrong Enum base type.</exception>
        </member>
        <member name="T:TwinCAT.TypeSystem.EnumTypeConverter`1">
            <summary>
            Generic type converter class for Enum values
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumTypeConverter`1.GetEntry(TwinCAT.Ads.ITcAdsDataType,`0)">
            <summary>
            Converts the primitive value into the appropriate <see cref="T:TwinCAT.TypeSystem.EnumValue`1"/>
            </summary>
            <param name="enumType">Enum base data type.</param>
            <param name="value">The value as primitive.</param>
            <returns>EnumValue&lt;T&gt;.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumTypeConverter`1.GetEntry(TwinCAT.Ads.ITcAdsDataType,System.String)">
            <summary>
            Gets the enum value object corresponding to the specified string value.
            </summary>
            <param name="enumType">Enum base type.</param>
            <param name="value">The value (in string representation).</param>
            <returns>EnumValue&lt;T&gt;.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumTypeConverter`1.TryGetName(TwinCAT.Ads.ITcAdsDataType,`0,System.String@)">
            <summary>
            Tries to get the string representation of the enum value.
            </summary>
            <param name="enumType">Base type of the enum.</param>
            <param name="value">The primitive value.</param>
            <param name="nameValue">String representation of the value.</param>
            <returns><c>true</c> if valid, <c>false</c> otherwise.</returns>
            <exception cref="T:System.ArgumentNullException">
            enumType
            or
            value
            </exception>
            <exception cref="T:System.ArgumentException">Specified type is not an enum type!;enumType</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumTypeConverter`1.TryGetValue(TwinCAT.Ads.ITcAdsDataType,System.String,`0@)">
            <summary>
            Tries to get the primitive value of the string represented value
            </summary>
            <param name="enumType">Base type of the enum.</param>
            <param name="stringValue">The string value.</param>
            <param name="value">The value as primitive.</param>
            <returns><c>true</c> if valid, <c>false</c> otherwise.</returns>
            <exception cref="T:System.ArgumentNullException">enumType</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">stringValue</exception>
            <exception cref="T:System.ArgumentException">Specified type is not an enum type!;enumType</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumTypeConverter`1.ToValue(TwinCAT.Ads.ITcAdsDataType,System.String)">
            <summary>
            Converts the string represented value to its primitive value.
            </summary>
            <param name="enumType">Base type of the enum.</param>
            <param name="stringValue">The string value.</param>
            <returns>The value as primitive.</returns>
            <exception cref="T:System.ArgumentNullException">
            enumType
            or
            value
            </exception>
            <exception cref="T:System.ArgumentException">Specified type is not an enum type!;enumType</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">stringValue</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumTypeConverter`1.ToString(TwinCAT.Ads.ITcAdsDataType,`0)">
            <summary>
            Converts the primitive value of the specified enum type into its string representation.
            </summary>
            <param name="enumType">Base type of the enum.</param>
            <param name="val">The value as primitive.</param>
            <returns>A <see cref="T:System.String" /> that represents the value.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">val</exception>
        </member>
        <member name="T:TwinCAT.TypeSystem.EnumValueConverter">
            <summary>
            Converter for EnumValues
            </summary>
            <remarks>Converts string / object values into the other representation form.
            </remarks>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueConverter.ToString(TwinCAT.Ads.ITcAdsDataType,System.Object)">
            <summary>
            Returns the value as string
            </summary>
            <param name="dataType">Type of the data.</param>
            <param name="value">The value as primitive type</param>
            <returns>A <see cref="T:System.String" /> that represents the value.</returns>
            <exception cref="T:System.ArgumentException">Wrong data type!</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.EnumValueConverter.ToValue(TwinCAT.Ads.ITcAdsDataType,System.String)">
            <summary>
            Converts the string value representation into its primitive type
            </summary>
            <param name="dataType">Type of the data.</param>
            <param name="value">The value.</param>
            <returns>System.Object.</returns>
            <exception cref="T:System.ArgumentException">Wrong data type!</exception>
        </member>
        <member name="T:TwinCAT.TypeSystem.DynamicSymbolsContainer">
            <summary>
            Dynamic (Expandable) Symbols collection.
            </summary>
            <remarks>The <see cref="T:TwinCAT.TypeSystem.DynamicSymbolsContainer" /> collection adds dynamically its child Symbols as Members (for access like "Main.Symbol")</remarks>
        </member>
        <member name="F:TwinCAT.TypeSystem.DynamicSymbolsContainer._symbols">
            <summary>
            Internal Symbol Collection
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbolsContainer.#ctor(TwinCAT.TypeSystem.Generic.SymbolCollection{TwinCAT.TypeSystem.ISymbol})">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.DynamicSymbolsContainer" /> class (for internal use only)
            </summary>
            <param name="symbols">The symbols.</param>
            <exception cref="T:System.ArgumentNullException">symbols</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbolsContainer.GetDynamicMemberNames">
            <summary>
            Returns the enumeration of all dynamic member names.
            </summary>
            <returns>A sequence that contains dynamic member names.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbolsContainer.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" /> 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 Console.WriteLine(sampleObject.SampleProperty) statement, where sampleObject is an instance of the class derived from the <see cref="T:System.Dynamic.DynamicObject" /> 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 <paramref name="result" />.</param>
            <returns>true if the operation is successful; otherwise, false. If this method returns false, the run-time binder of the language determines the behavior. (In most cases, a run-time exception is thrown.)</returns>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicSymbolsContainer.Item(System.String)">
            <summary>
            Gets the <see cref="T:TwinCAT.TypeSystem.DynamicSymbol" /> with the specified name.
            </summary>
            <param name="name">The name.</param>
            <returns>DynamicSymbol.</returns>
            <exception cref="T:System.Collections.Generic.KeyNotFoundException">Symbol name not found in DynamicSymbols collection!</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbolsContainer.TryGetInstance(System.String,TwinCAT.TypeSystem.ISymbol@)">
            <summary>
            Tries to get the <see cref="T:TwinCAT.TypeSystem.IInstance" />. of the specified path.
            </summary>
            <param name="instanceSpecifier">The instance path or Instance Name (dependent of <see cref="P:TwinCAT.TypeSystem.Generic.InstanceCollection`1.Mode"/> setting)</param>
            <param name="symbol">The symbol.</param>
            <returns><c>true</c> if the <see cref="T:TwinCAT.TypeSystem.IInstance" /> is found; otherwise, <c>false</c></returns>
            <exception cref="T:System.ArgumentNullException">instancePath</exception>
            <exception cref="T:System.ArgumentException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbolsContainer.TryGetInstanceHierarchically(System.String,TwinCAT.TypeSystem.ISymbol@)">
            <summary>
            Tries to get the Symbol Hierarchically from a dotted instance path.
            </summary>
            <param name="instancePath">The instance path.</param>
            <param name="symbol">The symbol.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
            <remarks>If we have provider.SymbolsInternal root object, the Roots are organized from different (virtual) namespaces.
            The need is to find the symbol independent independent of the root has a dotted instance path, or it is organized (bound) in a ChildInstance level.
            </remarks>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbolsContainer.GetEnumerator">
            <summary>
            Gets the enumerator.
            </summary>
            <returns>A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbolsContainer.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.DynamicArrayInstance">
            <summary>
            Dynamic Array Instance
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicArrayInstance.#ctor(TwinCAT.TypeSystem.IArrayInstance)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.DynamicArrayInstance"/> class.
            </summary>
            <param name="symbol">The symbol.</param>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicArrayInstance.Elements">
            <summary>
            Gets the contained Array Elements as read only collection.
            </summary>
            <value>
            The elements.
            </value>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicArrayInstance.Item(System.Int32[])">
            <summary>
            Gets the <see cref="T:TwinCAT.TypeSystem.ISymbol"/> with the specified indices.
            </summary>
            <param name="indices">The indices.</param>
            <returns>ISymbol.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">indices</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicArrayInstance.TryGetElement(System.Int32[],TwinCAT.TypeSystem.ISymbol@)">
            <summary>
            Tries to get the array element
            </summary>
            <param name="indices">The indices.</param>
            <param name="symbol">The found Array element symbol (out-parameter).</param>
            <returns>true if found, false if the indices specifiers is out-of-range.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicArrayInstance.TryGetElement(System.Collections.Generic.IList{System.Int32[]},TwinCAT.TypeSystem.ISymbol@)">
            <summary>
            Tries to get the array element with the specified indices (jagged array support).
            </summary>
            <param name="jaggedIndices">The jagged indices list.</param>
            <param name="symbol">The symbol.</param>
            <returns>true if found, false if the jagged indices specifiers is out-of-range.</returns>
            <exception cref="T:System.ArgumentNullException">jaggedIndices</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">jaggedIndices</exception>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicArrayInstance.Dimensions">
            <summary>
            Gets the dimensions as read only collection.
            </summary>
            <value>The dimensions.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicArrayInstance.ElementType">
            <summary>
            Gets the type of the contained elements.
            </summary>
            <value>The type of the element.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicArrayInstance.TryGetIndex(System.Dynamic.GetIndexBinder,System.Object[],System.Object@)">
            <summary>
            Provides the implementation for operations that get a value by index. Classes derived from the <see cref="T:System.Dynamic.DynamicObject" /> class can override this method to specify dynamic behavior for indexing operations.
            </summary>
            <param name="binder">Provides information about the operation.</param>
            <param name="indexes">The indexes that are used in the operation. For example, for the sampleObject[3] operation in C# (sampleObject(3) in Visual Basic), where sampleObject is derived from the DynamicObject class, <paramref name="indexes" />[0] is equal to 3.</param>
            <param name="result">The result of the index operation.</param>
            <returns>true if the operation is successful; otherwise, false. If this method returns false, the run-time binder of the language determines the behavior. (In most cases, a run-time exception is thrown.)</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicArrayInstance.TryGetIndex(TwinCAT.TypeSystem.DynamicSymbol,TwinCAT.TypeSystem.IArrayType,System.Dynamic.GetIndexBinder,System.Object[],System.Object@)">
            <summary>
            Provides the implementation for operations that get a value by index. Classes derived from the <see cref="T:System.Dynamic.DynamicObject" /> class can override this method to specify dynamic behavior for indexing operations.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="arrayType">Type of the array.</param>
            <param name="binder">Provides information about the operation.</param>
            <param name="indexes">The indexes that are used in the operation. For example, for the sampleObject[3] operation in C# (sampleObject(3) in Visual Basic), where sampleObject is derived from the DynamicObject class, <paramref name="indexes" />[0] is equal to 3.</param>
            <param name="result">The result of the index operation.</param>
            <returns>true if the operation is successful; otherwise, false. If this method returns false, the run-time binder of the language determines the behavior. (In most cases, a run-time exception is thrown.)</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicArrayInstance.TrySetIndex(System.Dynamic.SetIndexBinder,System.Object[],System.Object)">
            <summary>
            Provides the implementation for operations that set a value by index. Classes derived from the <see cref="T:System.Dynamic.DynamicObject" /> class can override this method to specify dynamic behavior for operations that access objects by a specified index.
            </summary>
            <param name="binder">Provides information about the operation.</param>
            <param name="indexes">The indexes that are used in the operation. For example, for the sampleObject[3] = 10 operation in C# (sampleObject(3) = 10 in Visual Basic), where sampleObject is derived from the <see cref="T:System.Dynamic.DynamicObject" /> class, <paramref name="indexes[][]" /> is equal to 3.</param>
            <param name="value">The value to set to the object that has the specified index. For example, for the sampleObject[3] = 10 operation in C# (sampleObject(3) = 10 in Visual Basic), where sampleObject is derived from the <see cref="T:System.Dynamic.DynamicObject" /> class, <paramref name="value" /> is equal to 10.</param>
            <returns>true if the operation is successful; otherwise, false. If this method returns false, 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:TwinCAT.TypeSystem.DynamicOversamplingArrayInstance">
            <summary>
            Dynamic Array Instance
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicOversamplingArrayInstance.#ctor(TwinCAT.TypeSystem.IOversamplingArrayInstance)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.DynamicOversamplingArrayInstance"/> class.
            </summary>
            <param name="symbol">The symbol.</param>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicOversamplingArrayInstance.OversamplingElement">
            <summary>
            Gets the oversampling element.
            </summary>
            <value>The oversampling element.</value>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="T:TwinCAT.TypeSystem.DynamicUnionInstance">
            <summary>
            Dynamic union instance
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicUnionInstance.#ctor(TwinCAT.TypeSystem.IUnionInstance)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.DynamicUnionInstance"/> class.
            </summary>
            <param name="unionInstance">The struct instance.</param>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicUnionInstance.FieldInstances">
            <summary>
            Gets the member instances of the <see cref="T:TwinCAT.TypeSystem.IStructInstance">Struct Instance</see>.
            </summary>
            <value>
            The member instances.
            </value>
        </member>
        <member name="F:TwinCAT.TypeSystem.DynamicUnionInstance.normalizedDict">
            <summary>
            Dictionary of normalized Instance Names
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicUnionInstance.GetDynamicMemberNames">
            <summary>
            Returns the enumeration of all dynamic member names.
            </summary>
            <returns>A sequence that contains dynamic member names.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicUnionInstance.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" /> 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 Console.WriteLine(sampleObject.SampleProperty) statement, where sampleObject is an instance of the class derived from the <see cref="T:System.Dynamic.DynamicObject" /> 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 <paramref name="result" />.</param>
            <returns>true if the operation is successful; otherwise, false. If this method returns false, the run-time binder of the language determines the behavior. (In most cases, a run-time exception is thrown.)</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicUnionInstance.TrySetMember(System.Dynamic.SetMemberBinder,System.Object)">
            <summary>
            Provides the implementation for operations that set member values. Classes derived from the <see cref="T:System.Dynamic.DynamicObject" /> class can override this method to specify dynamic behavior for operations such as setting 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 to which the value is being assigned. For example, for the statement sampleObject.SampleProperty = "Test", where sampleObject is an instance of the class derived from the <see cref="T:System.Dynamic.DynamicObject" /> class, binder.Name returns "SampleProperty". The binder.IgnoreCase property specifies whether the member name is case-sensitive.</param>
            <param name="value">The value to set to the member. For example, for sampleObject.SampleProperty = "Test", where sampleObject is an instance of the class derived from the <see cref="T:System.Dynamic.DynamicObject" /> class, the <paramref name="value" /> is "Test".</param>
            <returns>true if the operation is successful; otherwise, false. If this method returns false, 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:TwinCAT.TypeSystem.DynamicStructInstance">
            <summary>
            Dynamic struct instance
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicStructInstance.#ctor(TwinCAT.TypeSystem.IStructInstance)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.DynamicStructInstance"/> class.
            </summary>
            <param name="structInstance">The struct instance.</param>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicStructInstance.MemberInstances">
            <summary>
            Gets the member instances of the <see cref="T:TwinCAT.TypeSystem.IStructInstance">Struct Instance</see>.
            </summary>
            <value>
            The member instances.
            </value>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicStructInstance.HasRpcMethods">
            <summary>
            Gets a value indicating whether this instance has RPC methods
            </summary>
            <value><c>true</c> if this instance has RPC methods; otherwise, <c>false</c>.</value>
            <remarks>If the struct instance supports RPC Methods, then the instance class is also
            supporting <see cref="T:TwinCAT.TypeSystem.IRpcStructInstance" /></remarks>
            <seealso cref="T:TwinCAT.TypeSystem.IRpcStructInstance"/>
            <seealso cref="T:TwinCAT.TypeSystem.IRpcMethod"/>
            <seealso cref="T:TwinCAT.TypeSystem.IRpcMethodParameter"/>
        </member>
        <member name="F:TwinCAT.TypeSystem.DynamicStructInstance.normalizedDict">
            <summary>
            Dictionary of normalized Instance Names
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicStructInstance.GetDynamicMemberNames">
            <summary>
            Returns the enumeration of all dynamic member names.
            </summary>
            <returns>A sequence that contains dynamic member names.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicStructInstance.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" /> 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 Console.WriteLine(sampleObject.SampleProperty) statement, where sampleObject is an instance of the class derived from the <see cref="T:System.Dynamic.DynamicObject" /> 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 <paramref name="result" />.</param>
            <returns>true if the operation is successful; otherwise, false. If this method returns false, the run-time binder of the language determines the behavior. (In most cases, a run-time exception is thrown.)</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicStructInstance.TrySetMember(System.Dynamic.SetMemberBinder,System.Object)">
            <summary>
            Provides the implementation for operations that set member values. Classes derived from the <see cref="T:System.Dynamic.DynamicObject" /> class can override this method to specify dynamic behavior for operations such as setting 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 to which the value is being assigned. For example, for the statement sampleObject.SampleProperty = "Test", where sampleObject is an instance of the class derived from the <see cref="T:System.Dynamic.DynamicObject" /> class, binder.Name returns "SampleProperty". The binder.IgnoreCase property specifies whether the member name is case-sensitive.</param>
            <param name="value">The value to set to the member. For example, for sampleObject.SampleProperty = "Test", where sampleObject is an instance of the class derived from the <see cref="T:System.Dynamic.DynamicObject" /> class, the <paramref name="value" /> is "Test".</param>
            <returns>true if the operation is successful; otherwise, false. If this method returns false, 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:TwinCAT.TypeSystem.DynamicAliasInstance">
            <summary>
            Class DynamicAliasInstance. This class cannot be inherited.
            </summary>
            <seealso cref="T:TwinCAT.TypeSystem.DynamicSymbol" />
            <seealso cref="T:TwinCAT.TypeSystem.IAliasInstance" />
        </member>
        <member name="F:TwinCAT.TypeSystem.DynamicAliasInstance.normalizedDict">
            <summary>
            Dictionary of normalized Instance Names (only for Struct aliases)
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.DynamicAliasInstance.resolvedAlias">
            <summary>
            The resolved alias type
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicAliasInstance.#ctor(TwinCAT.TypeSystem.IAliasInstance)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.DynamicAliasInstance"/> class.
            </summary>
            <param name="aliasInstance">The alias instance.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicAliasInstance.GetDynamicMemberNames">
            <summary>
            Returns the enumeration of all dynamic member names.
            </summary>
            <returns>A sequence that contains dynamic member names.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicAliasInstance.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" /> 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 Console.WriteLine(sampleObject.SampleProperty) statement, where sampleObject is an instance of the class derived from the <see cref="T:System.Dynamic.DynamicObject" /> 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 <paramref name="result" />.</param>
            <returns>true if the operation is successful; otherwise, false. If this method returns false, the run-time binder of the language determines the behavior. (In most cases, a run-time exception is thrown.)</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicAliasInstance.TrySetMember(System.Dynamic.SetMemberBinder,System.Object)">
            <summary>
            Provides the implementation for operations that set member values. Classes derived from the <see cref="T:System.Dynamic.DynamicObject" /> class can override this method to specify dynamic behavior for operations such as setting 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 to which the value is being assigned. For example, for the statement sampleObject.SampleProperty = "Test", where sampleObject is an instance of the class derived from the <see cref="T:System.Dynamic.DynamicObject" /> class, binder.Name returns "SampleProperty". The binder.IgnoreCase property specifies whether the member name is case-sensitive.</param>
            <param name="value">The value to set to the member. For example, for sampleObject.SampleProperty = "Test", where sampleObject is an instance of the class derived from the <see cref="T:System.Dynamic.DynamicObject" /> class, the <paramref name="value" /> is "Test".</param>
            <returns>true if the operation is successful; otherwise, false. If this method returns false, 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="M:TwinCAT.TypeSystem.DynamicAliasInstance.TryGetIndex(System.Dynamic.GetIndexBinder,System.Object[],System.Object@)">
            <summary>
            Provides the implementation for operations that get a value by index. Classes derived from the <see cref="T:System.Dynamic.DynamicObject" /> class can override this method to specify dynamic behavior for indexing operations.
            </summary>
            <param name="binder">Provides information about the operation.</param>
            <param name="indexes">The indexes that are used in the operation. For example, for the sampleObject[3] operation in C# (sampleObject(3) in Visual Basic), where sampleObject is derived from the DynamicObject class, <paramref name="indexes" />[0] is equal to 3.</param>
            <param name="result">The result of the index operation.</param>
            <returns>true if the operation is successful; otherwise, false. If this method returns false, the run-time binder of the language determines the behavior. (In most cases, a run-time exception is thrown.)</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicAliasInstance.TrySetIndex(System.Dynamic.SetIndexBinder,System.Object[],System.Object)">
            <summary>
            Provides the implementation for operations that set a value by index. Classes derived from the <see cref="T:System.Dynamic.DynamicObject" /> class can override this method to specify dynamic behavior for operations that access objects by a specified index.
            </summary>
            <param name="binder">Provides information about the operation.</param>
            <param name="indexes">The indexes that are used in the operation. For example, for the sampleObject[3] = 10 operation in C# (sampleObject(3) = 10 in Visual Basic), where sampleObject is derived from the <see cref="T:System.Dynamic.DynamicObject" /> class, <paramref name="indexes[][]" /> is equal to 3.</param>
            <param name="value">The value to set to the object that has the specified index. For example, for the sampleObject[3] = 10 operation in C# (sampleObject(3) = 10 in Visual Basic), where sampleObject is derived from the <see cref="T:System.Dynamic.DynamicObject" /> class, <paramref name="value" /> is equal to 10.</param>
            <returns>true if the operation is successful; otherwise, false. If this method returns false, 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:TwinCAT.TypeSystem.DynamicRpcStructInstance">
            <summary>
            Dynamic struct instance with RPC Methods.
            </summary>
            <seealso cref="T:TwinCAT.TypeSystem.DynamicSymbol"/>
            <seealso cref="T:TwinCAT.TypeSystem.IStructInstance"/>
            <seealso cref="T:TwinCAT.TypeSystem.IRpcStructInstance"/>
            <seealso cref="T:TwinCAT.TypeSystem.IRpcCallableInstance"/>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicRpcStructInstance.#ctor(TwinCAT.TypeSystem.IRpcStructInstance)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.DynamicRpcStructInstance"/> class.
            </summary>
            <param name="structInstance">The struct instance.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicRpcStructInstance.InvokeRpcMethod(System.String,System.Object[])">
            <summary>
            Invokes the specified method.
            </summary>
            <param name="methodName">Name of the method.</param>
            <param name="parameters">The parameters.</param>
            <returns>The return value of the RPC Method</returns>
            <example>
              <code language="ST" title="RPC Method definition and implementation">
            (* Declaration *)
            {attribute 'TcRpcEnable'}
            METHOD RpcMethod1 : INT
            VAR_INPUT
            i1 : INT;
            END_VAR
            (* Implementation *)
            RpcMethod1 := i1 + 1;
            </code>
            </example>
            <remarks>To indicate a PLC Method for remote ads access, the attribute 'TcRpcEnable' must be declared on
            the method declaration (see example).</remarks>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicRpcStructInstance.GetDynamicMemberNames">
            <summary>
            Gets the dynamic member names.
            </summary>
            <returns>IEnumerable&lt;System.String&gt;.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicRpcStructInstance.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" /> 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 Console.WriteLine(sampleObject.SampleProperty) statement, where sampleObject is an instance of the class derived from the <see cref="T:System.Dynamic.DynamicObject" /> 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 <paramref name="result" />.</param>
            <returns>true if the operation is successful; otherwise, false. If this method returns false, the run-time binder of the language determines the behavior. (In most cases, a run-time exception is thrown.)</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicRpcStructInstance.TrySetMember(System.Dynamic.SetMemberBinder,System.Object)">
            <summary>
            Provides the implementation for operations that set member values. Classes derived from the <see cref="T:System.Dynamic.DynamicObject" /> class can override this method to specify dynamic behavior for operations such as setting 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 to which the value is being assigned. For example, for the statement sampleObject.SampleProperty = "Test", where sampleObject is an instance of the class derived from the <see cref="T:System.Dynamic.DynamicObject" /> class, binder.Name returns "SampleProperty". The binder.IgnoreCase property specifies whether the member name is case-sensitive.</param>
            <param name="value">The value to set to the member. For example, for sampleObject.SampleProperty = "Test", where sampleObject is an instance of the class derived from the <see cref="T:System.Dynamic.DynamicObject" /> class, the <paramref name="value" /> is "Test".</param>
            <returns>true if the operation is successful; otherwise, false. If this method returns false, 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="M:TwinCAT.TypeSystem.DynamicRpcStructInstance.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" /> 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" /> 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 sampleObject.SampleMethod(100), where sampleObject is derived from the <see cref="T:System.Dynamic.DynamicObject" /> class, <paramref name="args[][]" /> is equal to 100.</param>
            <param name="result">The result of the member invocation.</param>
            <returns>true if the operation is successful; otherwise, false. If this method returns false, 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="M:TwinCAT.TypeSystem.DynamicRpcStructInstance.TryInvokeRpcMethod(System.String,System.Object[],System.Object@)">
            <summary>
            Tries to invoke the specified method.
            </summary>
            <param name="methodName">Name of the method.</param>
            <param name="args">The arguments.</param>
            <param name="result">The result.</param>
            <returns><c>true</c> if the call succeeds, <c>false</c> otherwise.</returns>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicRpcStructInstance.InvokeRpcMethod(System.String,System.Object[],System.Object[]@)">
            <summary>
            Invokes the specified RPC Method
            </summary>
            <param name="methodName">The method name.</param>
            <param name="inParameters">The input parameters or NULL</param>
            <param name="outParameters">The output parameters.</param>
            <returns>The return value of the Method (as object).</returns>
            <remarks>
            Because this overload doesn't provide any <see cref="T:TwinCAT.TypeSystem.AnyTypeSpecifier"/> specifications, only primitive datatypes will be correctly marshalled
            by this method. Complex types will fall back to byte[] arrays.
            </remarks>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV2VirtualTree.cs" region="CODE_SAMPLE_RPCCALL" />
            </example>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicRpcStructInstance.InvokeRpcMethod(System.String,System.Object[],TwinCAT.TypeSystem.AnyTypeSpecifier[],TwinCAT.TypeSystem.AnyTypeSpecifier,System.Object[]@)">
            <summary>
            Invokes the specified RPC Method
            </summary>
            <param name="methodName">The method name.</param>
            <param name="inParameters">The parameters.</param>
            <param name="outSpecifiers">The out specifiers (specifiying the out types) or NULL.</param>
            <param name="retSpecifier">The ret specifier (specifiying the return value) or NULL.</param>
            <param name="outParameters">The out parameters.</param>
            <returns>The return value of the Method (as object).</returns>
            <remarks>The RpcMethod optionally support In-Parameters, Out-Parameters and Return values. Therefore the parameters <paramref name="inParameters"/>, <paramref name="outParameters"/>, <paramref name="outSpecifiers"/>, <paramref name="retSpecifier"/>
            are allowed to be empty or NULL.
            In case of using primitive datatypes, the type specifier parameters (<paramref name="outSpecifiers"/> and <paramref name="retSpecifier"/>) are not necessary and should not be set.
            </remarks>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV2VirtualTree.cs" region="CODE_SAMPLE_RPCCALL" />
            </example>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicRpcStructInstance.TryInvokeRpcMethod(System.String,System.Object[],System.Object[]@,System.Object@)">
            <summary>
            Invokes the specified RPC Method
            </summary>
            <param name="methodName">The method name.</param>
            <param name="inParameters">The parameters.</param>
            <param name="retValue">The return value of the RPC method as object.</param>
            <param name="outParameters">The out parameters.</param>
            <returns>The result value of the call (ErrorCode). 0 means Succeeded.</returns>
            <remarks>
            Because this overload doesn't provide any <see cref="T:TwinCAT.TypeSystem.AnyTypeSpecifier"/> specifications, only primitive datatypes will be correctly marshalled
            by this method. Complex types will fall back to byte[] arrays.
            </remarks>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV2VirtualTree.cs" region="CODE_SAMPLE_RPCCALL" />
            </example>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicRpcStructInstance.TryInvokeRpcMethod(System.String,System.Object[],TwinCAT.TypeSystem.AnyTypeSpecifier[],TwinCAT.TypeSystem.AnyTypeSpecifier,System.Object[]@,System.Object@)">
            <summary>
            Invokes the the specified RpcMethod of the <see cref="T:TwinCAT.TypeSystem.IRpcCallableInstance"/>.
            </summary>
            <param name="methodName">Name of the method.</param>
            <param name="inParameters">The parameters.</param>
            <param name="outSpecifiers">The out specifiers (specifying the out types) or NULL.</param>
            <param name="retSpecifier">The ret specifier (specifying the return value) or NULL.</param>
            <param name="outParameters">The out parameters.</param>
            <param name="retValue">The return value of the RPC method./&gt;</param>
            <returns>AdsErrorCode.</returns>
            <remarks>The RpcMethod optionally support In-Parameters, Out-Parameters and Return values. Therefore the parameters <paramref name="inParameters" />, <paramref name="outParameters" />, <paramref name="outSpecifiers" />, <paramref name="retSpecifier" />
            are allowed to be empty or NULL.
            In case of using primitive datatypes, the type specifier parameters (<paramref name="outSpecifiers" /> and <paramref name="retSpecifier" />) are not necessary and should not be set.
            </remarks>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV2VirtualTree.cs" region="CODE_SAMPLE_RPCCALL" />
            </example>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicRpcStructInstance.RpcMethods">
            <summary>
            Gets the Method descriptions for the <see cref="T:TwinCAT.TypeSystem.IRpcCallableType" />
            </summary>
            <value>The methods.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.DynamicVirtualStructInstance">
            <summary>
            Dynamic struct instance
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicVirtualStructInstance.#ctor(TwinCAT.TypeSystem.IVirtualStructInstance)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.DynamicStructInstance"/> class.
            </summary>
            <param name="structInstance">The struct instance.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicVirtualStructInstance.AddMember(TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.IVirtualStructInstance)">
            <summary>
            Adds an member instance.
            </summary>
            <param name="memberInstance">The member instance.</param>
            <param name="parent">The parent struct instance. Usually the this pointer.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicVirtualStructInstance.OnReadAnyValue(System.Type)">
            <summary>
            Handler function for reading ADS 'Any' Values.
            </summary>
            <param name="managedType">Managed type to read.</param>
            <returns>System.Object.</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.DynamicReferenceInstance">
            <summary>
            Dynamic Reference Instance
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.DynamicReferenceInstance.resolvedReferenceType">
            <summary>
            The resolved alias type
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.DynamicReferenceInstance.normalizedDict">
            <summary>
            Dictionary of normalized Instance Names
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicReferenceInstance.#ctor(TwinCAT.TypeSystem.IReferenceInstance)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.DynamicReferenceInstance"/> class.
            </summary>
            <param name="refInstance">The ref instance.</param>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicReferenceInstance.TwinCAT#TypeSystem#IReferenceInstance#ResolvedCategory">
            <summary>
            Gets the Category of the Referenced Symbol.
            </summary>
            <value>The resolved category.</value>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicReferenceInstance.GetDynamicMemberNames">
            <summary>
            Returns the enumeration of all dynamic member names.
            </summary>
            <returns>A sequence that contains dynamic member names.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicReferenceInstance.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" /> 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 Console.WriteLine(sampleObject.SampleProperty) statement, where sampleObject is an instance of the class derived from the <see cref="T:System.Dynamic.DynamicObject" /> 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 <paramref name="result" />.</param>
            <returns>true if the operation is successful; otherwise, false. If this method returns false, the run-time binder of the language determines the behavior. (In most cases, a run-time exception is thrown.)</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicReferenceInstance.TrySetMember(System.Dynamic.SetMemberBinder,System.Object)">
            <summary>
            Provides the implementation for operations that set member values. Classes derived from the <see cref="T:System.Dynamic.DynamicObject" /> class can override this method to specify dynamic behavior for operations such as setting 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 to which the value is being assigned. For example, for the statement sampleObject.SampleProperty = "Test", where sampleObject is an instance of the class derived from the <see cref="T:System.Dynamic.DynamicObject" /> class, binder.Name returns "SampleProperty". The binder.IgnoreCase property specifies whether the member name is case-sensitive.</param>
            <param name="value">The value to set to the member. For example, for sampleObject.SampleProperty = "Test", where sampleObject is an instance of the class derived from the <see cref="T:System.Dynamic.DynamicObject" /> class, the <paramref name="value" /> is "Test".</param>
            <returns>true if the operation is successful; otherwise, false. If this method returns false, 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="M:TwinCAT.TypeSystem.DynamicReferenceInstance.TryGetIndex(System.Dynamic.GetIndexBinder,System.Object[],System.Object@)">
            <summary>
            Provides the implementation for operations that get a value by index. Classes derived from the <see cref="T:System.Dynamic.DynamicObject" /> class can override this method to specify dynamic behavior for indexing operations.
            </summary>
            <param name="binder">Provides information about the operation.</param>
            <param name="indexes">The indexes that are used in the operation. For example, for the sampleObject[3] operation in C# (sampleObject(3) in Visual Basic), where sampleObject is derived from the DynamicObject class, <paramref name="indexes" />[0] is equal to 3.</param>
            <param name="result">The result of the index operation.</param>
            <returns>true if the operation is successful; otherwise, false. If this method returns false, the run-time binder of the language determines the behavior. (In most cases, a run-time exception is thrown.)</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicReferenceInstance.TrySetIndex(System.Dynamic.SetIndexBinder,System.Object[],System.Object)">
            <summary>
            Provides the implementation for operations that set a value by index. Classes derived from the <see cref="T:System.Dynamic.DynamicObject" /> class can override this method to specify dynamic behavior for operations that access objects by a specified index.
            </summary>
            <param name="binder">Provides information about the operation.</param>
            <param name="indexes">The indexes that are used in the operation. For example, for the sampleObject[3] = 10 operation in C# (sampleObject(3) = 10 in Visual Basic), where sampleObject is derived from the <see cref="T:System.Dynamic.DynamicObject" /> class, <paramref name="indexes[][]" /> is equal to 3.</param>
            <param name="value">The value to set to the object that has the specified index. For example, for the sampleObject[3] = 10 operation in C# (sampleObject(3) = 10 in Visual Basic), where sampleObject is derived from the <see cref="T:System.Dynamic.DynamicObject" /> class, <paramref name="value" /> is equal to 10.</param>
            <returns>true if the operation is successful; otherwise, false. If this method returns false, 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="M:TwinCAT.TypeSystem.DynamicReferenceInstance.TwinCAT#TypeSystem#IReferenceInstanceAccess#TryGetElement(System.Collections.Generic.IList{System.Int32[]},TwinCAT.TypeSystem.ISymbol@)">
            <summary>
            Tries to get the array element with the specified indices (jagged array support).
            </summary>
            <param name="jaggedIndices">The jagged indices list.</param>
            <param name="symbol">The symbol.</param>
            <returns>true if found, false if the jagged indices specifiers is out-of-range.</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.DynamicPointerInstance">
            <summary>
            Dynamic Pointer Instance
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicPointerInstance.#ctor(TwinCAT.TypeSystem.IPointerInstance)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.DynamicPointerInstance"/> class.
            </summary>
            <param name="pointerInstance">The pointer instance.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicPointerInstance.GetDynamicMemberNames">
            <summary>
            Returns the enumeration of all dynamic member names.
            </summary>
            <returns>A sequence that contains dynamic member names.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicPointerInstance.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" /> 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 Console.WriteLine(sampleObject.SampleProperty) statement, where sampleObject is an instance of the class derived from the <see cref="T:System.Dynamic.DynamicObject" /> 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 <paramref name="result" />.</param>
            <returns>true if the operation is successful; otherwise, false. If this method returns false, the run-time binder of the language determines the behavior. (In most cases, a run-time exception is thrown.)</returns>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicPointerInstance.Reference">
            <summary>
            Gets the resolved reference of Pointer / Reference
            </summary>
            <value>
            The reference.
            </value>
        </member>
        <member name="T:TwinCAT.TypeSystem.DynamicSymbol">
            <summary>
            Dynamic <see cref="T:TwinCAT.TypeSystem.ISymbol">Symbol</see> object.
            </summary>
            <remarks>The <see cref="T:TwinCAT.TypeSystem.DynamicSymbol"/> adds dynamic run time behaviour to the <see cref="T:TwinCAT.TypeSystem.ISymbol"/>/<see cref="T:TwinCAT.TypeSystem.IValueSymbol"/>.
            That means e.g. for StructSymbols that .NET Properties are defined and dispatched at runtime
            to the structs fields like they are defined in TwinCAT / ADS Types.
            Indexed access to Array Symbols is another example where the dynamic runtime support takes place.
            </remarks>
            <example>
            Sample for the dynamic resolution of Symbols:
            <code language="C#" title="Dynamic Symbol access" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV2DynamicTree.cs" region="CODE_SAMPLE_SIMPLEDYNAMIC" />
            </example>
            <seealso cref="T:TwinCAT.TypeSystem.IDynamicSymbol"/>
            <seealso cref="T:TwinCAT.TypeSystem.IValueSymbol"/>
            <seealso cref="T:TwinCAT.TypeSystem.ISymbol"/>
            <seealso cref="T:System.Dynamic.DynamicObject"/>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbol.#ctor(TwinCAT.TypeSystem.IValueSymbol)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.DynamicValue"/> class.
            </summary>
            <param name="symbol">The symbol.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbol.Equals(System.Object)">
            <summary>
            Equals
            </summary>
            <param name="obj">The object to compare with the current object.</param>
            <returns><c>true</c> if the specified <see cref="T:System.Object" /> is equal to this instance; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbol.op_Equality(TwinCAT.TypeSystem.DynamicSymbol,TwinCAT.TypeSystem.DynamicSymbol)">
            <summary>
            Operator==
            </summary>
            <param name="o1">The o1.</param>
            <param name="o2">The o2.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbol.op_Inequality(TwinCAT.TypeSystem.DynamicSymbol,TwinCAT.TypeSystem.DynamicSymbol)">
            <summary>
            Implements the != operator.
            </summary>
            <param name="o1">The o1.</param>
            <param name="o2">The o2.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbol.GetHashCode">
            <summary>
            Gets the HashCode of the Address
            </summary>
            <returns>A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbol.TwinCAT#TypeSystem#IInstanceInternal#SetInstanceName(System.String)">
            <summary>
            Sets a new instance name.
            </summary>
            <param name="instanceName">Name of the instance.</param>
            <remarks>This can only used as long the Instance is not added to a collection using the type binder classes.</remarks>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbol.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" /> 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 Console.WriteLine(sampleObject.SampleProperty) statement, where sampleObject is an instance of the class derived from the <see cref="T:System.Dynamic.DynamicObject" /> 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 <paramref name="result" />.</param>
            <returns>true if the operation is successful; otherwise, false. If this method returns false, the run-time binder of the language determines the behavior. (In most cases, a run-time exception is thrown.)</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbol.GetDynamicMemberNames">
            <summary>
            Returns the enumeration of all dynamic member names.
            </summary>
            <returns>A sequence that contains dynamic member names.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbol.OnSetInstanceName(System.String)">
            <summary>
            Sets a new InstanceName InstancePath
            </summary>
            <param name="instanceName">Instance name.</param>
        </member>
        <member name="F:TwinCAT.TypeSystem.DynamicSymbol.symbol">
            <summary>
            Inner symbol object wrapped by this <see cref="T:TwinCAT.TypeSystem.DynamicSymbol"/>
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicSymbol._InnerSymbol">
            <summary>
            Inner symbol object wrapped by this <see cref="T:TwinCAT.TypeSystem.DynamicSymbol"/>
            </summary>
            <value>The inner symbol.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicSymbol.HasValue">
            <summary>
            Gets a value indicating whether this instance has value (only the non VirtualInstances, what means the Symbols with locations).
            </summary>
            <value><c>true</c> if this instance has value; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicSymbol.NotificationSettings">
            <summary>
            Gets the notification settings.
            </summary>
            <value>The notification settings.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicSymbol.Category">
            <summary>
            Gets the category.
            </summary>
            <value>The category.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicSymbol.Parent">
            <summary>
            Gets the parent Symbol
            </summary>
            <value>The parent.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbol.SetParent(TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Sets the parent of the Symbol
            </summary>
            <param name="symbol">The symbol.</param>
            <exclude/>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicSymbol.SubSymbols">
            <summary>
            Gets the SubSymbols of the <see cref="T:TwinCAT.TypeSystem.ISymbol"/>
            </summary>
            <value></value>
            <remarks>Only used for Array and Struct instances. Otherwise empty
            </remarks>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicSymbol.SubSymbolsInternal">
            <summary>
            Gets the SubSymbols Collection (internal variant)
            </summary>
            <value>The sub symbols internal.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicSymbol.SubSymbolsCreated">
            <summary>
            Gets a value indicating whether [sub symbols created].
            </summary>
            <value><c>true</c> if [sub symbols created]; otherwise, <c>false</c>.</value>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbol.CreateSubSymbols(TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Creates the sub symbols.
            </summary>
            <param name="parent">The parent.</param>
            <returns>SymbolCollection.</returns>
            <exclude/>
        </member>
        <member name="F:TwinCAT.TypeSystem.DynamicSymbol.normalizedName">
            <summary>
            The normalized name of this <seealso cref="T:TwinCAT.TypeSystem.DynamicSymbol"/>.
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicSymbol.NormalizedName">
            <summary>
            Gets the normalized instance name (fixed name for dynamic property access that doesn't contain invalid characters),
            </summary>
            <value>The normalized instance name (can be the same like <see cref="P:TwinCAT.TypeSystem.IInstance.InstanceName" /></value>
            <seealso cref="P:TwinCAT.TypeSystem.IInstance.InstanceName" />
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbol.ReadRawValue">
            <summary>
            Reads the Symbols raw value
            </summary>
            <returns>System.Byte[].</returns>
            <value>The raw value in bytes.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbol.ReadRawValue(System.Int32)">
            <summary>
            Reads the Symbols raw value
            </summary>
            <param name="timeout">The timeout in ms.</param>
            <returns>System.Byte[].</returns>
            <value>The raw value in bytes.</value>
            <remarks>A negative timeout indicates that the Default Timeout for the communication will be used.
            0 means timeout is switched off.</remarks>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbol.OnReadRawValue(System.Int32)">
            <summary>
            Handler function for reading Raw symbol value.
            </summary>
            <param name="timeout">The timeout.</param>
            <returns>System.Byte[].</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbol.WriteRawValue(System.Byte[])">
            <summary>
            Writes the Symbol raw Value
            </summary>
            <param name="rawValue">The raw value.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbol.WriteRawValue(System.Byte[],System.Int32)">
            <summary>
            Writes the Symbol raw Value
            </summary>
            <param name="rawValue">The raw value.</param>
            <param name="timeout">The timeout.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbol.OnWriteRawValue(System.Byte[],System.Int32)">
            <summary>
            Handler function for reading symbols raw value.
            </summary>
            <param name="rawValue">The raw value.</param>
            <param name="timeout">The timeout.</param>
        </member>
        <member name="F:TwinCAT.TypeSystem.DynamicSymbol._rawValueChanged">
            <summary>
            RawValueChanged delegate
            </summary>
        </member>
        <member name="E:TwinCAT.TypeSystem.DynamicSymbol.RawValueChanged">
            <summary>
            Occurs when the RawValue of the <see cref="T:TwinCAT.TypeSystem.IValueSymbol" /> has changed.
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.DynamicSymbol._valueChanged">
            <summary>
            ValueChanged delegate.
            </summary>
        </member>
        <member name="E:TwinCAT.TypeSystem.DynamicSymbol.ValueChanged">
            <summary>
            Occurs when the (Primitive) value of the <see cref="T:TwinCAT.TypeSystem.IValueSymbol" /> has changed.
            </summary>
            <remarks>
            <example>
            <code language="C#" title="Use Dynamic Notifications" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV2Notifications.cs" region="NOTIFICATION_SAMPLE"/>
            </example>
            </remarks>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbol.ReadValue">
            <summary>
            Reads the value of this <see cref="T:TwinCAT.TypeSystem.DynamicSymbol"/>.
            </summary>
            <returns>System.Object.</returns>
            <remarks>
            <example>
            <code language="C#" title="Dynamic Read access" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV2DynamicTree.cs" region="CODE_SAMPLE"/>
            </example>
            </remarks>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbol.ReadValue(System.Int32)">
            <summary>
            Reads the value of this <see cref="T:TwinCAT.TypeSystem.DynamicSymbol" />.
            </summary>
            <param name="timeout">The timeout in ms.</param>
            <returns>System.Object.</returns>
            <value>The value.</value>
            <remarks>Calling on primitive types, a call of this method will return the primitive value.
            On complex types (structures and arrays) it depends on the <see cref="T:TwinCAT.TypeSystem.ISymbolLoader" /> settings what will happen.
            In non dynamic modes: the raw byte Array will be returned,
            in dynamic mode: A Value will be created on the fly.
            A negative timeout indicates that the Default Timeout for the communication will be used.
            0 means timeout is switched off.</remarks>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbol.TryReadValue(System.Int32,System.Object@)">
            <summary>
            Reads the Value of the <see cref="T:TwinCAT.TypeSystem.IValueSymbol" />
            </summary>
            <param name="timeout">The timeout in ms.</param>
            <param name="value">The symbol value.</param>
            <returns>The error code.</returns>
            <remarks>Calling on primitive types, a call of this method will return the primitive value.
            On complex types (structures and arrays) it depends on the <see cref="T:TwinCAT.TypeSystem.ISymbolLoader" /> settings what will happen.
            In non dynamic modes: the raw byte Array will be returned,
            in dynamic mode: A Value will be created on the fly.
            A negative timeout indicates that the Default Timeout for the communication will be used.
            0 means timeout is switched off.</remarks>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbol.OnReadValue(System.Int32)">
            <summary>
            Handler function for the
            </summary>
            <param name="timeout">The timeout.</param>
            <returns>System.Object.</returns>
            <exception cref="T:TwinCAT.CannotAccessVirtualSymbolException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbol.OnTryReadValue(System.Int32,System.Object@)">
            <summary>
            Handler function for the
            </summary>
            <param name="timeout">The timeout.</param>
            <param name="value">The value.</param>
            <returns>The error Code.</returns>
            <exception cref="T:TwinCAT.CannotAccessVirtualSymbolException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbol.WriteValue(System.Object)">
            <summary>
            Writes the specified value to the <see cref="T:TwinCAT.TypeSystem.DynamicSymbol"/>.
            </summary>
            <param name="value">The value.</param>
            <remarks>
            <example>
            <code language="C#" title="Dynamic Write access" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV2DynamicTree.cs" region="CODE_SAMPLE"/>
            </example>
            </remarks>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbol.WriteValue(System.Object,System.Int32)">
            <summary>
            Writes the specified value to the <see cref="T:TwinCAT.TypeSystem.DynamicSymbol" />.
            </summary>
            <param name="value">The value.</param>
            <param name="timeout">The timeout in ms.</param>
            <remarks>Calling on primitive types, a call of this method will directly write this Value.
            On complex types (structs and arrays) it depends on the <see cref="T:TwinCAT.TypeSystem.ISymbolLoader" /> settings what will happen.
            In non dynamic modes: Only byte Arrays (of correct size) can be written)
            in dynamic mode: A Value that represents the value will be accepted also. A negative timeout indicates that the Default
            Timeout for the communication will be used.
            0 means timeout is switched off.</remarks>
            <example>
            <code language="C#" title="Dynamic Write access" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV2DynamicTree.cs" region="CODE_SAMPLE"/>
            </example>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbol.TryWriteValue(System.Object,System.Int32)">
            <summary>
            Writes the specified value to the <see cref="T:TwinCAT.TypeSystem.DynamicSymbol" />.
            </summary>
            <param name="value">The value.</param>
            <param name="timeout">The timeout in ms.</param>
            <returns>The error code.</returns>
            <remarks>Calling on primitive types, a call of this method will directly write this Value.
            On complex types (structs and arrays) it depends on the <see cref="T:TwinCAT.TypeSystem.ISymbolLoader" /> settings what will happen.
            In non dynamic modes: Only byte Arrays (of correct size) can be written)
            in dynamic mode: A Value that represents the value will be accepted also. A negative timeout indicates that the Default
            Timeout for the communication will be used.
            0 means timeout is switched off.</remarks>
            <example>
            <code language="C#" title="Dynamic Write access" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV2DynamicTree.cs" region="CODE_SAMPLE"/>
            </example>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbol.OnWriteValue(System.Object,System.Int32)">
            <summary>
            Handler Function for writing value.
            </summary>
            <param name="value">The value.</param>
            <param name="timeout">The timeout.</param>
            <exception cref="T:TwinCAT.CannotAccessVirtualSymbolException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbol.OnTryWriteValue(System.Object,System.Int32)">
            <summary>
            Handler Function for writing value.
            </summary>
            <param name="value">The value.</param>
            <param name="timeout">The timeout.</param>
            <exception cref="T:TwinCAT.CannotAccessVirtualSymbolException"></exception>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicSymbol.AccessRights">
            <summary>
            Gets the access rights.
            </summary>
            <value>The access rights.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicSymbol.DataType">
            <summary>
            Gets the <see cref="T:TwinCAT.TypeSystem.IDataType"/> of the <see cref="T:TwinCAT.TypeSystem.IInstance"/>.
            </summary>
            <value>The type of the data.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicSymbol.TypeName">
            <summary>
            Gets the name of the <see cref="T:TwinCAT.TypeSystem.IDataType">DataType</see> that is used for this <see cref="T:TwinCAT.TypeSystem.IInstance"/>.
            </summary>
            <value>The name of the type.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicSymbol.InstanceName">
            <summary>
            Gets the name of the instance (without periods (.)
            </summary>
            <value>The name of the instance.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicSymbol.InstancePath">
            <summary>
            Gets the relative / absolute access path to the instance (with periods (.))
            </summary>
            <value>The instance path.</value>
            <remarks>If this path is relative or absolute depends on the context. <see cref="T:TwinCAT.TypeSystem.IMember"/> are using relative paths, <see cref="T:TwinCAT.TypeSystem.ISymbol"/>s are using absolute ones.</remarks>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicSymbol.BitSize">
            <summary>
            Gets the size of the <see cref="T:TwinCAT.TypeSystem.IDataType"/> in bits.
            </summary>
            <value>The size of the bit.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicSymbol.IsContainerType">
            <summary>
            Gets a value indicating whether this Symbol is acontainer type.
            </summary>
            <value>
            <c>true</c> if this instance is container type; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicSymbol.IsPrimitiveType">
            <summary>
            Gets a value indicating whether this instance is a primitive type.
            </summary>
            <value>
            <c>true</c> if this instance is primitive type; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicSymbol.IsPersistent">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.TypeSystem.ISymbol" /> is persistent.
            </summary>
            <value>
            <c>true</c> if this instance is persistent; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicSymbol.IsStatic">
            <summary>
            Gets a value indicating whether this instance is static.
            </summary>
            <value>
              <c>true</c> if this instance is static; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicSymbol.IsReadOnly">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.TypeSystem.ISymbol" /> is read only.
            </summary>
            <value>
            <c>true</c> if this instance is read only; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicSymbol.Size">
            <summary>
            Gets the size of the <see cref="T:TwinCAT.TypeSystem.IInstance" /> in bytes.
            </summary>
            <value>
            The size of the <see cref="T:TwinCAT.TypeSystem.IInstance" /> in bytes.
            </value>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicSymbol.ByteSize">
            <summary>
            Gets the (aligned) size of of the Type/Instance in Bytes
            </summary>
            <value>The size of the byte.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicSymbol.IsByteAligned">
            <summary>
            Indicates that the Size of the Object is Byte aligned (BitSize % 8 == 0)
            </summary>
            <value><c>true</c> if this instance is byte aligned; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicSymbol.IsBitType">
            <summary>
            Gets a value indicating whether this instance is not basing on a full DataType but instead of some sort of bit mapping
            </summary>
            <value>
            <c>true</c> if this instance is bit mapping; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicSymbol.FactoryServices">
            <summary>
            Gets the value loader.
            </summary>
            <value>The value loader.</value>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbol.ToString">
            <summary>
            Returns a <see cref="T:System.String" /> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String" /> that represents this instance.
            </returns>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicSymbol.Attributes">
            <summary>
            Gets the Symbol Attributes
            </summary>
            <value>The attributes.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicSymbol.IsReference">
            <summary>
            Indicates that the <see cref="T:TwinCAT.TypeSystem.IInstance" /> represents a Reference type (REFERENCE TO)
            </summary>
            <value><c>true</c> if is ReferenceTo, otherwise <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicSymbol.HasReferenceAncestor">
            <summary>
            Gets or sets a value indicating whether an ancestor is a reference
            </summary>
            <value><c>true</c> if this instance is ancestor is reference; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicSymbol.IsPointer">
            <summary>
            Indicates that the <see cref="T:TwinCAT.TypeSystem.IInstance" /> represents a Pointer type (Pointer TO)
            </summary>
            <value><c>true</c> if is ReferenceTo, otherwise <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicSymbol.Comment">
            <summary>
            Gets the comment of the <see cref="T:TwinCAT.TypeSystem.IInstance" />
            </summary>
            <value>The comment.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicSymbol.Binder">
            <summary>
            Gets the data type binder.
            </summary>
            <value>The data type binder.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicSymbol.ContextMask">
            <summary>
            Gets the context mask.
            </summary>
            <value>The context mask.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicSymbol.ValueAccessor">
            <summary>
            Gets the value accessor.
            </summary>
            <value>The value accessor.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicSymbol.Connection">
            <summary>
            Gets the connection bound to this <see cref="T:TwinCAT.TypeSystem.DynamicSymbol"/>
            </summary>
            <value>The connection.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicSymbol.IsRecursive">
            <summary>
            Gets a value indicating whether this instance is recursive.
            </summary>
            <value><c>true</c> if this instance is recursive; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbol.ReadAnyValue(System.Type)">
            <summary>
            Reads the value of this <see cref="T:TwinCAT.TypeSystem.IValueSymbol">Value</see> into a new created instance of the managed type
            </summary>
            <param name="managedType">The tp.</param>
            <returns>Read value (System.Object).</returns>
            <seealso cref="M:TwinCAT.TypeSystem.IValueAnySymbol.WriteAnyValue(System.Object)" />
            <seealso cref="M:TwinCAT.TypeSystem.IValueAnySymbol.UpdateAnyValue(System.Object@)" />
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbol.OnReadAnyValue(System.Type)">
            <summary>
            Handler function for reading ADS 'Any' Values.
            </summary>
            <param name="managedType">Managed type to read.</param>
            <returns>System.Object.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbol.UpdateAnyValue(System.Object@)">
            <summary>
            Reads the value of this <see cref="T:TwinCAT.TypeSystem.IValueSymbol">Value</see> into the specified managed value.
            </summary>
            <param name="valueObject">The managed object.</param>
            <returns>Read value (System.Object).</returns>
            <seealso cref="M:TwinCAT.TypeSystem.IValueAnySymbol.ReadAnyValue(System.Type)"/>
            <seealso cref="M:TwinCAT.TypeSystem.IValueAnySymbol.WriteAnyValue(System.Object)"/>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbol.OnUpdateAnyValue(System.Object)">
            <summary>
            Called when [update any value].
            </summary>
            <param name="valueObject">The value object.</param>
            <returns>System.Object.</returns>
            <exception cref="T:TwinCAT.CannotAccessVirtualSymbolException"></exception>
            <exception cref="T:TwinCAT.Ads.AdsErrorException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbol.WriteAnyValue(System.Object)">
            <summary>
            Writes the value represented by the managed value to this <see cref="T:TwinCAT.TypeSystem.IValueSymbol">Value</see>
            </summary>
            <param name="managedValue">The managed value.</param>
            <seealso cref="M:TwinCAT.TypeSystem.DynamicSymbol.ReadAnyValue(System.Type)"/>
            <seealso cref="M:TwinCAT.TypeSystem.DynamicSymbol.UpdateAnyValue(System.Object@)"/>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbol.OnWriteAnyValue(System.Object)">
            <summary>
            Called when [write any value].
            </summary>
            <param name="managedValue">The managed value.</param>
            <exception cref="T:TwinCAT.CannotAccessVirtualSymbolException"></exception>
            <exception cref="T:TwinCAT.Ads.AdsErrorException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbol.TwinCAT#TypeSystem#ISymbolValueChangeNotify#OnRawValueChanged(TwinCAT.TypeSystem.RawValueChangedArgs)">
            <summary>
            Called when the RawValue of the symbol has been changed.
            </summary>
            <param name="args">The arguments.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbol.TwinCAT#TypeSystem#ISymbolValueChangeNotify#OnValueChanged(TwinCAT.TypeSystem.ValueChangedArgs)">
            <summary>
            Called when the Value of the symbol has been changed.
            </summary>
            <param name="args">The arguments.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbol.Unwrap">
            <summary>
            Unwraps the DynamicSymbol to its static version (only for internal purposes)
            </summary>
            <returns>IValueSymbol.</returns>
            <value>The unwrap.</value>
            <exclude/>
        </member>
        <member name="T:TwinCAT.TypeSystem.ISymbolFactoryServices">
            <summary>
            Interface ISymbolFactoryServices
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.TypeSystem.ISymbolFactoryServices.Binder">
            <summary>
            Gets the type binder.
            </summary>
            <value>The type binder.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.ISymbolFactoryServices.SymbolFactory">
            <summary>
            Gets the symbol factory.
            </summary>
            <value>The symbol factory.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.ISymbolFactoryServices.Session">
            <summary>
            Gets the session object.
            </summary>
            <value>The session or NULL if not available</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.ISymbolFactoryValueServices">
            <summary>
            Interface ISymbolFactoryValueServices
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.TypeSystem.ISymbolFactoryValueServices.ValueAccessor">
            <summary>
            Gets the value accessor.
            </summary>
            <value>The value accessor.</value>
            <exclude/>
        </member>
        <member name="T:TwinCAT.TypeSystem.ISymbolInfo">
            <summary>
            Interface ISymbolInfo
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.ISymbolInfo.InstancePath">
            <summary>
            Gets the Symbol Path
            </summary>
            <value>The path.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.ISymbolInfo.TypeName">
            <summary>
            Gets the data type Name
            </summary>
            <value>The type of the data.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.ISymbolFactory">
            <summary>
            Symbol Factory Interface
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.ISymbolFactory.CreateInstance(TwinCAT.TypeSystem.ISymbolInfo,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Creates the Symbol with the specified resolver
            </summary>
            <param name="entry">Symbol Entry.</param>
            <param name="parent">The parent.</param>
            <returns>Symbol instance.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ISymbolFactory.CreateArrayElement(System.Int32[],TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.IArrayType)">
            <summary>
            Creates a single Array Element
            </summary>
            <param name="currentIndex">Array Index of the Element</param>
            <param name="parent">Array Instance</param>
            <param name="arrayType">Resolved Array type.</param>
            <returns>Array element</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ISymbolFactory.CreateArrayElementInstances(TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.IArrayType)">
            <summary>
            Creates all Element Instances of the specified array parent symbol.
            </summary>
            <param name="parentInstance">The parent instance.</param>
            <param name="arrayType">Resolved array type.</param>
            <returns>SymbolCollection.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ISymbolFactory.CreateFieldInstance(TwinCAT.TypeSystem.IField,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Creates a singgle Instance member on a struct parent
            </summary>
            <param name="field">Field</param>
            <param name="parent">Parent Struct/Alias/Union</param>
            <returns>Instance member</returns>
            <remarks>Because the Alias type can act like a struct, the parent can be an IAliasInstance also.</remarks>
        </member>
        <member name="M:TwinCAT.TypeSystem.ISymbolFactory.CreateFieldInstances(TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.IDataType)">
            <summary>
            Creates the Member Instances collection for the specified parent instance
            </summary>
            <param name="parentInstance">The parent instance.</param>
            <param name="parentType">Parent Type (Struct/Alias/Union).</param>
            <returns>SymbolCollection.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ISymbolFactory.CreateReferenceInstance(TwinCAT.TypeSystem.IPointerType,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Creates the dereferenced Pointer instance
            </summary>
            <param name="type">Reference/Pointer type.</param>
            <param name="parent">Parent Instance of the reference</param>
            <returns>Reference/Pointer instance.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ISymbolFactory.CreateVirtualStruct(System.String,System.String,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Creates the virtual structure.
            </summary>
            <param name="instanceName">Name of the instance.</param>
            <param name="instancePath">The instance path.</param>
            <param name="parent">The parent.</param>
            <returns>Virtual struct instance</returns>
        </member>
        <member name="P:TwinCAT.TypeSystem.ISymbolFactory.FactoryServices">
            <summary>
            Gets the factory services.
            </summary>
            <value>The factory services.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.ISymbolFactory.Initialize(TwinCAT.TypeSystem.ISymbolFactoryServices)">
            <summary>
            Initializes the the <see cref="T:TwinCAT.TypeSystem.ISymbolFactory"/>.
            </summary>
            <param name="services">The services.</param>
        </member>
        <member name="P:TwinCAT.TypeSystem.ISymbolFactory.InvalidCharacters">
            <summary>
            Gets the invalid characters that are not allowed to appear within the Instance Name
            </summary>
            <value>The forbidden characters.</value>
            <seealso cref="M:TwinCAT.TypeSystem.ISymbolFactory.SetInvalidCharacters(System.Char[])"/>
            <seealso cref="P:TwinCAT.TypeSystem.ISymbolFactory.HasInvalidCharacters"/> 
        </member>
        <member name="M:TwinCAT.TypeSystem.ISymbolFactory.SetInvalidCharacters(System.Char[])">
            <summary>
            Sets the invalid characters.
            </summary>
            <param name="invalidChars">The character.</param>
            <seealso cref="P:TwinCAT.TypeSystem.ISymbolFactory.InvalidCharacters"/>
        </member>
        <member name="P:TwinCAT.TypeSystem.ISymbolFactory.HasInvalidCharacters">
            <summary>
            Gets a value indicating whether <see cref="T:TwinCAT.TypeSystem.ISymbol"/>s have invalid characters
            </summary>
            <value><c>true</c> if this instance has invalid characters; otherwise, <c>false</c>.</value>
            <seealso cref="P:TwinCAT.TypeSystem.ISymbolFactory.InvalidCharacters"/>
        </member>
        <member name="T:TwinCAT.TypeSystem.ISymbolFactoryOversampled">
            <summary>
            Extended Interface for <see cref="T:TwinCAT.TypeSystem.ISymbolFactory"/> (Support for Oversampling terminals)
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.ISymbolFactoryOversampled.CreateOversamplingElement(TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Creates the oversampling array Element.
            </summary>
            <param name="parent">Parent Array Instance.</param>
            <returns>ISymbol.</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.DynamicSymbolFactory">
            <summary>
            Instance factory for dynamic symbols (for internal use only)
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbolFactory.#ctor(TwinCAT.TypeSystem.ISymbolFactory,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.DynamicSymbolFactory" /> class.
            </summary>
            <param name="inner">The inner (static) instance factory.</param>
            <param name="nonCachedArrayElements">if set to <c>true</c> Array elements will not be cached.</param>
            <exception cref="T:System.ArgumentNullException">inner</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbolFactory.Initialize(TwinCAT.TypeSystem.ISymbolFactoryServices)">
            <summary>
            Initializes the the <see cref="T:TwinCAT.TypeSystem.ISymbolFactory" />.
            </summary>
            <param name="services">The services.</param>
        </member>
        <member name="F:TwinCAT.TypeSystem.DynamicSymbolFactory.DefaultInvalidChars">
            <summary>
            Default Invalid Characters for dynamic symbols
            </summary>
            <remarks>By default, the following characters are Invalid and are replaced by '_':
            '^', ' ' (Space), '(', ')','-','.'
            </remarks>
            <seealso cref="P:TwinCAT.TypeSystem.ISymbolFactory.InvalidCharacters"/>
        </member>
        <member name="F:TwinCAT.TypeSystem.DynamicSymbolFactory.inner">
            <summary>
            Inner static/aggregated Factory
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbolFactory.CreateInstance(TwinCAT.TypeSystem.ISymbolInfo,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Creates the Symbol with the specified resolver
            </summary>
            <param name="entry">Symbol Entry.</param>
            <param name="parent">The parent.</param>
            <returns>Symbol instance.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbolFactory.WrapSymbol(TwinCAT.TypeSystem.IValueSymbol)">
            <summary>
            Wraps the specified Symbol into a dynamic wrapper
            </summary>
            <param name="symbol">The symbol.</param>
            <returns>IValueSymbol.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbolFactory.CreateArrayElementInstances(TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.IArrayType)">
            <summary>
            Creates all Element Instances of the specified array parent symbol.
            </summary>
            <param name="parentInstance">The parent instance.</param>
            <param name="arrayType">Type of the array.</param>
            <returns>SymbolCollection.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbolFactory.CreateArrayElement(System.Int32[],TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.IArrayType)">
            <summary>
            Creates the array element
            </summary>
            <param name="currentIndex">Array Index of the Element</param>
            <param name="parent">Array Instance</param>
            <param name="arrayType">Resolved Array type.</param>
            <returns>Resolved Array Type</returns>
            <exception cref="T:System.ArgumentNullException">parent</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbolFactory.CreateOversamplingElement(TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Creates the oversampling array Element.
            </summary>
            <param name="parent">Array Instance.</param>
            <returns>ISymbol.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbolFactory.CreateFieldInstances(TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.IDataType)">
            <summary>
            Creates the member instances.
            </summary>
            <param name="parentInstance">The parent instance.</param>
            <param name="parentType">Type of the structure.</param>
            <returns>SymbolCollection.</returns>
            <exception cref="T:System.ArgumentNullException">
            parentInstance
            or
            structType
            </exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbolFactory.OnCreateFieldInstances(TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.IDataType)">
            <summary>
            Handler function creating the member instances.
            </summary>
            <param name="parentInstance">The parent instance.</param>
            <param name="parentType">Type of parent (Struct or Union).</param>
            <returns>SymbolCollection.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbolFactory.CreateFieldInstance(TwinCAT.TypeSystem.IField,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Creates a single Instance member on a struct parent
            </summary>
            <param name="field">Field</param>
            <param name="parent">Parent Struct/Alias/Union</param>
            <returns>Instance member</returns>
            <remarks>Because the Alias type can act like a struct, the parent can be an IAliasInstance also.</remarks>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbolFactory.CreateReferenceInstance(TwinCAT.TypeSystem.IPointerType,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Creates the reference/pointer instance.
            </summary>
            <param name="type">Reference/Pointer type.</param>
            <param name="parent">Parent Instance of the reference</param>
            <returns>Reference/Pointer instance.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbolFactory.create(TwinCAT.TypeSystem.IValueSymbol)">
            <summary>
            Creates a dynamic wrapper for the specified (static) symbol.
            </summary>
            <param name="symbol">The symbol.</param>
            <returns>ISymbol.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbolFactory.CreateVirtualStruct(System.String,System.String,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Creates a virtual structure instance
            </summary>
            <param name="instanceName">Name of the instance.</param>
            <param name="instancePath">The instance path.</param>
            <param name="parent">The parent.</param>
            <returns>Virtual struct instance</returns>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicSymbolFactory.InvalidCharacters">
            <summary>
            Gets the invalid characters that are not allowed to appear within the Instance Name
            </summary>
            <value>The forbidden characters.</value>
            <seealso cref="M:TwinCAT.TypeSystem.DynamicSymbolFactory.SetInvalidCharacters(System.Char[])" />
            <seealso cref="P:TwinCAT.TypeSystem.DynamicSymbolFactory.HasInvalidCharacters" />
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicSymbolFactory.SetInvalidCharacters(System.Char[])">
            <summary>
            Sets the invalid characters.
            </summary>
            <param name="invalidChars">The invalid chars.</param>
            <seealso cref="P:TwinCAT.TypeSystem.DynamicSymbolFactory.InvalidCharacters" />
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicSymbolFactory.HasInvalidCharacters">
            <summary>
            Gets a value indicating whether this instance has invalid characters.
            </summary>
            <value><c>true</c> if this instance has invalid characters; otherwise, <c>false</c>.</value>
            <seealso cref="P:TwinCAT.TypeSystem.DynamicSymbolFactory.InvalidCharacters" />
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicSymbolFactory.FactoryServices">
            <summary>
            Gets the factory services.
            </summary>
            <value>The factory services.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.SymbolNavigator`1">
            <summary>
            Navigator class to navigate through a tree of symbols.
            </summary>
            <typeparam name="T"></typeparam>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.SymbolNavigator`1.#ctor(TwinCAT.TypeSystem.Generic.IInstanceCollection{`0},System.Char)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.SymbolNavigator`1"/> class.
            </summary>
            <param name="symbols">The symbols to navigate on.</param>
            <param name="sep">The separator character</param>
            <exception cref="T:System.ArgumentNullException">symbols</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.SymbolNavigator`1.#ctor(TwinCAT.TypeSystem.Generic.IInstanceCollection{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.SymbolNavigator`1"/> class.
            </summary>
            <param name="symbols">The symbols to navigate on.</param>
            <exception cref="T:System.ArgumentNullException">symbols</exception>
        </member>
        <member name="F:TwinCAT.TypeSystem.SymbolNavigator`1.DefaultPathSeparator">
            <summary>
            The Default path separator
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.SymbolNavigator`1._pathSeparator">
            <summary>
            the current path separator.
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.SymbolNavigator`1.PathSeparator">
            <summary>
            Gets or sets the path separator character.
            </summary>
            <value>The path separator.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.SymbolNavigator`1.TryGetSymbol(System.String,`0@)">
            <summary>
            Tries to get the symbol
            </summary>
            <param name="path">The path.</param>
            <param name="found">The found instance (out-parameter)</param>
            <returns>true if found, false if not contained.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.SymbolNavigator`1.TryGetSubSymbol(`0,System.String[],System.Int32,`0@)">
            <summary>
            Tries to get the Subsymbol specified in the relative path
            </summary>
            <param name="root">Root instance (anchor instance).</param>
            <param name="relativePath">The relative path (relative to the root).</param>
            <param name="index">Optional array index.</param>
            <param name="found">Found object (out-parameter).</param>
            <returns>true if found, false if not contained.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.SymbolNavigator`1.TryGetSubSymbol(TwinCAT.TypeSystem.IArrayInstance,System.Int32[],`0@)">
            <summary>
            Tries to get the specified subSymbol
            </summary>
            <param name="root">Root array instance.</param>
            <param name="indices">The indices.</param>
            <param name="found">Found Instance (out-parameter)</param>
            <returns>true if found, false if not contained.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.SymbolNavigator`1.TryGetSubSymbol(TwinCAT.TypeSystem.IStructInstance,System.String[],System.Int32,`0@)">
            <summary>
            Try to get Sub Symbol
            </summary>
            <param name="root">Root object.</param>
            <param name="relativeInstancePath">The relative instance path.</param>
            <param name="index">Array Index</param>
            <param name="symbol">Found Symbol (out-parameter)</param>
            <returns>true if found, false if not contained.</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.ArrayIndexConverter">
            <summary>
            Converts ArrayIndices to string and position/subindex and vice versa (for internal use only)
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayIndexConverter.IndicesToString(System.Int32[])">
            <summary>
            Convert indices to string.
            </summary>
            <param name="indices">The indices.</param>
            <returns>The string representation (including brackets)</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayIndexConverter.StringToIndices(System.String)">
            <summary>
            Parses the Indices string to int array (as indices).
            </summary>
            <param name="indices">The indices.</param>
            <returns>System.Int32[].</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayIndexConverter.OversamplingSubElementToString(System.Int32)">
            <summary>
            Creates the Index String part for the Oversampling SubElement
            </summary>
            <param name="elementCount">Should be the element Count of the Dimension (one after the highest index).</param>
            <returns>The string representation.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayIndexConverter.SubIndexToIndexString(System.Int32[],System.Int32[],System.Int32)">
            <summary>
            Converts the SubIndex / Position to String.
            </summary>
            <param name="lowerBounds">The lower bounds.</param>
            <param name="upperBounds">The upper bounds.</param>
            <param name="subIndex">Index of the sub.</param>
            <returns>System.String.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayIndexConverter.CalcSubIndexArray(System.Int32[],System.Int32[])">
            <summary>
            Calculates an internal array that contains the factors/multiplicators of the different dimensions for position/subIndex calculations.
            </summary>
            <param name="lowerBounds">The lower bounds.</param>
            <param name="upperBounds">The upper bounds.</param>
            <returns>System.Int32[].</returns>
            <exception cref="T:System.ArgumentNullException">
            lowerBounds
            or
            upperBounds
            </exception>
            <exception cref="T:System.ArgumentException">Dimensions mismatch!</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayIndexConverter.ArraySubElementCount(System.Int32[],System.Int32[],System.Boolean)">
            <summary>
            Calculates the number of SubElements within the Array (including Oversampling Element)
            </summary>
            <param name="lowerBounds">The lower bounds.</param>
            <param name="upperBounds">The upper bounds.</param>
            <param name="oversampled">if set to <c>true</c> [oversampled].</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayIndexConverter.SubIndexToIndices(System.Int32,TwinCAT.TypeSystem.IArrayType)">
            <summary>
            Converts subIndex / position to indices.
            </summary>
            <param name="subIndex">Subindex / Position.</param>
            <param name="type">The array type.</param>
            <returns>Indices.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayIndexConverter.SubIndexToIndices(System.Int32,System.Int32[],System.Int32[],System.Boolean)">
            <summary>
            Converts the subindex / position to the indices.
            </summary>
            <param name="subIndex">Subindex / position.</param>
            <param name="lowerBounds">The lower bounds.</param>
            <param name="upperBounds">The upper bounds.</param>
            <param name="oversampled">if set to <c>true</c> [oversampled].</param>
            <returns>Indices.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayIndexConverter.IndicesToSubIndex(System.Int32[],TwinCAT.TypeSystem.IArrayType)">
            <summary>
            Converts the indices specifier to the subindex / position.
            </summary>
            <param name="indices">The indices (not normalized)</param>
            <param name="type">The array type.</param>
            <returns>The subindex / position.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayIndexConverter.IndicesToSubIndex(System.Int32[],TwinCAT.TypeSystem.IArrayType,System.Boolean)">
            <summary>
            Converts the indices specifier to the subindex / position.
            </summary>
            <param name="indices">The indices.</param>
            <param name="type">The type.</param>
            <param name="normalizedIndices">if set to <c>true</c> [normalized indices].</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayIndexConverter.IndicesToSubIndex(System.Int32[],System.Int32[],System.Int32[],System.Boolean)">
            <summary>
            Converts the indices specifier to the subindex / position.
            </summary>
            <param name="indices">The indices.</param>
            <param name="lowerBounds">The lower bounds.</param>
            <param name="upperBounds">The upper bounds.</param>
            <param name="oversampled">if set to <c>true</c> [oversampled].</param>
            <returns>The subindex / position.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">indices</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayIndexConverter.TryGetSubIndex(System.Int32[],System.Int32[],System.Int32[],System.Boolean,System.Int32@)">
            <summary>
            Converts the indices specifier to the subindex / position.
            </summary>
            <param name="indices">The indices.</param>
            <param name="lowerBounds">The lower bounds.</param>
            <param name="upperBounds">The upper bounds.</param>
            <param name="oversampled">if set to <c>true</c> [oversampled].</param>
            <param name="subIndex">Index of the sub.</param>
            <returns>The subindex / position.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayIndexConverter.CheckIndices(System.Int32[],System.Int32[],System.Int32[],System.Boolean,System.Boolean)">
            <summary>
            Checks the indices against lower/upper bounds.
            </summary>
            <param name="indices">The indices.</param>
            <param name="lowerBounds">The lower bounds.</param>
            <param name="upperBounds">The upper bounds.</param>
            <param name="normalized">if set to <c>true</c> the indices are normalized.</param>
            <param name="oversampled">if set to <c>true</c> [oversampled].</param>
            <exception cref="T:System.ArgumentOutOfRangeException">indices</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Indices are out of range.</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayIndexConverter.TryCheckIndices(System.Collections.Generic.IList{System.Int32[]},TwinCAT.TypeSystem.IArrayType)">
            <summary>
            Checks the indices whether they are inside bounds.
            </summary>
            <param name="indices">The indices.</param>
            <param name="type">The Array type.</param>
            <returns><c>true</c> if the indices are insinde bounds, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayIndexConverter.TryCheckIndices(System.Collections.Generic.IList{System.Int32[]},TwinCAT.Ads.ITcAdsDataType)">
            <summary>
            Checks the indices whether they are inside bounds.
            </summary>
            <param name="indices">The indices.</param>
            <param name="type">The Array type.</param>
            <returns><c>true</c> if the indices are insinde bounds, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayIndexConverter.TryCheckIndices(System.Int32[],TwinCAT.TypeSystem.IArrayType)">
            <summary>
            Checks the indices whether they are inside bounds (only usable for first level of jagged arrays !!!)
            </summary>
            <param name="indices">The indices.</param>
            <param name="type">The Array type.</param>
            <returns><c>true</c> if the indices are insinde bounds, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayIndexConverter.TryCheckIndices(System.Int32[],System.Int32[],System.Int32[],System.Boolean,System.Boolean)">
            <summary>
            Checks the indices whether they are inside bounds.
            </summary>
            <param name="indices">The indices.</param>
            <param name="lowerBounds">The lower bounds.</param>
            <param name="upperBounds">The upper bounds.</param>
            <param name="normalized">if set to <c>true</c> [normalized].</param>
            <param name="oversampled">if set to <c>true</c> [oversampled].</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
            <exception cref="T:System.ArgumentNullException">
            lowerBounds
            or
            upperBounds
            or
            indices
            </exception>
            <exception cref="T:System.ArgumentException">
            Dimensions mismatch!
            or
            Dimensions mismatch!
            </exception>
            <exception cref="T:System.ArgumentNullException">lowerBounds
            or
            upperBounds
            or
            indices</exception>
            <exception cref="T:System.ArgumentException">Dimensions mismatch!
            or
            Dimensions mismatch!</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayIndexConverter.TryCheckIndices(System.Int32[],System.Int32[],System.Int32[],System.Boolean)">
            <summary>
            Validates the indices.
            </summary>
            <param name="indices">The indices.</param>
            <param name="lowerBounds">The lower bounds.</param>
            <param name="upperBounds">The upper bounds.</param>
            <param name="oversampled">if set to <c>true</c> [oversampled].</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayIndexConverter.TryCheckElement(System.Int32,System.Int32[],System.Int32[],System.Boolean)">
            <summary>
            Validates the specified subElement index.
            </summary>
            <param name="subElement">The subElement index.</param>
            <param name="lowerBounds">The lower bounds.</param>
            <param name="upperBounds">The upper bounds.</param>
            <param name="oversampled">if set to <c>true</c> [oversampled].</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayIndexConverter.NormalizeIndices(System.Int32[],System.Int32[],System.Int32[],System.Boolean)">
            <summary>
            Normalizes the indices.
            </summary>
            <param name="indices">The indices (non normalized within bounds).</param>
            <param name="lowerBounds">The lower bounds.</param>
            <param name="upperBounds">The upper bounds.</param>
            <param name="oversampled">if set to <c>true</c> [oversampled].</param>
            <returns>System.Int32[].</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayIndexConverter.NormalizeIndices(System.Int32[],TwinCAT.TypeSystem.IArrayType)">
            <summary>
            Normalizes the indices.
            </summary>
            <param name="indices">The indices.</param>
            <param name="type">The type.</param>
            <returns>System.Int32[].</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayIndexConverter.IsOversampled(TwinCAT.TypeSystem.IArrayType)">
            <summary>
            Determines whether the specified type is oversampled.
            </summary>
            <param name="type">The type.</param>
            <returns><c>true</c> if the specified type is oversampled; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayIndexConverter.DenormalizeIndices(System.Int32[],System.Int32[],System.Int32[],System.Boolean)">
            <summary>
            Denormalizes the indices.
            </summary>
            <param name="normalizedIndices">The normalized indices</param>
            <param name="lowerBounds">The lower bounds.</param>
            <param name="upperBounds">The upper bounds.</param>
            <param name="oversampled">if set to <c>true</c> [oversampled].</param>
            <returns>System.Int32[].</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayIndexConverter.DenormalizeIndices(System.Int32[],TwinCAT.TypeSystem.IArrayType)">
            <summary>
            Denormalizes the indices.
            </summary>
            <param name="normalizedIndices">The normalized indices.</param>
            <param name="type">The type.</param>
            <returns>System.Int32[].</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayIndexConverter.IsOversamplingElement(System.Int32,System.Int32[],System.Int32[])">
            <summary>
            Determines whether the subIndex specifies an oversampling element.
            </summary>
            <param name="subIndex">SubIndex / Position..</param>
            <param name="lowerBounds">The lower bounds.</param>
            <param name="upperBounds">The upper bounds.</param>
            <returns><c>true</c> if [is oversampling element] [the specified lower bounds]; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayIndexConverter.TryIsOversamplingElement(System.Int32,System.Int32[],System.Int32[])">
            <summary>
            Determines whether the subIndex specifies an oversampling element.
            </summary>
            <param name="subIndex">SubIndex / Position..</param>
            <param name="lowerBounds">The lower bounds.</param>
            <param name="upperBounds">The upper bounds.</param>
            <returns><c>true</c> if [is oversampling element] [the specified lower bounds]; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayIndexConverter.IsOversamplingIndex(System.Int32[],TwinCAT.TypeSystem.IArrayType)">
            <summary>
            Determines whether the indices specify the oversampling Element
            </summary>
            <param name="indices">The indices.</param>
            <param name="type">The type.</param>
            <returns><c>true</c> if [is oversampling index] [the specified indices]; otherwise, <c>false</c>.</returns>
            <exception cref="T:System.ArgumentNullException">
            type
            or
            indices
            </exception>
            <exception cref="T:System.ArgumentException">Specified type is not an Oversampling type;type</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayIndexConverter.IsOversamplingIndex(System.Int32[],System.Int32[],System.Int32[])">
            <summary>
            Determines whether the indices specifies the oversampling element.
            </summary>
            <param name="indices">The indices.</param>
            <param name="lowerBounds">The lower bounds.</param>
            <param name="upperBounds">The upper bounds.</param>
            <returns><c>true</c> if [is oversampling index] [the specified indices]; otherwise, <c>false</c>.</returns>
            <exception cref="T:System.ArgumentNullException">
            lowerBounds
            or
            upperBounds
            </exception>
            <exception cref="T:System.ArgumentException">Dimensions mismatch!</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Oversampling arrays only support one Dimension!</exception>
        </member>
        <member name="T:TwinCAT.TypeSystem.DataTypeStringParser">
            <summary>
            DataType String Parser class.
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.TypeSystem.DataTypeStringParser.arrayExpression">
            <summary>
            Regular expression, parsing a Standard Array name with specified Dimension boundaries.
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.DataTypeStringParser.arrayDynExpression">
            <summary>
            Regular expression, ,parsing a Dynamic Array name, where the Dimension boundaries are return as unparsed string.
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.DataTypeStringParser.TryParseString(System.String,System.Int32@,System.Boolean@)">
            <summary>
            Tries to parse the string.
            </summary>
            <param name="typeName">Name of the type.</param>
            <param name="length">The character count of the string (not including the /0)</param>
            <param name="isUnicode">if set to <c>true</c> the typename specifies an unicode (WSTRING) string </param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DataTypeStringParser.IsString(System.String)">
            <summary>
            Determines whether the specified type name is string.
            </summary>
            <param name="typeName">Name of the type.</param>
            <returns><c>true</c> if the specified type name is string; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DataTypeStringParser.TryParseDynamicArray(System.String,System.Collections.Generic.List{System.Collections.Generic.Dictionary{System.String,System.String}}@,System.String@)">
            <summary>
            Tries to parse a dynamic array string
            </summary>
            <param name="typeName">Name of the Dynamic array.</param>
            <param name="dims">List of Dimension specifications.</param>
            <param name="baseType">Base type string</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
            <remarks>The Problem is, that dynamic arrays contain expressions/Variables for Upper/Lower Bound and not the real Dimension values.
            Therefore, this function parses the dimensions only as Dictionary (LowerBound/UpperBound --&gt; Value), in a list for each dimension.
            Furthermore, the base Type string of the ElementType is extracted.
            </remarks>
        </member>
        <member name="M:TwinCAT.TypeSystem.DataTypeStringParser.IsArray(System.String)">
            <summary>
            Determines whether the specified type name is array.
            </summary>
            <param name="typeName">Name of the type.</param>
            <returns><c>true</c> if the specified type name is array; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DataTypeStringParser.TryParsePointer(System.String,System.String@)">
            <summary>
            Tries to parse the pointer type
            </summary>
            <param name="typeName">Name of the Pointer type</param>
            <param name="referencedType">Type of the referenced type.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">typteName</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DataTypeStringParser.IsPointer(System.String)">
            <summary>
            Determines whether the specified type name is pointer.
            </summary>
            <param name="typeName">Name of the type.</param>
            <returns><c>true</c> if the specified type name is pointer; otherwise, <c>false</c>.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">typteName</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DataTypeStringParser.TryParseReference(System.String,System.String@)">
            <summary>
            Tries to parse a referenc type
            </summary>
            <param name="typeName">Name of the type.</param>
            <param name="referencedType">Type of the referenced.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DataTypeStringParser.IsReference(System.String)">
            <summary>
            Determines whether the specified type name is reference.
            </summary>
            <param name="typeName">Name of the type.</param>
            <returns><c>true</c> if the specified type name is reference; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DataTypeStringParser.TryParseSubRange``1(System.String,System.String@,``0@,``0@)">
            <summary>
            Tries to parse the string as SubRange type.
            </summary>
            <param name="typeName">Name of the type.</param>
            <param name="baseType">Type of the base.</param>
            <param name="lowerBound">The lower bound.</param>
            <param name="upperBound">The upper bound.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DataTypeStringParser.IsSubRange(System.String)">
            <summary>
            Determines whether the specified string is a subrange type.
            </summary>
            <param name="typeName">Name of the type.</param>
            <returns><c>true</c> if [is sub range] [the specified type name]; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DataTypeStringParser.IsPlatformBoundType(System.String)">
            <summary>
            Determines whether the specified type name is a 'special type' (UXINT,XINT,XWORD).
            </summary>
            <param name="typeName">Name of the type.</param>
            <returns><c>true</c> if [is special type name] [the specified type name]; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DataTypeStringParser.IsIntegralType(System.String)">
            <summary>
            Determines whether the specified Type name is an (complex) intrinsic type
            </summary>
            <param name="typeName">Name of the type.</param>
            <returns><c>true</c> if [is intrinsic type] [the specified type name]; otherwise, <c>false</c>.</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.Generic.IDataTypeContainer`1">
            <summary>
            Data Type container interface
            </summary>
            <typeparam name="T">Data Type type.</typeparam>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.IDataTypeContainer`1.ContainsType(System.String)">
            <summary>
            Determines whether the container contains the specified <see cref="T:TwinCAT.TypeSystem.IDataType" />.
            </summary>
            <param name="name">The name.</param>
            <returns><c>true</c> if contained; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.IDataTypeContainer`1.TryGetType(System.String,`0@)">
            <summary>
            Tries to get the specified <see cref="T:TwinCAT.TypeSystem.IDataType" /> from the <see cref="T:TwinCAT.TypeSystem.Generic.IDataTypeContainer`1" />.
            </summary>
            <param name="name">The name.</param>
            <param name="type">The type (Out parameter)</param>
            <returns>true if found</returns>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.IDataTypeContainer`1.Item(System.String)">
            <summary>
            Gets the <see cref="T:TwinCAT.TypeSystem.IDataType" /> with the specified name.
            </summary>
            <param name="name">The name.</param>
            <returns>T.</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.Generic.DataTypeCollection`1">
            <summary>
            Data type collection
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="F:TwinCAT.TypeSystem.Generic.DataTypeCollection`1.list">
            <summary>
            Internal list of data types
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.Generic.DataTypeCollection`1.nameDict">
            <summary>
            Dictionary (Type Name --&gt; DataType)
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.DataTypeCollection`1.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.DataTypeCollection" /> class.
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.DataTypeCollection`1.#ctor(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.Generic.DataTypeCollection`1" /> class.
            </summary>
            <param name="types">The types.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.DataTypeCollection`1.Clone">
            <summary>
            Clones this instance.
            </summary>
            <returns>DataTypeCollection&lt;T&gt;.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.DataTypeCollection`1.IndexOf(`0)">
            <summary>
            Determines the Index of the specified <see cref="T:TwinCAT.TypeSystem.IDataType" />.
            </summary>
            <param name="item">The item.</param>
            <returns>The index of <paramref name="item" /> if found in the list; otherwise, -1.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.DataTypeCollection`1.Insert(System.Int32,`0)">
            <summary>
            Inserts an <see cref="T:TwinCAT.TypeSystem.IDataType" /> into the <see cref="T:TwinCAT.TypeSystem.DataTypeCollection" />.
            </summary>
            <param name="index">The index.</param>
            <param name="item">The item.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.DataTypeCollection`1.RemoveAt(System.Int32)">
            <summary>
            Removes the <see cref="T:TwinCAT.TypeSystem.IDataType" /> object at the specified index.
            </summary>
            <param name="index">The index.</param>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.DataTypeCollection`1.Item(System.Int32)">
            <summary>
            Gets or sets the <see cref="T:TwinCAT.TypeSystem.IDataType" /> at the specified index.
            </summary>
            <param name="index">The index.</param>
            <returns>T.</returns>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.DataTypeCollection`1.Item(System.String)">
            <summary>
            Gets the <see cref="T:TwinCAT.TypeSystem.IDataType" /> with the specified name.
            </summary>
            <param name="name">The name.</param>
            <returns>T.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.DataTypeCollection`1.ContainsType(System.String)">
            <summary>
            Determines whether the container contains the specified <see cref="T:TwinCAT.TypeSystem.IDataType" />.
            </summary>
            <param name="name">The name.</param>
            <returns><c>true</c> if contained; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.DataTypeCollection`1.TryGetType(System.String,`0@)">
            <summary>
            Tries to get the specified <see cref="T:TwinCAT.TypeSystem.IDataType" /> from the <see cref="T:TwinCAT.TypeSystem.Generic.IDataTypeContainer`1" />.
            </summary>
            <param name="name">The name.</param>
            <param name="type">The type (Out parameter)</param>
            <returns>true if found</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.DataTypeCollection`1.LookupType(System.String)">
            <summary>
            Determines the specified <see cref="T:TwinCAT.TypeSystem.IDataType" />
            </summary>
            <param name="name">The name.</param>
            <returns>The <see cref="T:TwinCAT.TypeSystem.IDataType" /> if found, otherwise <c>NULL</c></returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.DataTypeCollection`1.Add(`0)">
            <summary>
            Adds the specified item to the collection.
            </summary>
            <param name="item">The item.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.DataTypeCollection`1.AddRange(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Adds a range of types
            </summary>
            <param name="types">The types.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.DataTypeCollection`1.Clear">
            <summary>
            Clears the collection.
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.DataTypeCollection`1.Contains(`0)">
            <summary>
            Determines whether this <see cref="T:TwinCAT.TypeSystem.DataTypeCollection" /> contains the specified <see cref="T:TwinCAT.TypeSystem.IDataType" />.
            </summary>
            <param name="item">The item.</param>
            <returns><c>true</c> if [contains] [the specified item]; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.DataTypeCollection`1.CopyTo(`0[],System.Int32)">
            <summary>
            Copies the data types to the specified array, starting at the array index.
            </summary>
            <param name="array">The array.</param>
            <param name="arrayIndex">Index of the array.</param>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.DataTypeCollection`1.Count">
            <summary>
            Gets the count of contained <see cref="T:TwinCAT.TypeSystem.IDataType" />s.
            </summary>
            <value>The count.</value>
        </member>
        <member name="F:TwinCAT.TypeSystem.Generic.DataTypeCollection`1.readOnly">
            <summary>
            Indicates that the <see cref="T:TwinCAT.TypeSystem.Generic.DataTypeCollection`1" /> is readonly
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.DataTypeCollection`1.IsReadOnly">
            <summary>
            Gets a value indicating whether this instance is read only.
            </summary>
            <value><c>true</c> if this instance is read only; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.DataTypeCollection`1.Remove(`0)">
            <summary>
            Removes the specified <see cref="T:TwinCAT.TypeSystem.IDataType" />.
            </summary>
            <param name="item">The item.</param>
            <returns>true if <paramref name="item" /> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false. This method also returns false if <paramref name="item" /> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1" />.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.DataTypeCollection`1.GetEnumerator">
            <summary>
            Gets the enumerator.
            </summary>
            <returns>A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.DataTypeCollection`1.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.DataTypeCollection`1.AsReadOnly">
            <summary>
            Converts the <see cref="T:TwinCAT.TypeSystem.Generic.DataTypeCollection`1" /> into a <see cref="T:System.Collections.ObjectModel.ReadOnlyCollection`1" />
            </summary>
            <returns>ReadOnlyDataTypeCollection&lt;T&gt;.</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.Generic.ReadOnlyDataTypeCollection`1">
            <summary>
            ReadOnly DataType collection
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.ReadOnlyDataTypeCollection`1.#ctor(TwinCAT.TypeSystem.Generic.ReadOnlyDataTypeCollection{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.Generic.ReadOnlyDataTypeCollection`1" /> class.
            </summary>
            <param name="coll">The coll.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.ReadOnlyDataTypeCollection`1.#ctor(TwinCAT.TypeSystem.Generic.DataTypeCollection{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.Generic.ReadOnlyDataTypeCollection`1"/> class.
            </summary>
            <param name="coll">The collection.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.ReadOnlyDataTypeCollection`1.ContainsType(System.String)">
            <summary>
            Determines whether the specified name contains type.
            </summary>
            <param name="name">The name.</param>
            <returns><c>true</c> if the specified name contains type; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.ReadOnlyDataTypeCollection`1.TryGetType(System.String,`0@)">
            <summary>
            Tries to get the Type with the specified name out of the collection.
            </summary>
            <param name="name">The name.</param>
            <param name="type">The type.</param>
            <returns>true if found</returns>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.ReadOnlyDataTypeCollection`1.Item(System.String)">
            <summary>
            Gets the element with the specified type name.
            </summary>
            <param name="name">The name.</param>
            <returns>T.</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.Generic.IInstanceCollection`1">
            <summary>
            Generic InstanceColleciton interface.
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.IInstanceCollection`1.Contains(System.String)">
            <summary>
            Determines whether this collection contains an instance with the specified instance path.
            </summary>
            <param name="instancePath">The instance path.</param>
            <returns>
                <c>true</c> if this collection contains the specified instance path; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.IInstanceCollection`1.ContainsName(System.String)">
            <summary>
            Determines whether this collection contains an instance with the specified instance name.
            </summary>
            <param name="instanceName">Name of the instance.</param>
            <returns>
                <c>true</c> if this collection contains the specified instance path; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.IInstanceCollection`1.Item(System.String)">
            <summary>
            Gets the <see cref="T:TwinCAT.TypeSystem.IInstance"/> with the specified instance path.
            </summary>
            <value></value>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.IInstanceCollection`1.TryGetInstance(System.String,`0@)">
            <summary>
            Tries to get the specified instance.
            </summary>
            <param name="instancePath">The instance path.</param>
            <param name="symbol">The symbol.</param>
            <returns><c>true</c> if the <see cref="T:TwinCAT.TypeSystem.IInstance"/> is found; otherwise, <c>false</c></returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.IInstanceCollection`1.TryGetInstanceByName(System.String,System.Collections.Generic.IList{`0}@)">
            <summary>
            Tries to get the specified instance by name.
            </summary>
            <param name="instanceName">Name of the instance.</param>
            <param name="symbols">The found symbols.</param>
            <returns><c>true</c> if the <see cref="T:TwinCAT.TypeSystem.IInstance"/> is found; otherwise, <c>false</c></returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.IInstanceCollection`1.GetInstance(System.String)">
            <summary>
            Gets the <see cref="T:TwinCAT.TypeSystem.IInstance"/>by instance path.
            </summary>
            <param name="instancePath">The instance path.</param>
            <returns>T.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.IInstanceCollection`1.GetInstanceByName(System.String)">
            <summary>
            Gets the <see cref="T:TwinCAT.TypeSystem.IInstance" /> by instance name.
            </summary>
            <param name="instanceName">Name of the instance.</param>
            <returns>IList&lt;T&gt;.</returns>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.IInstanceCollection`1.Mode">
            <summary>
            Gets the <see cref="T:TwinCAT.TypeSystem.Generic.InstanceCollectionMode"/>.
            </summary>
            <value>The mode.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.Generic.InstanceCollectionMode">
            <summary>
            Enum InstanceCollectionMode
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.Generic.InstanceCollectionMode.Names">
            <summary>
            InstanceCollection{T} is organized with InstanceNames instead of Instance Paths
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.Generic.InstanceCollectionMode.Path">
            <summary>
            InstanceCollection{T} is organized with InstancePaths in a flat list
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.Generic.InstanceCollectionMode.PathHierarchy">
            <summary>
            InstanceCollection{T} is organized with InstancePaths in a Hierarchy (Only Root objects appearing)
            </summary>
        </member>
        <member name="T:TwinCAT.TypeSystem.Generic.InstanceCollection`1">
            <summary>
            Base class for <see cref="T:TwinCAT.TypeSystem.IInstance" /> object collections (abstract).
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="F:TwinCAT.TypeSystem.Generic.InstanceCollection`1._list">
            <summary>
            The _list
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.Generic.InstanceCollection`1._pathDict">
            <summary>
            The _path dictionary
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.InstanceCollection`1.#ctor(TwinCAT.TypeSystem.Generic.InstanceCollectionMode)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.Generic.InstanceCollection`1" /> class.
            </summary>
            <param name="mode">The mode.</param>
        </member>
        <member name="F:TwinCAT.TypeSystem.Generic.InstanceCollection`1.mode">
            <summary>
            The mode this <see cref="T:TwinCAT.TypeSystem.Generic.InstanceCollection`1"/> is working in.
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.InstanceCollection`1.#ctor(System.Collections.Generic.IEnumerable{`0},TwinCAT.TypeSystem.Generic.InstanceCollectionMode)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.Generic.InstanceCollection`1" /> class.
            </summary>
            <param name="coll">The copy collection</param>
            <param name="mode">The mode.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.InstanceCollection`1.IndexOf(`0)">
            <summary>
            Determines the index of the specified <see cref="T:TwinCAT.TypeSystem.IInstance" />.
            </summary>
            <param name="item">The item.</param>
            <returns>The index of <paramref name="item" /> if found in the list; otherwise, -1.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.InstanceCollection`1.Insert(System.Int32,`0)">
            <summary>
            Inserts the specified <see cref="T:TwinCAT.TypeSystem.IInstance" /> at the specified index.
            </summary>
            <param name="index">The instance.</param>
            <param name="instance">The item.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            index
            or
            index
            </exception>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.InstanceCollection`1.RemoveAt(System.Int32)">
            <summary>
            Removes the <see cref="T:TwinCAT.TypeSystem.IInstance" /> at the specified index.
            </summary>
            <param name="index">The index.</param>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.InstanceCollection`1.Item(System.Int32)">
            <summary>
            Gets or sets the <see cref="T:TwinCAT.TypeSystem.IInstance" /> at the specified index.
            </summary>
            <param name="index">The index.</param>
            <returns>T.</returns>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.InstanceCollection`1.Item(System.String)">
            <summary>
            Gets the <see cref="T:TwinCAT.TypeSystem.IInstance" /> with the specified instance path.
            </summary>
            <param name="instanceSpecifier">The instance path or Instance Name (dependent of <see cref="P:TwinCAT.TypeSystem.Generic.InstanceCollection`1.Mode"/> setting)</param>
            <returns>T.</returns>
            <exception cref="T:System.ArgumentNullException"></exception>
            <exception cref="T:System.ArgumentException"></exception>
            <remarks>Dependent what this <see cref="T:TwinCAT.TypeSystem.Generic.InstanceCollection`1"/> contains configured by the <see cref="T:TwinCAT.TypeSystem.Generic.InstanceCollectionMode"/>
            the instance specifier should be the <see cref="P:TwinCAT.TypeSystem.IInstance.InstanceName"/> or the <see cref="P:TwinCAT.TypeSystem.IInstance.InstancePath"/>.
            </remarks>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.InstanceCollection`1.Add(`0)">
            <summary>
            Adds the specified item.
            </summary>
            <param name="item">The item.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.InstanceCollection`1.AddRange(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Adds the specified items to this collection.
            </summary>
            <param name="items">The items.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.InstanceCollection`1.Clear">
            <summary>
            Clears this instance.
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.InstanceCollection`1.Contains(`0)">
            <summary>
            Determines whether this collection contains the specified <see cref="T:TwinCAT.TypeSystem.IInstance" />
            </summary>
            <param name="item">The item.</param>
            <returns><c>true</c> if [contains] [the specified item]; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.InstanceCollection`1.Contains(System.String)">
            <summary>
            Determines whether this collection contains an <see cref="T:TwinCAT.TypeSystem.IInstance" /> with the specified InstanceName / InstancePath
            </summary>
            <param name="instanceSpecifier">The instance path or Instance Name (dependent of <see cref="P:TwinCAT.TypeSystem.Generic.InstanceCollection`1.Mode"/> setting)</param>
            <returns><c>true</c> if [contains] [the specified instance path]; otherwise, <c>false</c>.</returns>
            <exception cref="T:System.ArgumentNullException">instancePath</exception>
            <exception cref="T:System.ArgumentException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.InstanceCollection`1.TryGetInstance(System.String,`0@)">
            <summary>
            Tries to get the <see cref="T:TwinCAT.TypeSystem.IInstance" />. of the specified path.
            </summary>
            <param name="instanceSpecifier">The instance path or Instance Name (dependent of <see cref="P:TwinCAT.TypeSystem.Generic.InstanceCollection`1.Mode"/> setting)</param>
            <param name="symbol">The symbol.</param>
            <returns><c>true</c> if the <see cref="T:TwinCAT.TypeSystem.IInstance" /> is found; otherwise, <c>false</c></returns>
            <exception cref="T:System.ArgumentNullException">instancePath</exception>
            <exception cref="T:System.ArgumentException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.InstanceCollection`1.TryGetInstanceHierarchically(System.String,`0@)">
            <summary>
            Tries to get the Symbol Hierarchically from a dotted instance path.
            </summary>
            <param name="instancePath">The instance path.</param>
            <param name="symbol">The symbol.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
            <remarks>If we have provider.SymbolsInternal root object, the Roots are organized from different (virtual) namespaces.
            The need is to find the symbol independent independent of the root has a dotted instance path, or it is organized (bound) in a ChildInstance level.
            </remarks>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.InstanceCollection`1.TryGetSubItem(TwinCAT.TypeSystem.Generic.IInstanceCollection{`0},System.String[],System.Int32,`0@)">
            <summary>
            Tries to get the SubSymbol from split InstancePath
            </summary>
            <param name="coll">The collection.</param>
            <param name="pathSplit">The path split.</param>
            <param name="splitIndex">Index of the split.</param>
            <param name="symbol">The symbol.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.InstanceCollection`1.CopyTo(`0[],System.Int32)">
            <summary>
            Copies this <see cref="T:TwinCAT.TypeSystem.Generic.InstanceCollection`1" /> to the specified array.
            </summary>
            <param name="array">The array.</param>
            <param name="arrayIndex">Index of the array.</param>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.InstanceCollection`1.Count">
            <summary>
            Gets the collection count.
            </summary>
            <value>The count.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.InstanceCollection`1.IsReadOnly">
            <summary>
            Gets a value indicating whether this instance is read only.
            </summary>
            <value><c>true</c> if this instance is read only; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.InstanceCollection`1.Mode">
            <summary>
            Gets the <see cref="T:TwinCAT.TypeSystem.Generic.InstanceCollectionMode" />.
            </summary>
            <value>The mode.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.InstanceCollection`1.Remove(`0)">
            <summary>
            Removes the specified item.
            </summary>
            <param name="item">The item.</param>
            <returns>true if <paramref name="item" /> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false. This method also returns false if <paramref name="item" /> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1" />.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.InstanceCollection`1.GetEnumerator">
            <summary>
            Gets the enumerator.
            </summary>
            <returns>A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.InstanceCollection`1.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.InstanceCollection`1.AsReadOnly">
            <summary>
            Converts the <see cref="T:TwinCAT.TypeSystem.Generic.InstanceCollection`1" /> to an <see cref="T:TwinCAT.TypeSystem.Generic.ReadOnlyInstanceCollection`1" />
            </summary>
            <returns>ReadOnlyInstanceCollection&lt;T&gt;.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.InstanceCollection`1.TryGetInstanceByName(System.String,System.Collections.Generic.IList{`0}@)">
            <summary>
            Tries to get Instnaces by name.
            </summary>
            <param name="instanceName">Name of the instance.</param>
            <param name="instances">The instances found.</param>
            <returns><c>true</c> if the <see cref="T:TwinCAT.TypeSystem.IInstance" /> is found; otherwise, <c>false</c></returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.InstanceCollection`1.ContainsName(System.String)">
            <summary>
            Determines whether the specified instance name contains name.
            </summary>
            <param name="instanceName">Name of the instance.</param>
            <returns><c>true</c> if the specified instance name contains name; otherwise, <c>false</c>.</returns>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.InstanceCollection`1.GetInstance(System.String)">
            <summary>
            Gets the <see cref="T:TwinCAT.TypeSystem.IInstance" />by instance path.
            </summary>
            <param name="instanceSpecifier">The instance path or Instance Name (dependent of <see cref="P:TwinCAT.TypeSystem.Generic.InstanceCollection`1.Mode"/> setting)</param>
            <returns>T.</returns>
            <exception cref="T:System.ArgumentException">Path not found!;instancePath</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.InstanceCollection`1.GetInstanceByName(System.String)">
            <summary>
            Gets the name of the instance by.
            </summary>
            <param name="instanceName">Name of the instance.</param>
            <returns>IList&lt;T&gt;.</returns>
            <exception cref="T:System.ArgumentException">Name not found!;instanceName</exception>
        </member>
        <member name="T:TwinCAT.TypeSystem.Generic.ReadOnlyInstanceCollection`1">
            <summary>
            ReadOnly Instance collection
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.ReadOnlyInstanceCollection`1.Mode">
            <summary>
            Gets the <see cref="T:TwinCAT.TypeSystem.Generic.InstanceCollectionMode" />.
            </summary>
            <value>The mode.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.ReadOnlyInstanceCollection`1.#ctor(TwinCAT.TypeSystem.Generic.IInstanceCollection{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.Generic.ReadOnlyInstanceCollection`1"/> class.
            </summary>
            <param name="coll">The coll.</param>
        </member>
        <member name="F:TwinCAT.TypeSystem.Generic.ReadOnlyInstanceCollection`1.mode">
            <summary>
            Mode of the <see cref="T:TwinCAT.TypeSystem.Generic.IInstanceCollection`1"/>
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.ReadOnlyInstanceCollection`1.Contains(System.String)">
            <summary>
            Determines whether the <see cref="T:TwinCAT.TypeSystem.Generic.ReadOnlyInstanceCollection`1"/> contains an instance with the specified instance path.
            </summary>
            <param name="instancePath">The instance path.</param>
            <returns>
              <c>true</c> if contains the specified instance path; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.ReadOnlyInstanceCollection`1.Item(System.String)">
            <summary>
            Gets the element with the specified instance path.
            </summary>
            <param name="instancePath">The instance path.</param>
            <returns>The instance if contained.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.ReadOnlyInstanceCollection`1.TryGetInstance(System.String,`0@)">
            <summary>
            Tries to get the instance with the specified instance path.
            </summary>
            <param name="instancePath">The instance path.</param>
            <param name="instance">The instance.</param>
            <returns>true, if found, false if not contained.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.ReadOnlyInstanceCollection`1.TryGetInstanceByName(System.String,System.Collections.Generic.IList{`0}@)">
            <summary>
            Tries to get the instance by name.
            </summary>
            <param name="instanceName">Name of the instance.</param>
            <param name="symbols">The found symbols (out-parameter)</param>
            <returns>true, if found; false if not contained.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.ReadOnlyInstanceCollection`1.ContainsName(System.String)">
            <summary>
            Determines whether the specified instance is contained.
            </summary>
            <param name="instanceName">Name of the instance.</param>
            <returns>true, if instance name is found.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.ReadOnlyInstanceCollection`1.GetInstance(System.String)">
            <summary>
            Gets the <see cref="T:TwinCAT.TypeSystem.IInstance" />by instance path.
            </summary>
            <param name="instancePath">The instance path.</param>
            <returns>T.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.ReadOnlyInstanceCollection`1.GetInstanceByName(System.String)">
            <summary>
            Gets the <see cref="T:TwinCAT.TypeSystem.IInstance" /> by instance name.
            </summary>
            <param name="instanceName">Name of the instance.</param>
            <returns>IList&lt;T&gt;.</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.Generic.ISymbolCollection`1">
            <summary>
            Interface ISymbolCollection
            </summary>
            <typeparam name="T"></typeparam>
            <seealso cref="T:TwinCAT.TypeSystem.Generic.IInstanceCollection`1" />
        </member>
        <member name="T:TwinCAT.TypeSystem.Generic.SymbolCollection`1">
            <summary>
            Interface represents a collection of <see cref="T:TwinCAT.TypeSystem.ISymbol" /> objects.
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.SymbolCollection`1.#ctor(TwinCAT.TypeSystem.Generic.InstanceCollectionMode)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.Generic.SymbolCollection`1" /> class.
            </summary>
            <param name="mode">The mode.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.SymbolCollection`1.#ctor(System.Collections.Generic.IEnumerable{`0},TwinCAT.TypeSystem.Generic.InstanceCollectionMode)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.SymbolCollection" /> class.
            </summary>
            <param name="coll">The collection to be copied.</param>
            <param name="mode">The mode.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.SymbolCollection`1.AsReadOnly">
            <summary>
            Returns a Read only version of this collection (shallow copy).
            </summary>
            <returns>ReadOnlySymbolCollection&lt;T&gt;.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.SymbolCollection`1.Clone">
            <summary>
            Clones this instance.
            </summary>
            <returns>SymbolCollection&lt;T&gt;.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.SymbolCollection`1.TryGetInstances(System.Func{`0,System.Boolean},System.Boolean,System.Collections.Generic.IList{`0}@)">
            <summary>
            Try to get instances with predicate function
            </summary>
            <param name="predicate">The predicate function</param>
            <param name="recurse">if set to <c>true</c> the symbol hierarchy will be searched recursively.</param>
            <param name="instances">The instances.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.Generic.ReadOnlySymbolCollection`1">
            <summary>
            Read only symbol collection.
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.ReadOnlySymbolCollection`1.#ctor(TwinCAT.TypeSystem.Generic.IInstanceCollection{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.Generic.ReadOnlySymbolCollection`1"/> class.
            </summary>
            <param name="coll">The coll.</param>
        </member>
        <member name="T:TwinCAT.TypeSystem.Generic.INamespaceCollection`2">
            <summary>
            Namespace collection interface
            </summary>
            <typeparam name="N">Namespace</typeparam>
            <typeparam name="T">Datatype</typeparam>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.INamespaceCollection`2.ContainsNamespace(System.String)">
            <summary>
            Determines whether the specified namespace name is contained by the collection.
            </summary>
            <param name="namespaceName">Name of the namespace.</param>
            <returns><c>true</c> if the specified namespace is contained; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.INamespaceCollection`2.TryGetNamespace(System.String,`0@)">
            <summary>
            Try to get the specified namespace.
            </summary>
            <param name="namespaceName">Name of the namespace.</param>
            <param name="nspace">The found namespace (out-parameter)</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.INamespaceCollection`2.Item(System.String)">
            <summary>
            Gets the specified data type.
            </summary>
            <param name="namespaceName">Name of the namespace.</param>
            <returns>true if found, false if not contained.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.INamespaceCollection`2.TryGetType(System.String,`1@)">
            <summary>
            Tries to get the specified type
            </summary>
            <param name="typeName">Name of the type.</param>
            <param name="dataType">Data Type (out-parameter).</param>
            <returns>true if found, false if not contained.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.INamespaceCollection`2.TryGetTypeByFullName(System.String,`1@)">
            <summary>
            Tries to get the data type by full name.
            </summary>
            <param name="fullName">Data types full name (including namespace)</param>
            <param name="dataType">Data Type (out-parameter)</param>
            <returns>true if found, false if not contained.</returns>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.INamespaceCollection`2.AllTypes">
            <summary>
            Gets all types included in all namespaces.
            </summary>
            <value>All types.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.Generic.NamespaceCollection`2">
            <summary>
            Generic class for Namespace collections
            </summary>
            <typeparam name="N"></typeparam>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.NamespaceCollection`2.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.Generic.NamespaceCollection`2"/> class.
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.Generic.NamespaceCollection`2.list">
            <summary>
            List of Namespaces
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.Generic.NamespaceCollection`2.namespaceDict">
            <summary>
            Dictionary NamespaceName --> INamespace
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.Generic.NamespaceCollection`2.allTypes">
            <summary>
            Dictionary FullPath -> IDataType
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.NamespaceCollection`2.IndexOf(`0)">
            <summary>
            Determines the index of a specific item in the <see cref="T:System.Collections.Generic.IList`1"></see>.
            </summary>
            <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.IList`1"></see>.</param>
            <returns>
            The index of item if found in the list; otherwise, -1.
            </returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.NamespaceCollection`2.Insert(System.Int32,`0)">
            <summary>
            Inserts an item to the <see cref="T:System.Collections.Generic.IList`1"></see> at the specified index.
            </summary>
            <param name="index">The zero-based index at which item should be inserted.</param>
            <param name="item">The object to insert into the <see cref="T:System.Collections.Generic.IList`1"></see>.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.NamespaceCollection`2.RemoveAt(System.Int32)">
            <summary>
            Removes the <see cref="T:System.Collections.Generic.IList`1"></see> item at the specified index.
            </summary>
            <param name="index">The zero-based index of the item to remove.</param>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.NamespaceCollection`2.Item(System.Int32)">
            <summary>
            Gets or sets the element at the specified index.
            </summary>
            <param name="index">The index.</param>
            <returns></returns>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.NamespaceCollection`2.Item(System.String)">
            <summary>
            Gets or sets the element at the specified index.
            </summary>
            <param name="str">The STR.</param>
            <returns></returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.NamespaceCollection`2.Add(`0)">
            <summary>
            Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1"></see>.
            </summary>
            <param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1"></see>.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.NamespaceCollection`2.Clear">
            <summary>
            Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1"></see>.
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.NamespaceCollection`2.Contains(`0)">
            <summary>
            Determines whether the <see cref="T:System.Collections.Generic.ICollection`1"></see> contains a specific value.
            </summary>
            <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1"></see>.</param>
            <returns>
            true if item is found in the <see cref="T:System.Collections.Generic.ICollection`1"></see>; otherwise, false.
            </returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.NamespaceCollection`2.CopyTo(`0[],System.Int32)">
            <summary>
            Copies to.
            </summary>
            <param name="array">The array.</param>
            <param name="arrayIndex">Index of the array.</param>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.NamespaceCollection`2.Count">
            <summary>
            Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"></see>.
            </summary>
            <returns>The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"></see>.</returns>
        </member>
        <member name="F:TwinCAT.TypeSystem.Generic.NamespaceCollection`2.readOnly">
            <summary>
            Read only indicator
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.NamespaceCollection`2.IsReadOnly">
            <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"></see> is read-only.
            </summary>
            <returns>true if the <see cref="T:System.Collections.Generic.ICollection`1"></see> is read-only; otherwise, false.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.NamespaceCollection`2.Remove(`0)">
            <summary>
            Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1"></see>.
            </summary>
            <param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1"></see>.</param>
            <returns>
            true if item was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1"></see>; otherwise, false. This method also returns false if item is not found in the original <see cref="T:System.Collections.Generic.ICollection`1"></see>.
            </returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.NamespaceCollection`2.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.NamespaceCollection`2.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.NamespaceCollection`2.ContainsNamespace(System.String)">
            <summary>
            Determines whether the specified name contains namespace.
            </summary>
            <param name="name">The name.</param>
            <returns>
              <c>true</c> if the specified name contains namespace; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.NamespaceCollection`2.TryGetNamespace(System.String,`0@)">
            <summary>
            Tries to get the namespace object
            </summary>
            <param name="name">The name.</param>
            <param name="nspace">The namespace object (out-parameter)</param>
            <returns>true if found, false if not contained.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.NamespaceCollection`2.TryGetType(System.String,`1@)">
            <summary>
            Tries to get the specified type.
            </summary>
            <param name="typeName">Data type name</param>
            <param name="dataType">The found data type (out-parameter).</param>
            <returns>true if found, false if not contained.</returns>
            <exception cref="T:System.ArgumentNullException">typeName</exception>
            <exception cref="T:System.ArgumentException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.NamespaceCollection`2.TryGetTypeByFullName(System.String,`1@)">
            <summary>
            Tries to get the data type by full name.
            </summary>
            <param name="fullname">DataTypes full name.</param>
            <param name="dataType">Found data type (out-parameter).</param>
            <returns>true if found, false if not contained.</returns>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.NamespaceCollection`2.AllTypes">
            <summary>
            Gets all types included in all namespaces.
            </summary>
            <value>All types.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.NamespaceCollection`2.AllTypesInternal">
            <summary>
            Gets all types included in all namespaces
            </summary>
            <value>All types internal.</value>
            <exclude/>
        </member>
        <member name="T:TwinCAT.TypeSystem.Generic.ReadOnlyNamespaceCollection`2">
            <summary>
            Read Only namespace collection
            </summary>
            <typeparam name="N"></typeparam>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.ReadOnlyNamespaceCollection`2.#ctor(TwinCAT.TypeSystem.Generic.NamespaceCollection{`0,`1})">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.Generic.ReadOnlyNamespaceCollection`2"/> class.
            </summary>
            <param name="coll">The coll.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.ReadOnlyNamespaceCollection`2.ContainsNamespace(System.String)">
            <summary>
            Determines whether this collection contains a namespace with the specified name.
            </summary>
            <param name="name">The name of the namespace</param>
            <returns>
              <c>true</c> if the namespace is contained; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.ReadOnlyNamespaceCollection`2.TryGetNamespace(System.String,`0@)">
            <summary>
            Tries to get the namespace with the specified name.
            </summary>
            <param name="name">Namespace name.</param>
            <param name="nspace">The found namespace (out-parameter).</param>
            <returns>true if found, false if not contained.</returns>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.ReadOnlyNamespaceCollection`2.Item(System.String)">
            <summary>
            Gets the element at the specified index.
            </summary>
            <param name="name">The name.</param>
            <returns></returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.ReadOnlyNamespaceCollection`2.TryGetType(System.String,`1@)">
            <summary>
            Tries to get the specified data type.
            </summary>
            <param name="typeName">Name of the type.</param>
            <param name="dataType">Data Type (out-parameter).</param>
            <returns>true if found, false if not contained.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.ReadOnlyNamespaceCollection`2.TryGetTypeByFullName(System.String,`1@)">
            <summary>
            Tries to get the specified type (by fullName)
            </summary>
            <param name="fullname">FullName of the data type.</param>
            <param name="dataType">Found Data type (out-parameter).</param>
            <returns>true if found, false if not contained.</returns>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.ReadOnlyNamespaceCollection`2.AllTypes">
            <summary>
            Gets all types included in all namespaces.
            </summary>
            <value>All types.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.Generic.ISymbolProvider`3">
            <summary>
            Symbol provider interface
            </summary>
            <typeparam name="N">Namespace type</typeparam>
            <typeparam name="T">DataType type</typeparam>
            <typeparam name="S">Symbol type</typeparam>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.ISymbolProvider`3.Namespaces">
            <summary>
            Get the Namespaces of DataTypes for this Symbol provider
            </summary>
            <value>ReadOnly collection of the namespaces.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.ISymbolProvider`3.RootNamespaceName">
            <summary>
            Gets the name of the root namespace
            </summary>
            <value>The namespace.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.ISymbolProvider`3.RootNamespace">
            <summary>
            Gets the root (main) namespace of the Symbol provider.
            </summary>
            <value>The root namespace.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.ISymbolProvider`3.Symbols">
            <summary>
            Gets the (root) symbols of the Symbol provider.
            </summary>
            <value>Read only collection of the Symbols</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.ISymbolProvider`3.DataTypes">
            <summary>
            Gets all data types from all Namespaces
            </summary>
            <value>The data types.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.Generic.IInternalSymbolProvider`3">
            <summary>
            Symbol provider interface
            </summary>
            <typeparam name="N">Namespace type</typeparam>
            <typeparam name="T">DataType type</typeparam>
            <typeparam name="S">Symbol type</typeparam>
            <exclude/>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.IInternalSymbolProvider`3.NamespacesInternal">
            <summary>
            Get the Namespaces of DataTypes for this Symbol provider
            </summary>
            <value>ReadOnly collection of the namespaces.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.IInternalSymbolProvider`3.SymbolsInternal">
            <summary>
            Gets the (root) symbols of the Symbol provider.
            </summary>
            <value>Read only collection of the Symbols</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.IInternalSymbolProvider`3.DataTypesInternal">
            <summary>
            Gets all data types from all Namespaces
            </summary>
            <value>The data types.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.Generic.INamespaceInternal`1">
            <summary>
            Interface INamespaceInternal
            </summary>
            <typeparam name="T">DataType</typeparam>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.INamespaceInternal`1.RegisterType(TwinCAT.TypeSystem.IDataType)">
            <summary>
            Registers the the specified DataType 
            </summary>
            <param name="type">The type.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.INamespaceInternal`1.RegisterTypes(System.Collections.Generic.IEnumerable{TwinCAT.TypeSystem.IDataType})">
            <summary>
            Registers the types.
            </summary>
            <param name="types">The types.</param>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.INamespaceInternal`1.DataTypesInternal">
            <summary>
            Access to the Internal DataTypes collection (read/write)
            </summary>
        </member>
        <member name="T:TwinCAT.TypeSystem.Generic.INamespace`1">
            <summary>
            Namespace interface
            </summary>
            <typeparam name="T">DataType class used within this Namespace interface</typeparam>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.INamespace`1.Name">
            <summary>
            Gets the name/ identifier of the Namespace
            </summary>
            <value>The name.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.INamespace`1.DataTypes">
            <summary>
            Data types organized by the <see cref="T:TwinCAT.TypeSystem.Generic.INamespace`1"/>
            </summary>
            <value>The data types.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.Generic.SymbolIterationMask">
            <summary>
            Mask Flagset to specify filters for <see cref="T:TwinCAT.TypeSystem.Generic.SymbolIterator`1"/>.
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.Generic.SymbolIterationMask.None">
            <summary>
            Uninitialized / None
            </summary>
            <remarks>Doesn't iterate over complex types
            </remarks>
        </member>
        <member name="F:TwinCAT.TypeSystem.Generic.SymbolIterationMask.Structures">
            <summary>
            Iterates over Subelements of Structs
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.Generic.SymbolIterationMask.Arrays">
            <summary>
            Iterates over Elements of Arrays
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.Generic.SymbolIterationMask.Unions">
            <summary>
            Iterates over Subelements of Unions
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.Generic.SymbolIterationMask.Pointer">
            <summary>
            Iterates over Pointer SubElements
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.Generic.SymbolIterationMask.References">
            <summary>
            Iterates over References
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.Generic.SymbolIterationMask.All">
            <summary>
            Iterates over All Complex/Combined types
            </summary>
        </member>
        <member name="T:TwinCAT.TypeSystem.Generic.SymbolIterator`1">
            <summary>
            Iterator class for enumerations of <see cref="T:TwinCAT.TypeSystem.ISymbol">Symbols</see>.
            </summary>
            <typeparam name="T">Concrete <see cref="T:TwinCAT.TypeSystem.ISymbol"/> type.</typeparam>
            <seealso cref="T:System.Collections.Generic.IEnumerable`1" />
            <remarks>This iterator class can be used to iterate over collections of symbol trees (root symbols + sub symbols).
            By constructor the user can choose if the iterator works recursively within the symbol
            tree and optionally a filter function to select only specific symbols (predicate).
            </remarks>
            <example>
            The following example shows how to determine, browse and filter symbols.
            <code language="C#" title="Browsing and filtering Symbols" source="..\Samples\TwinCAT.ADS.NET_Samples\01_ADS.NET_ReadWriteFlag\Form1.cs" region="CODE_SAMPLE_SYMBOLBROWSER" />
            </example>
        </member>
        <member name="F:TwinCAT.TypeSystem.Generic.SymbolIterator`1._symbols">
            <summary>
            The Symbol
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.SymbolIterator`1.#ctor(System.Collections.Generic.IEnumerable{`0},System.Boolean,System.Func{`0,System.Boolean})">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.Generic.SymbolIterator`1"/> class.
            </summary>
            <param name="symbols">Input collection (root objects).</param>
            <param name="recurse">if set to <c>true</c>, the iterator works recursively over all subsymbols.</param>
            <param name="predicate">The predicate.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.SymbolIterator`1.#ctor(System.Collections.Generic.IEnumerable{`0},System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.Generic.SymbolIterator`1" /> class.
            </summary>
            <param name="symbols">The root collection</param>
            <param name="recurse">if set to <c>true</c>, the iterator works recursively over all subsymbols.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.SymbolIterator`1.#ctor(TwinCAT.TypeSystem.Generic.IInstanceCollection{`0},System.Func{`0,System.Boolean})">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.Generic.SymbolIterator`1" /> class.
            </summary>
            <param name="symbols">The root symbols.</param>
            <param name="predicate">The predicate.</param>
            <exception cref="T:System.NotSupportedException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.SymbolIterator`1.#ctor(TwinCAT.TypeSystem.Generic.IInstanceCollection{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.Generic.SymbolIterator`1"/> class.
            </summary>
            <param name="symbols">The root symbols.</param>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.SymbolIterator`1.IterateArrayElements">
            <summary>
            Gets or sets a value indicating whether the iterator returns also instances of Array elements (default: true)
            </summary>
            <value><c>true</c> if [iterate array elements]; otherwise, <c>false</c>.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.SymbolIterator`1.IterateStructMembers">
            <summary>
            Gets or sets a value indicating whether the iterator returns also members of structs (default: true)
            </summary>
            <value><c>true</c> if [iterate struct members]; otherwise, <c>false</c>.</value>
            <exclude/>
        </member>
        <member name="F:TwinCAT.TypeSystem.Generic.SymbolIterator`1._mask">
            <summary>Symbol Iterator mask</summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.SymbolIterator`1.Mask">
            <summary>
            Gets or sets the <see cref="T:TwinCAT.TypeSystem.Generic.SymbolIterationMask"/>
            </summary>
            <value>The mask.</value>
            <remarks>This property can be used for prefiltering the iterator 
            without using a predicate function.
            </remarks>
        </member>
        <member name="P:TwinCAT.TypeSystem.Generic.SymbolIterator`1.SymbolRecursionDetection">
            <summary>
            Gets or sets a value indicating whether the iterator checks for Symbol recursions (true by default).
            </summary>
            <value><c>true</c> if recursion checking, <c>false</c> switched off check.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.SymbolIterator`1.GetEnumerator">
            <summary>
            Gets the enumerator that enumerates through a collection
            </summary>
            <returns>A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.</returns>
        </member>
        <member name="F:TwinCAT.TypeSystem.Generic.SymbolIterator`1._filter">
            <summary>
            The Filter Function
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.SymbolIterator`1.iterateSubSymbols(TwinCAT.TypeSystem.IDataType)">
            <summary>
            Indicates that the subsymbols of the parent should be iterated.
            </summary>
            <param name="type">The type.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.SymbolIterator`1.iterateSubSymbols(`0)">
            <summary>
            Indicates that the subsymbols of the parent should be iterated.
            </summary>
            <param name="parent">The type.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Generic.SymbolIterator`1.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.ISymbolLoader">
            <summary>
            Symbol Loader interface
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.ISymbolLoader.BuildInTypes">
            <summary>
            Gets the build in types.
            </summary>
            <value>The build in types.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.ISymbolLoader.Settings">
            <summary>
            Gets or sets the access Method
            </summary>
            <value>The access method.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.IDynamicSymbolLoader">
            <summary>
            Dynamic symbol loader interface
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.IDynamicSymbolLoader.SymbolsDynamic">
            <summary>
            Gets the symbols (late bound as dynamic objects)
            </summary>
            <value>The dynamic symbols.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.INotificationSettings">
            <summary>
            Interface for Notification Settings
            </summary>
        </member>
        <member name="T:TwinCAT.TypeSystem.SymbolFactoryServices">
            <summary>
            Class SymbolFactoriesContainer (for internal use only)
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.SymbolFactoryServices.#ctor(TwinCAT.TypeSystem.IBinder,TwinCAT.TypeSystem.ISymbolFactory,TwinCAT.ValueAccess.IAccessorRawValue,TwinCAT.ISession)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.SymbolFactoryServices" /> class (for internal use only).
            </summary>
            <param name="binder">The binder.</param>
            <param name="factory">The loader.</param>
            <param name="accessor">The accessor.</param>
            <param name="session">The session.</param>
            <exception cref="T:System.ArgumentNullException">binder
            or
            loader
            or
            accessor</exception>
            <exclude/>
        </member>
        <member name="F:TwinCAT.TypeSystem.SymbolFactoryServices._binder">
            <summary>
            Type Binder
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.SymbolFactoryServices._symbolFactory">
            <summary>
            Symbol Factory
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.SymbolFactoryServices._valueAccessor">
            <summary>
            Value accessor
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.SymbolFactoryServices._session">
            <summary>
            The session
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.SymbolFactoryServices.Binder">
            <summary>
            Gets the type binder.
            </summary>
            <value>The type binder.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.SymbolFactoryServices.SymbolFactory">
            <summary>
            Gets the symbol factory.
            </summary>
            <value>The symbol factory.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.SymbolFactoryServices.ValueAccessor">
            <summary>
            Gets the value accessor.
            </summary>
            <value>The value accessor.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.TypeSystem.SymbolFactoryServices.Session">
            <summary>
            Gets the session.
            </summary>
            <value>The session or NULL if not available</value>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="T:TwinCAT.TypeSystem.DataTypeCategory">
            <summary>
            Category of a DataType / Instance
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.DataTypeCategory.Unknown">
            <summary>
            Uninitialized / NotProcessed (0)
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.DataTypeCategory.None">
            <summary>
            Uninitialized / NotProcessed (0)
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.DataTypeCategory.Primitive">
            <summary>
            Simple / Base Data Type (1)
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.DataTypeCategory.Alias">
            <summary>
            Alias data type (2)
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.DataTypeCategory.Enum">
            <summary>
            Enumeration data type (3)
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.DataTypeCategory.Array">
            <summary>
            Array data type (4)
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.DataTypeCategory.Struct">
            <summary>
            Structure data type (5)
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.DataTypeCategory.FunctionBlock">
            <summary>
            Function block (POU) (6)
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.DataTypeCategory.Program">
            <summary>
            Program (POU) (7)
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.DataTypeCategory.Function">
            <summary>
            Function (POU) (8)
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.DataTypeCategory.SubRange">
            <summary>
            SubRange (9)
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.DataTypeCategory.String">
            <summary>
            Fixed length string (10)
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.DataTypeCategory.Bitset">
            <summary>
            Bitset (12)
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.DataTypeCategory.Pointer">
            <summary>
            Pointer type (13)
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.DataTypeCategory.Union">
            <summary>
            Union type (14)
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.DataTypeCategory.Reference">
            <summary>
            Reference type (15)
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.DataTypeCategory.Interface">
            <summary>
            The interface
            </summary>
        </member>
        <member name="T:TwinCAT.TypeSystem.IDataType">
            <summary>
            Base interface for objects representing data types
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.IDataType.Id">
            <summary>
            Gets the ID of the DataType
            </summary>
            <value>The id.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IDataType.Category">
            <summary>
            Gets the Data Type category
            </summary>
            <value>The category.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IDataType.Name">
            <summary>
            Gets the name of the Data Type (without namespace)
            </summary>
            <value>The name.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IDataType.Namespace">
            <summary>
            Gets the namespace string within the <see cref="T:TwinCAT.TypeSystem.IDataType"/> exists.
            </summary>
            <value>The namespace.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IDataType.FullName">
            <summary>
            Gets the full name of the <see cref="T:TwinCAT.TypeSystem.IDataType"/> (Namespace + Name)
            </summary>
            <value>The full name.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IDataType.IsPrimitive">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.TypeSystem.IDataType"/> is primitive
            </summary>
            <value>
                <c>true</c> if this instance is primitive; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IDataType.IsContainer">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.TypeSystem.IDataType"/> is a container type
            </summary>
            <remarks>Container Types are all types that contain SubElements like
            <list type="bullet">
            <item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Array"/></description></item>
            <item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Pointer"/></description></item>
            <item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Union"/></description></item>
            <item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Struct"/></description></item>
            <item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Function"/></description></item>
            <item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.FunctionBlock"/></description></item>
            <item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Program"/></description></item>
            </list>
            and the <see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Alias"/> and <see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Reference"/> types, if they have a container type as base type.
            </remarks>
            <value>
                <c>true</c> if this instance is container type; otherwise, <c>false</c>.
            </value>
            <seealso cref="P:TwinCAT.TypeSystem.IDataType.Category"/>
        </member>
        <member name="P:TwinCAT.TypeSystem.IDataType.IsPointer">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.TypeSystem.IDataType"/> is a pointer type
            </summary>
            <remarks>Pointer types can be dereferenced with the '^' operator.</remarks>
            <value>
                <c>true</c> if this instance is pointer type; otherwise, <c>false</c>.
            </value>
            <seealso cref="P:TwinCAT.TypeSystem.IDataType.Category"/>
        </member>
        <member name="P:TwinCAT.TypeSystem.IDataType.IsReference">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.TypeSystem.IDataType"/> is a reference type
            </summary>
            <remarks>Reference types can be dereferenced.</remarks>
            <value>
                <c>true</c> if this instance is container type; otherwise, <c>false</c>.
            </value>
            <seealso cref="P:TwinCAT.TypeSystem.IDataType.Category"/>
        </member>
        <member name="P:TwinCAT.TypeSystem.IDataType.Attributes">
            <summary>
            Gets the attributes of the <see cref="T:TwinCAT.TypeSystem.IDataType"/>
            </summary>
            <value>The attributes.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IDataType.Comment">
            <summary>
            Gets the comment behind the variable declaration.
            </summary>
            <value>Comment behind the variable declaration.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.DataTypeResolveStrategy">
            <summary>
            Enum DataTypeResolveStrategy
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.TypeSystem.DataTypeResolveStrategy.Alias">
            <summary>
            Resolve only chains of Alias(es)
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.DataTypeResolveStrategy.AliasReference">
            <summary>
            Resolve chains of Alias(es) and Reference(es)
            </summary>
        </member>
        <member name="T:TwinCAT.TypeSystem.IResolvableType">
            <summary>
            Alias/Reference Resolve interface
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.IResolvableType.ResolveType(TwinCAT.TypeSystem.DataTypeResolveStrategy)">
            <summary>
            Resolves this this DataType (if Alias/Reference)
            </summary>
            <returns>Resolved IDataType.</returns>
            <remarks>This interface is used for automatic Resolution of Alias/Reference within symbols.</remarks>
        </member>
        <member name="T:TwinCAT.TypeSystem.IBindable">
            <summary>
            Bindable interface for TypeBinder supported Types/Symbols
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.TypeSystem.IBindable.IsBound">
            <summary>
            Gets a value indicating whether this instance is bound.
            </summary>
            <value><c>true</c> if this instance is bound; otherwise, <c>false</c>.</value>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.IBindable.Bind(TwinCAT.TypeSystem.IBinder)">
            <summary>
            Binds this bindable object via the specified <see cref="T:TwinCAT.TypeSystem.IBinder"/>
            </summary>
            <param name="binder">The binder.</param>
            <exclude/>
        </member>
        <member name="T:TwinCAT.TypeSystem.DataTypeEventArgs">
            <summary>
            Class DataTypeEventArgs.
            </summary>
            <seealso cref="T:System.EventArgs" />
        </member>
        <member name="F:TwinCAT.TypeSystem.DataTypeEventArgs.DataTypes">
            <summary>
            The data types
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.DataTypeEventArgs.#ctor(System.Collections.Generic.IEnumerable{TwinCAT.TypeSystem.IDataType})">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.DataTypeEventArgs"/> class.
            </summary>
            <param name="types">The types.</param>
        </member>
        <member name="T:TwinCAT.TypeSystem.DataTypeNameEventArgs">
            <summary>
            Class DataTypeNameEventArgs.
            </summary>
            <seealso cref="T:System.EventArgs" />
        </member>
        <member name="F:TwinCAT.TypeSystem.DataTypeNameEventArgs.TypeName">
            <summary>
            The type name
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.DataTypeNameEventArgs.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.DataTypeNameEventArgs"/> class.
            </summary>
            <param name="typeName">Name of the type.</param>
        </member>
        <member name="T:TwinCAT.TypeSystem.IManagedMappableType">
            <summary>
            Interface IManagedMappableType specifies types that are directly mappable to .NET Types (Managed Types)
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.TypeSystem.IManagedMappableType.ManagedType">
            <summary>
            Gets the corresponding .NET Type if attached.
            </summary>
            <value>Dot net type.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.IUnionType">
            <summary>
            Interface for an union data type.
            </summary>
            <seealso cref="T:TwinCAT.TypeSystem.IDataType" />
        </member>
        <member name="P:TwinCAT.TypeSystem.IUnionType.Fields">
            <summary>
            Gets a readonly collection of the <see cref="T:TwinCAT.TypeSystem.IField">Members</see> of the <see cref="T:TwinCAT.TypeSystem.IUnionType"/>.
            </summary>
            <value>The members as readonly collection.</value>
            <remarks>If the <see cref="T:TwinCAT.TypeSystem.IStructType"/> is derived, only the extended members are returned. To get
            all supported members down the inheritance chain, use the <see cref="P:TwinCAT.TypeSystem.IStructType.AllMembers"/> property.</remarks>
        </member>
        <member name="T:TwinCAT.TypeSystem.IStructType">
            <summary>
            Interface representing Struct data types
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.IStructType.Members">
            <summary>
            Gets a readonly collection of the <see cref="T:TwinCAT.TypeSystem.IMember">Members</see> of the <see cref="T:TwinCAT.TypeSystem.IStructType"/>.
            </summary>
            <value>The members as readonly collection.</value>
            <remarks>If the <see cref="T:TwinCAT.TypeSystem.IStructType"/> is derived, only the extended members are returned. To get
            all supported members down the inheritance chain, use the <see cref="P:TwinCAT.TypeSystem.IStructType.AllMembers"/> property.</remarks>
        </member>
        <member name="P:TwinCAT.TypeSystem.IStructType.BaseTypeName">
            <summary>
            Gets the the Name of the Base class (if derived)
            </summary>
            <value>Empty if not derived.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IStructType.BaseType">
            <summary>
            Gets the structs Base Type (Null if not derived).
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.IStructType.AllMembers">
            <summary>
            Gets all members (down the derivation hierarchy)
            </summary>
            <value>All members.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IStructType.HasRpcMethods">
            <summary>
            Gets a value indicating whether this instance has RPC methods (Struct types only)
            </summary>
            <value><c>true</c> if this instance has RPC methods; otherwise, <c>false</c>.</value>
            <remarks>The DataType (Structure) must be marked with the PlcAttribute 'TcRpcEnable' to enable RpcMethods, otherwise
            RpcMethods are not passed through to the ADS symbolic information.</remarks>
        </member>
        <member name="T:TwinCAT.TypeSystem.IRpcCallableType">
            <summary>
            Interface representing an RPC callable <see cref="T:TwinCAT.TypeSystem.IStructType"/>
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.IRpcCallableType.RpcMethods">
            <summary>
            Gets the Method descriptions for the <see cref="T:TwinCAT.TypeSystem.IRpcCallableType"/>
            </summary>
            <remarks>The DataType (Structure) must be marked with the PlcAttribute 'TcRpcEnable' to enable RpcMethods, otherwise
            RpcMethods are not passed through to the ADS symbolic information.
            </remarks>
            <value>The RPC methods.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.IReferenceType">
            <summary>
            Interface representing a reference/pointer type
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.IReferenceType.ReferencedType">
            <summary>
            Gets the the referenced type.
            </summary>
            <value>The type of the referenced.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IReferenceType.ResolvedCategory">
            <summary>
            Gets the Category of the (completely) resolved Symbol.
            </summary>
            <value>The resolved category.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IReferenceType.ResolvedByteSize">
            <summary>
            Get the ByteSize of the (completely) resolved Symbol
            </summary>
            <value>The size of the resolved byte.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IReferenceType.ResolvedType">
            <summary>
            Gets the (completely) resolved type 
            </summary>
            <value>The type of the resolved symbol</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.IPointerType">
            <summary>
            Interface representing a pointer type
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.IPointerType.ReferencedType">
            <summary>
            Gets the the referenced type.
            </summary>
            <value>The type of the referenced.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.ISubRangeType">
            <summary>
            Interface representing a SubRange type
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.ISubRangeType.BaseType">
            <summary>
            Gets the the base type.
            </summary>
            <value>The type of the referenced.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.ISubRangeType`1">
            <summary>
            Interface representing a SubRange type
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.ISubRangeType`1.LowerBound">
            <summary>
            Gets the lower bound.
            </summary>
            <value>The lower bound.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.ISubRangeType`1.UpperBound">
            <summary>
            Gets the upper bound.
            </summary>
            <value>The upper bound.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.IEnumType">
            <summary>
            Common Enum type interface
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.IEnumType.GetValues">
            <summary>
            Gets the values of the <see cref="T:TwinCAT.TypeSystem.IEnumType`1"/>
            </summary>
            <returns>T[].</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.IEnumType.GetNames">
            <summary>
            Gets the filed names of the <see cref="T:TwinCAT.TypeSystem.IEnumType`1"/>
            </summary>
            <returns>System.String[].</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.IEnumType.Parse(System.String)">
            <summary>
            Parses a value name of the <see cref="T:TwinCAT.TypeSystem.IEnumType`1"/> and returns the value (as base type)
            </summary>
            <param name="name">The value name.</param>
            <returns>T.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.IEnumType.TryParse(System.String,System.Object@)">
            <summary>
            Parses the value from value  name.
            </summary>
            <param name="name">The value name.</param>
            <param name="value">The value.</param>
            <returns><c>true</c> if value name was found, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.IEnumType.Contains(System.String)">
            <summary>
            Determines whether the enum values contains the specified name
            </summary>
            <param name="name">The name.</param>
            <returns><c>true</c> if contains the value, otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.IEnumType.ToString(System.Object)">
            <summary>
            Returns a <see cref="T:System.String" /> that represents the specified value.
            </summary>
            <param name="val">The value.</param>
            <returns>A <see cref="T:System.String" /> that represents this value.</returns>
        </member>
        <member name="P:TwinCAT.TypeSystem.IEnumType.EnumValues">
            <summary>
            Enumeration specification (if enum)
            </summary>
            <value>The enum specification.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.IEnumType`1">
            <summary>
            Interface representing an enum type
            </summary>
            <typeparam name="T">Base type of the Enum</typeparam>
        </member>
        <member name="M:TwinCAT.TypeSystem.IEnumType`1.GetValues">
            <summary>
            Gets the values of the <see cref="T:TwinCAT.TypeSystem.IEnumType`1"/>
            </summary>
            <returns>T[].</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.IEnumType`1.GetNames">
            <summary>
            Gets the filed names of the <see cref="T:TwinCAT.TypeSystem.IEnumType`1"/>
            </summary>
            <returns>System.String[].</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.IEnumType`1.Parse(System.String)">
            <summary>
            Parses a name of the <see cref="T:TwinCAT.TypeSystem.IEnumType`1"/> and returns the value (as base type)
            </summary>
            <param name="name">The name.</param>
            <returns>T.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.IEnumType`1.TryParse(System.String,`0@)">
            <summary>
            Parses the value from value  name.
            </summary>
            <param name="name">The value name.</param>
            <param name="value">The value.</param>
            <returns><c>true</c> if value name was found, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.IEnumType`1.Contains(System.String)">
            <summary>
            Determines whether the enum values contains the specified name
            </summary>
            <param name="name">The name.</param>
            <returns><c>true</c> if contains the value, otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.IEnumType`1.ToString(`0)">
            <summary>
            Returns a <see cref="T:System.String" /> that represents the specified value.
            </summary>
            <param name="val">The value.</param>
            <returns>A <see cref="T:System.String" /> that represents this value.</returns>
        </member>
        <member name="P:TwinCAT.TypeSystem.IEnumType`1.EnumValues">
            <summary>
            Enumeration specification (if enum)
            </summary>
            <value>The enum specification.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.IAliasType">
            <summary>
            Interface representing an Alias Type
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.IAliasType.BaseTypeName">
            <summary>
            Gets the BaseType name
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.IAliasType.BaseType">
            <summary>
            Gets the Base Type
            </summary>
        </member>
        <member name="T:TwinCAT.TypeSystem.PrimitiveTypeFlags">
            <summary>
            Enum PrimitiveTypeFlags
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.PrimitiveTypeFlags.None">
            <summary>
            None / Uninitialized
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.PrimitiveTypeFlags.System">
            <summary>
            System Type like Byte / Word / DWORD
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.PrimitiveTypeFlags.Unsigned">
            <summary>
            Primitive Type is Unsigned
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.PrimitiveTypeFlags.Bool">
            <summary>
            Boolean Value (maps to true and false)
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.PrimitiveTypeFlags.Float">
            <summary>
            Floating Point
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.PrimitiveTypeFlags.Date">
            <summary>
            Type represents a Date
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.PrimitiveTypeFlags.Time">
            <summary>
            Type represents a Time
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.PrimitiveTypeFlags.Numeric">
            <summary>
            Numeric value
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.PrimitiveTypeFlags.Bitset">
            <summary>
            Bitset
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.PrimitiveTypeFlags.MaskNumericUnsigned">
            <summary>
            Numeric / Unsigned Mask
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.PrimitiveTypeFlags.MaskDateTime">
            <summary>
            Date / Time Mask
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.PrimitiveTypeFlags.MaskSpecialType">
            <summary>
            Special type Mask
            </summary>
            <remarks>UXINT, XINT, XWORD, PVOID</remarks>
        </member>
        <member name="T:TwinCAT.TypeSystem.IPrimitiveType">
            <summary>
            Interface IPrimitiveType
            </summary>
            <seealso cref="T:TwinCAT.TypeSystem.IDataType" />
        </member>
        <member name="P:TwinCAT.TypeSystem.IPrimitiveType.PrimitiveFlags">
            <summary>
            Indicates types of different PrimitiveTypes with flags.
            </summary>
        </member>
        <member name="T:TwinCAT.TypeSystem.IDimension">
            <summary>
            Interface representing a single <see cref="T:TwinCAT.TypeSystem.IDimension">Dimension</see> of an <see cref="T:TwinCAT.TypeSystem.IArrayType">ArrayType</see>.
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.IDimension.ElementCount">
            <summary>
            Gets the number of elements within that <see cref="T:TwinCAT.TypeSystem.IDimension"/>.
            </summary>
            <value>The element count.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IDimension.LowerBound">
            <summary>
            Gets the lower bound of elements within that <see cref="T:TwinCAT.TypeSystem.IDimension"/>.
            </summary>
            <value>The lower bound.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.IArrayType">
            <summary>
            Interface representing an array <see cref="T:TwinCAT.TypeSystem.IDataType">DataType</see>.
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.IArrayType.Dimensions">
            <summary>
            Gets the dimensions as read only collection.
            </summary>
            <value>The dimensions.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IArrayType.ElementType">
            <summary>
            Gets the type of the contained elements.
            </summary>
            <value>The type of the element.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IArrayType.IsJagged">
            <summary>
            Gets a value indicating whether this instance is jagged.
            </summary>
            <value><c>true</c> if this instance is jagged; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IArrayType.JaggedLevel">
            <summary>
            Gets the jagged level (Non-Jagged Array have level 1)
            </summary>
            <value>The jagged level.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IOversamplingSupport.IsOversampled">
            <summary>
            Gets a value indicating whether this type is an oversampled Array type.
            </summary>
            <value><c>true</c> if this instance is oversampled; otherwise, <c>false</c>.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.IStringType">
            <summary>
            Interface representing a string <see cref="T:TwinCAT.TypeSystem.IDataType"/>
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.IStringType.Length">
            <summary>
            Gets the number of characters within the string (when fixed length).
            </summary>
            <value>The length if fixed length, otherwise -1</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IStringType.Encoding">
            <summary>
            Gets the encoding of the String (Encoding.Default (STRING) or Encoding.UNICODE (WSTRING))
            </summary>
            <value>The encoding.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IStringType.IsFixedLength">
            <summary>
            Gets a value indicating whether the string is of fixed length.
            </summary>
            <value><c>true</c> if this instance is fixed length; otherwise, <c>false</c>.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.IField">
            <summary>
            Specifies a single field/member of a <see cref="T:TwinCAT.TypeSystem.IStructType">Struct DataType</see>.
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.IField.ParentType">
            <summary>
            Gets the Parent Struct/Union of this <see cref="T:TwinCAT.TypeSystem.IField"/>.
            </summary>
            <value>The type of the parent.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.IMember">
            <summary>
            Specifies a single field/member of a <see cref="T:TwinCAT.TypeSystem.IStructType">Struct DataType</see>.
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.IMember.Offset">
            <summary>
            Gets the offset of the <see cref="T:TwinCAT.TypeSystem.IMember"/> within the parent <see cref="T:TwinCAT.TypeSystem.IStructType"/> in bits or bytes dependent on IsBitType.
            </summary>
            <value>The bit offset.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IMember.ByteOffset">
            <summary>
            Gets the byte offset.
            </summary>
            <value>The byte offset.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IMember.BitOffset">
            <summary>
            Gets the bit offset.
            </summary>
            <value>The bit offset.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.IInstance">
            <summary>
            Interface specifying instance objects.
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.IInstance.DataType">
            <summary>
            Gets the <see cref="T:TwinCAT.TypeSystem.IDataType"/> of the <see cref="T:TwinCAT.TypeSystem.IInstance"/>.
            </summary>
            <value>The type of the data.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IInstance.TypeName">
            <summary>
            Gets the name of the <see cref="T:TwinCAT.TypeSystem.IDataType">DataType</see> that is used for this <see cref="T:TwinCAT.TypeSystem.IInstance"/>.
            </summary>
            <value>The name of the type.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IInstance.InstanceName">
            <summary>
            Gets the name of the instance (without periods (.)
            </summary>
            <value>The name of the instance.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IInstance.InstancePath">
            <summary>
            Gets the relative / absolute access path to the instance (with periods (.))
            </summary>
            <value>The instance path.</value>
            <remarks>If this path is relative or absolute depends on the context. <see cref="T:TwinCAT.TypeSystem.IMember"/> are using relative paths, <see cref="T:TwinCAT.TypeSystem.ISymbol"/>s are using absolute ones.</remarks>
        </member>
        <member name="P:TwinCAT.TypeSystem.IInstance.IsStatic">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.TypeSystem.IInstance"/> is static.
            </summary>
            <value>
              <c>true</c> if this instance is static; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IInstance.IsReference">
            <summary>
            Indicates that the <see cref="T:TwinCAT.TypeSystem.IInstance"/> represents a Reference type (REFERENCE TO)
            </summary>
            <value><c>true</c> if is ReferenceTo, otherwise <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IInstance.IsPointer">
            <summary>
            Indicates that the <see cref="T:TwinCAT.TypeSystem.IInstance"/> represents a Pointer type (Pointer TO)
            </summary>
            <value><c>true</c> if is ReferenceTo, otherwise <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IInstance.Comment">
            <summary>
            Gets the comment of the <see cref="T:TwinCAT.TypeSystem.IInstance"/>
            </summary>
            <value>The comment.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.IAttributedInstance">
            <summary>
            Interface IAttributedInstance
            </summary>
            <seealso cref="T:TwinCAT.TypeSystem.IInstance" />
        </member>
        <member name="P:TwinCAT.TypeSystem.IAttributedInstance.Attributes">
            <summary>
            Gets the Type Attributes.
            </summary>
            <value>The attributes.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.IInstanceInternal">
            <summary>
            Interface IInstanceInternal
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.IInstanceInternal.SetInstanceName(System.String)">
            <summary>
            Sets a new instance name.
            </summary>
            <param name="instanceName">Name of the instance.</param>
            <remarks>This can only used as long the Instance is not added to a collection using the type binder classes.</remarks>
        </member>
        <member name="T:TwinCAT.TypeSystem.IProcessImageAddress">
            <summary>
            Interface describing a Process Image Address
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.IProcessImageAddress.IndexGroup">
            <summary>
            Gets the index group of the Symbol
            </summary>
            <value>The index group.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IProcessImageAddress.IndexOffset">
            <summary>
            Gets the index offset of the Symbol
            </summary>
            <value>The index offset.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.IBitSize">
            <summary>
            Interface IBitSize
            </summary>
            <remarks>Specifies the Bitness of the the object and the bit resp. byte sizes.</remarks>
        </member>
        <member name="P:TwinCAT.TypeSystem.IBitSize.Size">
            <summary>
            Gets the size of the object in bytes or Bits dependant on <see cref="P:TwinCAT.TypeSystem.IBitSize.IsBitType"/>
            </summary>
            <value>The size of the bit.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IBitSize.IsBitType">
            <summary>
            Gets a value indicating whether this instance is not basing on a full DataType but instead of some sort of bit mapping
            </summary>
            <value>
            <c>true</c> if this instance is bit mapping; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IBitSize.BitSize">
            <summary>
            Gets the size of the <see cref="T:TwinCAT.TypeSystem.IDataType"/> in bits.
            </summary>
            <value>The size of <see cref="T:TwinCAT.TypeSystem.IDataType"/> in bits.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IBitSize.ByteSize">
            <summary>
            Gets the (aligned) size of of the Type/Instance in Bytes
            </summary>
            <value>The size of the byte.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IBitSize.IsByteAligned">
            <summary>
            Indicates that the Size of the Object is Byte aligned (BitSize % 8 == 0)
            </summary>
            <value><c>true</c> if this instance is byte aligned; otherwise, <c>false</c>.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.ISymbol">
            <summary>
            Interface specifying Symbols (
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.ISymbol.Category">
            <summary>
            Gets the Symbol/Datatype Category
            </summary>
            <value>The category.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.ISymbol.Parent">
            <summary>
            Gets the parent Symbol
            </summary>
            <value>The parent.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.ISymbol.SubSymbols">
            <summary>
            Gets the SubSymbols of the <see cref="T:TwinCAT.TypeSystem.ISymbol"/>
            </summary>
            <remarks>Used for Array, Struct, Pointer and Reference instances. Otherwise empty
            </remarks>
        </member>
        <member name="P:TwinCAT.TypeSystem.ISymbol.IsContainerType">
            <summary>
            Gets a value indicating whether this Symbol is a container type.
            </summary>
            <value>
                <c>true</c> if this instance is container type; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:TwinCAT.TypeSystem.ISymbol.IsPrimitiveType">
            <summary>
            Gets a value indicating whether this instance is a primitive type.
            </summary>
            <value>
                <c>true</c> if this instance is primitive type; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:TwinCAT.TypeSystem.ISymbol.IsPersistent">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.TypeSystem.ISymbol"/> is persistent.
            </summary>
            <value>
            <c>true</c> if this instance is persistent; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:TwinCAT.TypeSystem.ISymbol.IsReadOnly">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.TypeSystem.ISymbol"/> is read only.
            </summary>
            <value>
            <c>true</c> if this instance is read only; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:TwinCAT.TypeSystem.ISymbol.IsRecursive">
            <summary>
            Gets a value indicating whether this instance is recursive.
            </summary>
            <value><c>true</c> if this instance is recursive; otherwise, <c>false</c>.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.IHierarchicalSymbol">
            <summary>
            Bindable Symbol interface (for internal use only)
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.IHierarchicalSymbol.SetParent(TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Sets the parent of the Symbol
            </summary>
            <param name="symbol">The symbol.</param>
        </member>
        <member name="T:TwinCAT.TypeSystem.ISymbolFactoryServicesProvider">
            <summary>
            Symbol Value Access interface
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.TypeSystem.ISymbolFactoryServicesProvider.FactoryServices">
            <summary>
            Gets the factory services.
            </summary>
            <value>The factory services.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.IValueAccessorProvider">
            <summary>
            Interface IValueAccessorProvider
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.TypeSystem.IValueAccessorProvider.ValueAccessor">
            <summary>
            Gets the value accessor.
            </summary>
            <value>The value accessor.</value>
            <exclude/>
        </member>
        <member name="T:TwinCAT.TypeSystem.IValueRawSymbol">
            <summary>
            Interface IValueRawSymbol
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.IValueRawSymbol.HasValue">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.TypeSystem.IValueSymbol"/> has a value.
            </summary>
            <value><c>true</c> if this instance has value; otherwise, <c>false</c>.</value>
            <remarks>A VirtualSymbol does not support values, but in terms of the <see cref="T:TwinCAT.TypeSystem.IValueSymbol"/> definition, is a <see cref="T:TwinCAT.TypeSystem.IValueSymbol"/></remarks>
        </member>
        <member name="M:TwinCAT.TypeSystem.IValueRawSymbol.ReadRawValue">
            <summary>
            Reads the raw value of the <see cref="T:TwinCAT.TypeSystem.IValueSymbol" /> (Ads Read / Write)
            </summary>
            <returns>System.Byte[].</returns>
            <value>The raw value.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.IValueRawSymbol.ReadRawValue(System.Int32)">
            <summary>
            Reads the raw value of the <see cref="T:TwinCAT.TypeSystem.IValueSymbol" /> (Ads Read / Write)
            </summary>
            <param name="timeout">The timeout in ms.</param>
            <returns>System.Byte[].</returns>
            <value>The raw value.</value>
            <remarks>A negative timeout indicates that the Default Timeout for the communication will be used.
            0 means timeout is switched off.</remarks>
        </member>
        <member name="M:TwinCAT.TypeSystem.IValueRawSymbol.WriteRawValue(System.Byte[])">
            <summary>
            Writes the raw value of the <see cref="T:TwinCAT.TypeSystem.IValueSymbol" /> (Ads Read / Write)
            </summary>
            <param name="value">The value as byte array.</param>
            <value>The value.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.IValueRawSymbol.WriteRawValue(System.Byte[],System.Int32)">
            <summary>
            Writes the raw value of the <see cref="T:TwinCAT.TypeSystem.IValueSymbol" /> (Ads Read / Write)
            </summary>
            <param name="value">The value as byte array.</param>
            <param name="timeout">The timeout.</param>
            <value>The value.</value>
            <remarks>A negative timeout indicates that the Default Timeout for the communication will be used.
            0 means timeout is switched off.</remarks>
        </member>
        <member name="E:TwinCAT.TypeSystem.IValueRawSymbol.RawValueChanged">
            <summary>
            Occurs when the RawValue of the <see cref="T:TwinCAT.TypeSystem.IValueSymbol"/> has changed.
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.IValueRawSymbol.ValueAccessor">
            <summary>
            Gets the value accessor.
            </summary>
            <value>The value accessor.</value>
            <exclude/>
        </member>
        <member name="T:TwinCAT.TypeSystem.SymbolAccessRights">
            <summary>
            Enum specifying Access Rights to symbols
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.SymbolAccessRights.None">
            <summary>
            None / Uninitialized
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.SymbolAccessRights.Read">
            <summary>
            Read-Access
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.SymbolAccessRights.Write">
            <summary>
            Write-Access
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.SymbolAccessRights.MethodInvoke">
            <summary>
            Right to Invoke Methods / RPC Invoke
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.SymbolAccessRights.ReadWrite">
            <summary>
            Read / Write Access
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.SymbolAccessRights.All">
            <summary>
            Full Access
            </summary>
        </member>
        <member name="T:TwinCAT.TypeSystem.IValueSymbol">
            <summary>
            Interface for a <see cref="T:TwinCAT.TypeSystem.ISymbol" /> that supports values.
            </summary>
            <seealso cref="T:TwinCAT.TypeSystem.IValueRawSymbol" />
        </member>
        <member name="E:TwinCAT.TypeSystem.IValueSymbol.ValueChanged">
            <summary>
            Occurs when the (Primitive) value of the <see cref="T:TwinCAT.TypeSystem.IValueSymbol"/> has changed.
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.IValueSymbol.NotificationSettings">
            <summary>
            Gets or sets the notification settings.
            </summary>
            <value>The notification settings.</value>
            <remarks>The <see cref="P:TwinCAT.TypeSystem.IValueSymbol.NotificationSettings"/> will be inherited from <see cref="P:TwinCAT.TypeSystem.ISymbol.Parent"/> if the setting is not overwritten.
            </remarks>
        </member>
        <member name="M:TwinCAT.TypeSystem.IValueSymbol.ReadValue">
            <summary>
            Reads the Value of the <see cref="T:TwinCAT.TypeSystem.IValueSymbol" />
            </summary>
            <returns>System.Object.</returns>
            <value>The value.</value>
            <remarks>Calling on primitive types, a call of this method will return the primitive value.
            On complex types (structures and arrays) it depends on the <see cref="T:TwinCAT.TypeSystem.ISymbolLoader" /> settings what will happen.
            In non dynamic modes: the raw byte Array will be returned,
            in dynamic mode: A Value will be created on the fly.</remarks>
        </member>
        <member name="M:TwinCAT.TypeSystem.IValueSymbol.ReadValue(System.Int32)">
            <summary>
            Reads the Value of the <see cref="T:TwinCAT.TypeSystem.IValueSymbol" />
            </summary>
            <param name="timeout">The timeout in ms.</param>
            <returns>System.Object.</returns>
            <value>The value.</value>
            <remarks>Calling on primitive types, a call of this method will return the primitive value.
            On complex types (structures and arrays) it depends on the <see cref="T:TwinCAT.TypeSystem.ISymbolLoader" /> settings what will happen.
            In non dynamic modes: the raw byte Array will be returned,
            in dynamic mode: A Value will be created on the fly.
            A negative timeout indicates that the Default Timeout for the communication will be used.
            0 means timeout is switched off.</remarks>
        </member>
        <member name="M:TwinCAT.TypeSystem.IValueSymbol.WriteValue(System.Object)">
            <summary>
            Writes the Value of the <see cref="T:TwinCAT.TypeSystem.IValueSymbol"/>
            </summary>
            <param name="value">The value.</param>
            <remarks>Calling on primitive types, a call of this method will directly write this Value.
            On complex types (structs and arrays) it depends on the <see cref="T:TwinCAT.TypeSystem.ISymbolLoader"/> settings what will happen.
            In non dynamic modes: Only byte Arrays (of correct size) can be written)
            in dynamic mode: A Value that represents the value will be accepted also.
            </remarks>
        </member>
        <member name="M:TwinCAT.TypeSystem.IValueSymbol.WriteValue(System.Object,System.Int32)">
            <summary>
            Writes the Value of the <see cref="T:TwinCAT.TypeSystem.IValueSymbol" />
            </summary>
            <param name="value">The value.</param>
            <param name="timeout">The timeout in ms.</param>
            <remarks>Calling on primitive types, a call of this method will directly write this Value.
            On complex types (structs and arrays) it depends on the <see cref="T:TwinCAT.TypeSystem.ISymbolLoader" /> settings what will happen.
            In non dynamic modes: Only byte Arrays (of correct size) can be written)
            in dynamic mode: A Value that represents the value will be accepted also. A negative timeout indicates that the Default
            Timeout for the communication will be used.
            0 means timeout is switched off.</remarks>
        </member>
        <member name="P:TwinCAT.TypeSystem.IValueSymbol.AccessRights">
            <summary>
            Gets the access rights.
            </summary>
            <value>The access rights.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.IValueSymbol2">
            <summary>
            Interface for a <see cref="T:TwinCAT.TypeSystem.ISymbol" /> that supports values.
            </summary>
            <seealso cref="T:TwinCAT.TypeSystem.IValueSymbol" />
        </member>
        <member name="P:TwinCAT.TypeSystem.IValueSymbol2.Connection">
            <summary>
            Gets the connection that produces values for this <see cref="T:TwinCAT.TypeSystem.IValueSymbol"/>
            </summary>
            <value>The connection object.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.IValueSymbol3">
            <summary>
            Interface IValueSymbol3
            Implements the <see cref="T:TwinCAT.TypeSystem.IValueSymbol2" />
            </summary>
            <seealso cref="T:TwinCAT.TypeSystem.IValueSymbol2" />
        </member>
        <member name="M:TwinCAT.TypeSystem.IValueSymbol3.TryReadValue(System.Int32,System.Object@)">
            <summary>
            Reads the Value of the <see cref="T:TwinCAT.TypeSystem.IValueSymbol" />
            </summary>
            <param name="timeout">The timeout in ms.</param>
            <param name="value">The symbol value.</param>
            <returns>The error code.</returns>
            <remarks>Calling on primitive types, a call of this method will return the primitive value.
            On complex types (structures and arrays) it depends on the <see cref="T:TwinCAT.TypeSystem.ISymbolLoader" /> settings what will happen.
            In non dynamic modes: the raw byte Array will be returned,
            in dynamic mode: A Value will be created on the fly.
            A negative timeout indicates that the Default Timeout for the communication will be used.
            0 means timeout is switched off.</remarks>
        </member>
        <member name="M:TwinCAT.TypeSystem.IValueSymbol3.TryWriteValue(System.Object,System.Int32)">
            <summary>
            Writes the Value of the <see cref="T:TwinCAT.TypeSystem.IValueSymbol" />
            </summary>
            <param name="value">The value.</param>
            <param name="timeout">The timeout in ms.</param>
            <returns>The error code.</returns>
            <remarks>Calling on primitive types, a call of this method will directly write this Value.
            On complex types (structs and arrays) it depends on the <see cref="T:TwinCAT.TypeSystem.ISymbolLoader" /> settings what will happen.
            In non dynamic modes: Only byte Arrays (of correct size) can be written)
            in dynamic mode: A Value that represents the value will be accepted also. A negative timeout indicates that the Default
            Timeout for the communication will be used.
            0 means timeout is switched off.</remarks>
        </member>
        <member name="T:TwinCAT.TypeSystem.IValueAnySymbol">
            <summary>
            Interface IValueAnySymbol
            </summary>
            <seealso cref="T:TwinCAT.TypeSystem.ISymbol" />
        </member>
        <member name="M:TwinCAT.TypeSystem.IValueAnySymbol.ReadAnyValue(System.Type)">
            <summary>
            Reads the value of this <see cref="T:TwinCAT.TypeSystem.IValueSymbol">Value</see> into a new created instance of the managed type
            </summary>
            <param name="managedType">The tp.</param>
            <returns>Read value (System.Object).</returns>
            <seealso cref="M:TwinCAT.TypeSystem.IValueAnySymbol.WriteAnyValue(System.Object)"/>
            <seealso cref="M:TwinCAT.TypeSystem.IValueAnySymbol.UpdateAnyValue(System.Object@)"/>
        </member>
        <member name="M:TwinCAT.TypeSystem.IValueAnySymbol.ReadAnyValue(System.Type,System.Int32)">
            <summary>
            Reads the value of this <see cref="T:TwinCAT.TypeSystem.IValueSymbol">Value</see> into a new created instance of the managed type
            </summary>
            <param name="managedType">The tp.</param>
            <param name="timeout">The timeout in ms.</param>
            <returns>Read value (System.Object).</returns>
            <seealso cref="M:TwinCAT.TypeSystem.IValueAnySymbol.WriteAnyValue(System.Object)" />
            <seealso cref="M:TwinCAT.TypeSystem.IValueAnySymbol.UpdateAnyValue(System.Object@)" />
        </member>
        <member name="M:TwinCAT.TypeSystem.IValueAnySymbol.UpdateAnyValue(System.Object@)">
            <summary>
            Reads the value of this <see cref="T:TwinCAT.TypeSystem.IValueSymbol">Value</see> into the specified managed value.
            </summary>
            <param name="managedObject">The managed object.</param>
            <returns>Read value (System.Object).</returns>
            <seealso cref="M:TwinCAT.TypeSystem.IValueAnySymbol.ReadAnyValue(System.Type)"/>
            <seealso cref="M:TwinCAT.TypeSystem.IValueAnySymbol.WriteAnyValue(System.Object)"/>
        </member>
        <member name="M:TwinCAT.TypeSystem.IValueAnySymbol.UpdateAnyValue(System.Object@,System.Int32)">
            <summary>
            Reads the value of this <see cref="T:TwinCAT.TypeSystem.IValueSymbol">Value</see> into the specified managed value.
            </summary>
            <param name="managedObject">The managed object.</param>
            <param name="timeout">The timeout.</param>
            <returns>Read value (System.Object).</returns>
            <seealso cref="M:TwinCAT.TypeSystem.IValueAnySymbol.ReadAnyValue(System.Type)" />
            <seealso cref="M:TwinCAT.TypeSystem.IValueAnySymbol.WriteAnyValue(System.Object)" />
        </member>
        <member name="M:TwinCAT.TypeSystem.IValueAnySymbol.WriteAnyValue(System.Object)">
            <summary>
            Writes the value represented by the managed value to this <see cref="T:TwinCAT.TypeSystem.IValueSymbol">Value</see>
            </summary>
            <param name="managedValue">The managed value.</param>
            <seealso cref="M:TwinCAT.TypeSystem.IValueAnySymbol.ReadAnyValue(System.Type)"/>.
            <seealso cref="M:TwinCAT.TypeSystem.IValueAnySymbol.UpdateAnyValue(System.Object@)"/>.
        </member>
        <member name="M:TwinCAT.TypeSystem.IValueAnySymbol.WriteAnyValue(System.Object,System.Int32)">
            <summary>
            Writes the value represented by the managed value to this <see cref="T:TwinCAT.TypeSystem.IValueSymbol">Value</see>
            </summary>
            <param name="managedValue">The managed value.</param>
            <param name="timeout">The timeout in ms.</param>
            <seealso cref="M:TwinCAT.TypeSystem.IValueAnySymbol.ReadAnyValue(System.Type)" />.
            <seealso cref="M:TwinCAT.TypeSystem.IValueAnySymbol.UpdateAnyValue(System.Object@)" />.
        </member>
        <member name="T:TwinCAT.TypeSystem.ISymbolValueChangeNotify">
            <summary>
            Interface ISymbolValueChangeNotify
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.ISymbolValueChangeNotify.OnRawValueChanged(TwinCAT.TypeSystem.RawValueChangedArgs)">
            <summary>
            Called when the RawValue of the symbol has been changed.
            </summary>
            <param name="args">The arguments.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.ISymbolValueChangeNotify.OnValueChanged(TwinCAT.TypeSystem.ValueChangedArgs)">
            <summary>
            Called when the Value of the symbol has been changed.
            </summary>
            <param name="args">The arguments.</param>
        </member>
        <member name="T:TwinCAT.TypeSystem.ValueChangedBaseArgs">
            <summary>
            Event args for the <see cref="E:TwinCAT.TypeSystem.IValueRawSymbol.RawValueChanged"/> event.
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.ValueChangedBaseArgs.#ctor(TwinCAT.TypeSystem.ISymbol,System.DateTime,System.DateTime)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.RawValueChangedArgs" /> class.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="rtUtcTimeStamp">The TwinCAT Real time time stamp (UTC)</param>
            <param name="localUtcTimeStamp">The local user mode time stamp (UTC)</param>
        </member>
        <member name="F:TwinCAT.TypeSystem.ValueChangedBaseArgs.Symbol">
            <summary>
            Symbol that caused the event.
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.ValueChangedBaseArgs.UtcRtime">
            <summary>
            Notification Time stamp of the Real time System in UTC
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.ValueChangedBaseArgs.UtcLocalSystemTime">
            <summary>
            Notification Time stamp of the local system (user/desktop time) in UTC
            </summary>
        </member>
        <member name="T:TwinCAT.TypeSystem.RawValueChangedArgs">
            <summary>
            Event args for the <see cref="E:TwinCAT.TypeSystem.IValueRawSymbol.RawValueChanged"/> event.
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.RawValueChangedArgs.#ctor(TwinCAT.TypeSystem.ISymbol,System.Byte[],System.DateTime,System.DateTime)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.RawValueChangedArgs" /> class.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="value">The value.</param>
            <param name="rtTimeStamp">The TwinCAT Real time time stamp (UTC)</param>
            <param name="localTimeStamp">The local user mode time stamp (UTC)</param>
        </member>
        <member name="F:TwinCAT.TypeSystem.RawValueChangedArgs.Value">
            <summary>
            New Value (byte[])
            </summary>
        </member>
        <member name="T:TwinCAT.TypeSystem.ValueChangedArgs">
            <summary>
            Event args for the <see cref="E:TwinCAT.TypeSystem.IValueSymbol.ValueChanged"/> event.
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.ValueChangedArgs.#ctor(TwinCAT.TypeSystem.ISymbol,System.Object,System.DateTime,System.DateTime)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.ValueChangedArgs" /> class.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="value">The value.</param>
            <param name="rtUtcTimeStamp">The TwinCAT Real time time stamp (UTC)</param>
            <param name="localUtcTimeStamp">The local user mode time stamp (UTC)</param>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.ValueChangedArgs.#ctor(TwinCAT.TypeSystem.ISymbol,System.Object,System.DateTime)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.ValueChangedArgs" /> class.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="value">The value.</param>
            <param name="utcTime">The TwinCAT time stamp (UTC)</param>
            <exclude/>
        </member>
        <member name="F:TwinCAT.TypeSystem.ValueChangedArgs.Value">
            <summary>
            The new received Value
            </summary>
        </member>
        <member name="T:TwinCAT.TypeSystem.IArrayInstance">
            <summary>
            Interface representing an array instance
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.IArrayInstance.Elements">
            <summary>
            Gets the contained Array Elements as read only collection.
            </summary>
            <value>The elements.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IArrayInstance.Item(System.Int32[])">
            <summary>
            Gets the <see cref="T:TwinCAT.TypeSystem.ISymbol"/> with the specified indices.
            </summary>
            <value>
            The <see cref="T:TwinCAT.TypeSystem.ISymbol"/>.
            </value>
            <param name="indices">The indices.</param>
            <returns></returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.IArrayInstance.TryGetElement(System.Int32[],TwinCAT.TypeSystem.ISymbol@)">
            <summary>
            Tries to get the array element with specified indices (only first level on jagged arrays)
            </summary>
            <param name="indices">The indices.</param>
            <param name="symbol">The found Array element symbol (out-parameter).</param>
            <returns>true if found, false if the indices specifiers is out-of-range.</returns>
        </member>
        <member name="P:TwinCAT.TypeSystem.IArrayInstance.Dimensions">
            <summary>
            Gets the dimensions as read only collection.
            </summary>
            <value>The dimensions.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IArrayInstance.ElementType">
            <summary>
            Gets the type of the contained elements.
            </summary>
            <value>The type of the element.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.IArrayInstance.TryGetElement(System.Collections.Generic.IList{System.Int32[]},TwinCAT.TypeSystem.ISymbol@)">
            <summary>
            Tries to get the array element with the specified indices (jagged array support).
            </summary>
            <param name="jaggedIndices">The jagged indices list.</param>
            <param name="symbol">The symbol.</param>
            <returns>true if found, false if the jagged indices specifiers is out-of-range.</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.IOversamplingArrayInstance">
            <summary>
            Interface IOversamplingArrayInstance
            </summary>
            <seealso cref="T:TwinCAT.TypeSystem.IArrayInstance" />
        </member>
        <member name="P:TwinCAT.TypeSystem.IOversamplingArrayInstance.OversamplingElement">
            <summary>
            Gets the oversampling element.
            </summary>
            <value>The oversampling element.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.IUnionInstance">
            <summary>
            Interface for an Instance of the <see cref="T:TwinCAT.TypeSystem.IUnionType"/>.
            </summary>
            <seealso cref="T:TwinCAT.TypeSystem.ISymbol" />
        </member>
        <member name="P:TwinCAT.TypeSystem.IUnionInstance.FieldInstances">
            <summary>
            Gets the field instances of the Union
            </summary>
            <value>The field instances.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.IStructInstance">
            <summary>
            Interface representing an instance of a <see cref="T:TwinCAT.TypeSystem.IStructType"/>
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.IStructInstance.MemberInstances">
            <summary>
            Gets the member instances of the <see cref="T:TwinCAT.TypeSystem.IStructInstance">Struct Instance</see>.
            </summary>
            <value>The member instances.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IStructInstance.HasRpcMethods">
            <summary>
            Gets a value indicating whether this instance has RPC methods
            </summary>
            <value><c>true</c> if this instance has RPC methods; otherwise, <c>false</c>.</value>
            <remarks>If the struct instance supports RPC Methods, then the instance class is also
            supporting <see cref="T:TwinCAT.TypeSystem.IRpcStructInstance"/>:
            </remarks>
            <seealso cref="T:TwinCAT.TypeSystem.IRpcStructInstance"/>
            <seealso cref="T:TwinCAT.TypeSystem.IRpcMethod"/>
            <seealso cref="T:TwinCAT.TypeSystem.IRpcMethodParameter"/>
        </member>
        <member name="T:TwinCAT.TypeSystem.IStringInstance">
            <summary>
            Interface IStringInstance
            </summary>
            <seealso cref="T:TwinCAT.TypeSystem.ISymbol" />
            <seealso cref="T:TwinCAT.TypeSystem.IStringType" />
        </member>
        <member name="P:TwinCAT.TypeSystem.IStringInstance.Encoding">
            <summary>
            Gets the encoding of the String (Encoding.Default (STRING) or Encoding.UNICODE (WSTRING))
            </summary>
            <value>The encoding.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IStringInstance.IsFixedLength">
            <summary>
            Gets a value indicating whether this instance is a string of static length
            </summary>
            <value><c>true</c> if this instance is of static length; otherwise, <c>false</c>.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.IVirtualStructInstance">
            <summary>
            Virtual Struct instance interface.
            </summary>
            <seealso cref="T:TwinCAT.TypeSystem.IStructInstance" />
            <remarks>Virtual struct instance are used to create a TreeView from the flat list of symbols.</remarks>
        </member>
        <member name="M:TwinCAT.TypeSystem.IVirtualStructInstance.AddMember(TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.IVirtualStructInstance)">
            <summary>
            Adds the member.
            </summary>
            <param name="memberInstance">The member instance.</param>
            <param name="parent">The parent struct instance. Usually the this pointer.</param>
        </member>
        <member name="T:TwinCAT.TypeSystem.IReferenceInstance">
            <summary>
            Interface representing an instance of an <see cref="T:TwinCAT.TypeSystem.IReferenceType"/>
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.IReferenceInstance.ResolvedCategory">
            <summary>
            Gets the Category of the Referenced Symbol.
            </summary>
            <value>The resolved category.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IReferenceInstance.ResolvedByteSize">
            <summary>
            Get the ByteSize of the (completely) resolved Symbol
            </summary>
            <value>The size of the resolved byte.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IReferenceInstance.ReferencedType">
            <summary>
            Gets the referenced type 
            </summary>
            <value>The type of the referenced type</value>
            <remarks>This is no complete resolvement, only the next level. The referenced type can be a reference again.</remarks>
        </member>
        <member name="P:TwinCAT.TypeSystem.IReferenceInstance.ResolvedType">
            <summary>
            Gets the (completely) resolved type 
            </summary>
            <value>The type of the resolved symbol</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.IReferenceInstanceAccess">
            <summary>
            Interface IReferenceInstanceAccess
            </summary>
            <seealso cref="T:TwinCAT.TypeSystem.IReferenceInstance" />
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.IReferenceInstanceAccess.TryGetElement(System.Int32[],TwinCAT.TypeSystem.ISymbol@)">
            <summary>
            Tries to get the array element (only in case of ResolvedCategory ARRAY)
            </summary>
            <param name="indices">The indices.</param>
            <param name="symbol">The found Array element symbol (out-parameter).</param>
            <returns>true if found, false if the indices specifiers is out-of-range.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.IReferenceInstanceAccess.TryGetElement(System.Collections.Generic.IList{System.Int32[]},TwinCAT.TypeSystem.ISymbol@)">
            <summary>
            Tries to get the array element with the specified indices (jagged array support).
            </summary>
            <param name="jaggedIndices">The jagged indices list.</param>
            <param name="symbol">The symbol.</param>
            <returns>true if found, false if the jagged indices specifiers is out-of-range.</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.IPointerInstance">
            <summary>
            Interface representing an instance of an <see cref="T:TwinCAT.TypeSystem.IPointerType"/>
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.IPointerInstance.Reference">
            <summary>
            Gets the resolved reference of Pointer / Reference
            </summary>
            <value>
            The reference.
            </value>
        </member>
        <member name="T:TwinCAT.TypeSystem.IAliasInstance">
            <summary>
            Interface representing an instance of an <see cref="T:TwinCAT.TypeSystem.IAliasType"/>.
            </summary>
            <seealso cref="T:TwinCAT.TypeSystem.ISymbol" />
        </member>
        <member name="T:TwinCAT.TypeSystem.IInternalSymbolProvider">
            <summary>
            Gets access to the Internal Symbol/DataType/Namespace collections.
            </summary>
            <seealso cref="T:TwinCAT.TypeSystem.ISymbolProvider" />
            <exclude/>
        </member>
        <member name="P:TwinCAT.TypeSystem.IInternalSymbolProvider.NamespacesInternal">
            <summary>
            Get the Namespaces of DataTypes for this Symbol provider
            </summary>
            <value>ReadOnly collection of the namespaces.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IInternalSymbolProvider.SymbolsInternal">
            <summary>
            Gets the (root) symbols of the Symbol provider.
            </summary>
            <value>Read only collection of the Symbols</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IInternalSymbolProvider.DataTypesInternal">
            <summary>
            Gets all data types from all Namespaces
            </summary>
            <value>The data types.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.ISymbolProvider">
            <summary>
            Symbol Provider interface.
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.ISymbolProvider.Namespaces">
            <summary>
            Get the Namespaces of DataTypes for this Symbol provider
            </summary>
            <value>ReadOnly collection of the namespaces.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.TypeSystem.ISymbolProvider.RootNamespaceName">
            <summary>
            Gets the name of the root namespace
            </summary>
            <value>The namespace.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.ISymbolProvider.RootNamespace">
            <summary>
            Gets the root (main) namespace of the Symbol provider.
            </summary>
            <value>The root namespace.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.TypeSystem.ISymbolProvider.Symbols">
            <summary>
            Gets the (root) symbols of the Symbol provider.
            </summary>
            <value>Read only collection of the Symbols</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.ISymbolProvider.DataTypes">
            <summary>
            Gets all data types from all Namespaces
            </summary>
            <value>The data types.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.ITypeAttribute">
            <summary>
            Interface for ADS attributes
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.ITypeAttribute.Name">
            <summary>
            Name of the Attribute
            </summary>
            <value>The name.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.ITypeAttribute.Value">
            <summary>
            Gets the value of the attribute
            </summary>
            <value>The value.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.IDataTypeResolver">
            <summary>
            Interface for resolving data type names --> <see cref="T:TwinCAT.Ads.ITcAdsDataType"/> objects.
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.IDataTypeResolver.TryResolveType(System.String,TwinCAT.TypeSystem.IDataType@)">
            <summary>
            Tries to resolve the type (parses it if not found and adds it to the resolver if necessary).
            </summary>
            <param name="name">The name.</param>
            <param name="type">The type.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="P:TwinCAT.TypeSystem.IDataTypeResolver.PlatformPointerSize">
            <summary>
            Gets the size of the platform pointer (in Bytes)
            </summary>
            <value>The size of the platform pointer.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.IBinder">
            <summary>
            The ITypeBinder interface binds DataTypes and Symbols to its namespace.
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.IBinder.RegisterType(TwinCAT.TypeSystem.IDataType)">
            <summary>
            Registers the specified type.
            </summary>
            <param name="type">The type.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.IBinder.RegisterTypes(System.Collections.Generic.IEnumerable{TwinCAT.TypeSystem.IDataType})">
            <summary>
            Registers the specified types.
            </summary>
            <param name="types">The type.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.IBinder.Bind(TwinCAT.TypeSystem.IHierarchicalSymbol)">
            <summary>
            Binds the specified symbol to the Resolver (Registering and linking Parents).
            </summary>
            <param name="subSymbol">The child symbol.</param>
            <returns>the parent Symbol where the subSymbol was bound to</returns>
        </member>
        <member name="P:TwinCAT.TypeSystem.IBinder.Provider">
            <summary>
            Gets the Symbol provider.
            </summary>
            <value>The provider.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.IBinder.OnTypeGenerated(TwinCAT.TypeSystem.IDataType)">
            <summary>
            Handler function called when a type / types are generated
            </summary>
            <param name="type">The type.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.IBinder.OnTypesGenerated(System.Collections.Generic.IEnumerable{TwinCAT.TypeSystem.IDataType})">
            <summary>
            Handler function called when a type / types are generated
            </summary>
            <param name="types">The types.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.IBinder.OnTypeResolveError(System.String)">
            <summary>
            Handler function when a type name cannot be resolved.
            </summary>
            <param name="typeName">Name of the type.</param>
        </member>
        <member name="T:TwinCAT.TypeSystem.ITypeBinderEvents">
            <summary>
            Interface ITypeBinderEvents
            </summary>
            <remarks>Used for providing events about TypeGeneration and TypeResolution Errors.</remarks>
            <exclude/>
        </member>
        <member name="E:TwinCAT.TypeSystem.ITypeBinderEvents.TypesGenerated">
            <summary>
            Occurs when new types are generated
            </summary>
        </member>
        <member name="E:TwinCAT.TypeSystem.ITypeBinderEvents.TypeResolveError">
            <summary>
            Occurs when a typename cannot be resolved.
            </summary>
        </member>
        <member name="T:TwinCAT.TypeSystem.ISymbolBinderEvents">
            <summary>
            Interface ITypeBinderEvents
            </summary>
            <remarks>Used for providing events about TypeGeneration and TypeResolution Errors.</remarks>
            <exclude/>
        </member>
        <member name="T:TwinCAT.TypeSystem.TypeAttribute">
            <summary>
            ADS Attribute
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.TypeAttribute._name">
            <summary>
            Attribute Name
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.TypeAttribute._value">
            <summary>
            Attribute Value
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.TypeAttribute.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.TypeAttribute" /> class.
            </summary>
            <param name="name">The name.</param>
            <param name="value">The value.</param>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.TypeAttribute.#ctor(TwinCAT.TypeSystem.ITypeAttribute)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.TypeAttribute"/> class.
            </summary>
            <param name="att">The att.</param>
            <exclude/>
        </member>
        <member name="P:TwinCAT.TypeSystem.TypeAttribute.Name">
            <summary>
            Name of the Attribute
            </summary>
            <value>The name.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.TypeAttribute.Value">
            <summary>
            Gets the value of the attribute
            </summary>
            <value>The value.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.TypeAttribute.Equals(System.Object)">
            <summary>
            Equals
            </summary>
            <param name="obj">The object to compare with the current object.</param>
            <returns><c>true</c> if the specified <see cref="T:System.Object" /> is equal to this instance; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.TypeAttribute.op_Equality(TwinCAT.TypeSystem.TypeAttribute,TwinCAT.TypeSystem.TypeAttribute)">
            <summary>
            Operator==
            </summary>
            <param name="o1">The o1.</param>
            <param name="o2">The o2.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.TypeAttribute.op_Inequality(TwinCAT.TypeSystem.TypeAttribute,TwinCAT.TypeSystem.TypeAttribute)">
            <summary>
            Implements the != operator.
            </summary>
            <param name="o1">The o1.</param>
            <param name="o2">The o2.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.TypeAttribute.GetHashCode">
            <summary>
            Gets the HashCode of the Address
            </summary>
            <returns>A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.MethodParamFlags">
            <summary>
            Flag set specifying the MethodParameter context
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.MethodParamFlags.In">
            <summary>
            Input Parameter (ADSMETHODPARAFLAG_IN)
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.MethodParamFlags.Out">
            <summary>
            Output Parameter (ADSMETHODPARAFLAG_OUT)
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.MethodParamFlags.ByReference">
            <summary>
            By reference Parameter (ADSMETHODPARAFLAG_BYREFERENCE)
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.MethodParamFlags.MaskIn">
            <summary>
            Mask for In parameters.
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.MethodParamFlags.MaskOut">
            <summary>
            Mask for Out parameters.
            </summary>
        </member>
        <member name="T:TwinCAT.TypeSystem.IRpcMethodParameter">
            <summary>
            Interface IRpcMethodParameter
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.IRpcMethodParameter.Size">
            <summary>
            Gets the size of the <see cref="T:TwinCAT.TypeSystem.IRpcMethodParameter"/>
            </summary>
            <value>The size.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IRpcMethodParameter.Name">
            <summary>
            Gets the Parameter Name
            </summary>
            <value>The name.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IRpcMethodParameter.TypeName">
            <summary>
            Gets the Data type of the Parameter
            </summary>
            <value>The type.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IRpcMethodParameter.ParameterFlags">
            <summary>
            Gets the parameter flags.
            </summary>
            <value>The parameter flags.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IRpcMethodParameter.LengthIsParameterIndex">
            <summary>
            Gets the index of the LengthIs parameter (within the MethodParameter List)
            </summary>
            <value>The index of the length is parameter.</value>
            <remarks>This field references to the Parameter that defines the length for this
            generic one. Equally to the marshalling attributes of COM (sizeof, length)
            this enables to transport parameter of type (PVOID)
            </remarks>
        </member>
        <member name="P:TwinCAT.TypeSystem.IRpcMethodParameter.HasLengthIsParameter">
            <summary>
            Gets a value indicating whether this instance has a related LengthIs Parameter.
            </summary>
            <value><c>true</c> if this instance has a LengthIs parameter; otherwise, <c>false</c>.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.IRpcMethod">
            <summary>
            Interface describes an RPC Method
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.IRpcMethod.Name">
            <summary>
            Gets the name of the method
            </summary>
            <value>The name.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IRpcMethod.Parameters">
            <summary>
            Gets all parameters (In, Out and ref parameters) of the <see cref="T:TwinCAT.TypeSystem.IRpcMethod">.</see>
            </summary>
            <value>The parameters.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IRpcMethod.InParameters">
            <summary>
            Gets the In-Parameters of the <see cref="T:TwinCAT.TypeSystem.IRpcMethod"/>
            </summary>
            <value>The In- and Ref-Parameters</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IRpcMethod.OutParameters">
            <summary>
            Gets the Out-Parameters of the <see cref="T:TwinCAT.TypeSystem.IRpcMethod"/>
            </summary>
            <value>The Out- and Ref-Parameters</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IRpcMethod.ReturnType">
            <summary>
            Gets the return type of the <see cref="T:TwinCAT.TypeSystem.IRpcMethod"/>
            </summary>
            <value>Return type or string.Empty.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IRpcMethod.ReturnTypeSize">
            <summary>
            Gets the size of the return type in bytes.
            </summary>
            <value>The size of the return type.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IRpcMethod.Comment">
            <summary>
            Gets the Method comment.
            </summary>
            <value>The comment.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IRpcMethod.IsVoid">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.TypeSystem.IRpcMethod"/> has no return parameter
            </summary>
            <value><c>true</c> if this instance is void; otherwise, <c>false</c>.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.IRpcMethodParameterCollection">
            <summary>
            Interface IRpcMethodParameterCollection
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.IRpcMethodParameterCollection.GetLengthIsParameter(TwinCAT.TypeSystem.IRpcMethodParameter)">
            <summary>
            Gets the corresponding LengthIs parameter.
            </summary>
            <param name="parameter">The parameter.</param>
            <returns>IRpcMethodParameter.</returns>
            <seealso cref="P:TwinCAT.TypeSystem.IRpcMethodParameter.LengthIsParameterIndex"/>
            <seealso cref="P:TwinCAT.TypeSystem.IRpcMethodParameter.HasLengthIsParameter"/>
        </member>
        <member name="T:TwinCAT.TypeSystem.RpcMethodParameterCollection">
            <summary>
            Collection of RPC method parameters
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.RpcMethodParameterCollection._list">
            <summary>
            Internal list organizing the index of the parameters.
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.RpcMethodParameterCollection._dict">
            <summary>
            Dictionary of ParamaterName->RpcMethodParameter for fast find.
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMethodParameterCollection.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.RpcMethodParameterCollection"/> class.
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMethodParameterCollection.#ctor(System.Collections.Generic.IEnumerable{TwinCAT.TypeSystem.IRpcMethodParameter})">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.RpcMethodParameterCollection"/> class.
            </summary>
            <param name="coll">The coll.</param>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMethodParameterCollection.IndexOf(TwinCAT.TypeSystem.IRpcMethodParameter)">
            <summary>
            Determines the index of a specific item in the <see cref="T:System.Collections.Generic.IList`1" />.
            </summary>
            <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.IList`1" />.</param>
            <returns>The index of <paramref name="item" /> if found in the list; otherwise, -1.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMethodParameterCollection.Insert(System.Int32,TwinCAT.TypeSystem.IRpcMethodParameter)">
            <summary>
            Inserts an item to the <see cref="T:System.Collections.Generic.IList`1" /> at the specified index.
            </summary>
            <param name="index">The zero-based index at which <paramref name="item" /> should be inserted.</param>
            <param name="item">The object to insert into the <see cref="T:System.Collections.Generic.IList`1" />.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMethodParameterCollection.RemoveAt(System.Int32)">
            <summary>
            Removes the <see cref="T:System.Collections.Generic.IList`1" /> item at the specified index.
            </summary>
            <param name="index">The zero-based index of the item to remove.</param>
        </member>
        <member name="P:TwinCAT.TypeSystem.RpcMethodParameterCollection.Item(System.Int32)">
            <summary>
            Gets or sets the element at the specified index.
            </summary>
            <param name="index">The index.</param>
            <returns>RpcMethodParameter.</returns>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMethodParameterCollection.Add(TwinCAT.TypeSystem.IRpcMethodParameter)">
            <summary>
            Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
            <param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMethodParameterCollection.Clear">
            <summary>
            Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMethodParameterCollection.Contains(TwinCAT.TypeSystem.IRpcMethodParameter)">
            <summary>
            Determines whether the <see cref="T:System.Collections.Generic.ICollection`1" /> contains a specific value.
            </summary>
            <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
            <returns>true if <paramref name="item" /> is found in the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMethodParameterCollection.CopyTo(TwinCAT.TypeSystem.IRpcMethodParameter[],System.Int32)">
            <summary>
            Copies to.
            </summary>
            <param name="array">The array.</param>
            <param name="arrayIndex">Index of the array.</param>
        </member>
        <member name="P:TwinCAT.TypeSystem.RpcMethodParameterCollection.Count">
            <summary>
            Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
            <value>The count.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.RpcMethodParameterCollection.IsReadOnly">
            <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
            </summary>
            <value><c>true</c> if this instance is read only; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMethodParameterCollection.Remove(TwinCAT.TypeSystem.IRpcMethodParameter)">
            <summary>
            Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
            <param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
            <returns>true if <paramref name="item" /> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false. This method also returns false if <paramref name="item" /> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1" />.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMethodParameterCollection.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMethodParameterCollection.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMethodParameterCollection.AsReadOnly">
            <summary>
            Returns a read only version of this <see cref="T:TwinCAT.TypeSystem.RpcMethodParameterCollection" />
            </summary>
            <returns>ReadOnlyMethodParameterCollection.</returns>
            <value>Collection as read only version.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.RpcMethodParameterCollection.GetLengthIsParameter(TwinCAT.TypeSystem.IRpcMethodParameter)">
            <summary>
            Gets the length is parameter.
            </summary>
            <param name="parameter">The parameter.</param>
            <returns>IRpcMethodParameter.</returns>
            <exception cref="T:System.ArgumentNullException">parameter</exception>
            <exception cref="T:System.ArgumentException">Parameter is not contained in ParameterList - parameter</exception>
        </member>
        <member name="T:TwinCAT.TypeSystem.ReadOnlyMethodParameterCollection">
            <summary>
            Read only <see cref="T:TwinCAT.TypeSystem.RpcMethodParameterCollection"/>.
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.ReadOnlyMethodParameterCollection.#ctor(TwinCAT.TypeSystem.RpcMethodParameterCollection)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.ReadOnlyMethodParameterCollection"/> class.
            </summary>
            <param name="coll">The coll.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.ReadOnlyMethodParameterCollection.GetLengthIsParameter(TwinCAT.TypeSystem.IRpcMethodParameter)">
            <summary>
            Gets the corresponding LengthIs parameter.
            </summary>
            <param name="parameter">The p.</param>
            <returns>IRpcMethodParameter.</returns>
            <seealso cref="P:TwinCAT.TypeSystem.IRpcMethodParameter.LengthIsParameterIndex" />
            <seealso cref="P:TwinCAT.TypeSystem.IRpcMethodParameter.HasLengthIsParameter" />
        </member>
        <member name="T:TwinCAT.TypeSystem.IBinderProvider">
            <summary>
            Interface IBinderProvider
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.TypeSystem.IBinderProvider.Binder">
            <summary>
            Gets the binder.
            </summary>
            <value>The binder.</value>
        </member>
        <member name="T:TwinCAT.TypeSystem.IDynamicSymbol">
            <summary>
            Interface IDynamicSymbol
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.IDynamicSymbol.NormalizedName">
            <summary>
            Gets the normalized instance name (fixed name for dynamic property access)
            </summary>
            <value>The normalized instance name (can be the same like <see cref="P:TwinCAT.TypeSystem.IInstance.InstanceName"/>
            </value>
            <seealso cref="P:TwinCAT.TypeSystem.IInstance.InstanceName"/>
            <seealso cref="P:TwinCAT.TypeSystem.ISymbolFactory.InvalidCharacters"/>
        </member>
        <member name="M:TwinCAT.TypeSystem.IDynamicSymbol.Unwrap">
            <summary>
            Unwraps the DynamicSymbol to its static version.
            </summary>
            <returns>IValueSymbol.</returns>
            <value>The unwrapped symbol.</value>
            <exclude/>
        </member>
        <member name="T:TwinCAT.TypeSystem.IRpcCallableInstance">
            <summary>
            Interface for an RPC callable PLC Method (Remote procedure call)
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.IRpcCallableInstance.RpcMethods">
            <summary>
            Gets the Method descriptions for the <see cref="T:TwinCAT.TypeSystem.IRpcCallableType" />
            </summary>
            <value>The methods.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.IRpcCallableInstance.InvokeRpcMethod(System.String,System.Object[])">
            <summary>
            Invokes the specified RPC Method
            </summary>
            <param name="methodName">The method name.</param>
            <param name="inParameters">The input parameters or NULL</param>
            <returns>The return value of the Method (as object).</returns>
            <remarks>This method only supports primitive data types as <paramref name="inParameters"/>. Any available outparameters will be ignored.
            Complex types will fall back to byte[] arrays.
            </remarks>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV2VirtualTree.cs" region="CODE_SAMPLE_RPCCALL" />
            </example>
        </member>
        <member name="M:TwinCAT.TypeSystem.IRpcCallableInstance.InvokeRpcMethod(System.String,System.Object[],System.Object[]@)">
            <summary>
            Invokes the specified RPC Method
            </summary>
            <param name="methodName">The method name.</param>
            <param name="inParameters">The input parameters or NULL</param>
            <param name="outParameters">The output parameters.</param>
            <returns>The return value of the Method (as object).</returns>
            <remarks>
            Because this overload doesn't provide any <see cref="T:TwinCAT.TypeSystem.AnyTypeSpecifier"/> specifications, only primitive datatypes will be correctly marshalled
            by this method. Complex types will fall back to byte[] arrays.
            </remarks>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV2VirtualTree.cs" region="CODE_SAMPLE_RPCCALL" />
            </example>
        </member>
        <member name="M:TwinCAT.TypeSystem.IRpcCallableInstance.InvokeRpcMethod(System.String,System.Object[],TwinCAT.TypeSystem.AnyTypeSpecifier[],TwinCAT.TypeSystem.AnyTypeSpecifier,System.Object[]@)">
            <summary>
            Invokes the specified RPC Method
            </summary>
            <param name="methodName">The method name.</param>
            <param name="inParameters">The parameters.</param>
            <param name="outSpecifiers">The out specifiers (specifiying the out types) or NULL.</param>
            <param name="retSpecifier">The ret specifier (specifiying the return value) or NULL.</param>
            <param name="outParameters">The out parameters.</param>
            <returns>The return value of the Method (as object).</returns>
            <remarks>The RpcMethod optionally support In-Parameters, Out-Parameters and Return values. Therefore the parameters <paramref name="inParameters"/>, <paramref name="outParameters"/>, <paramref name="outSpecifiers"/>, <paramref name="retSpecifier"/>
            are allowed to be empty or NULL.
            In case of using primitive datatypes, the type specifier parameters (<paramref name="outSpecifiers"/> and <paramref name="retSpecifier"/>) are not necessary and should not be set.
            </remarks>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV2VirtualTree.cs" region="CODE_SAMPLE_RPCCALL" />
            </example>
        </member>
        <member name="M:TwinCAT.TypeSystem.IRpcCallableInstance.TryInvokeRpcMethod(System.String,System.Object[],System.Object@)">
            <summary>
            Invokes the specified RPC Method
            </summary>
            <param name="methodName">The method name.</param>
            <param name="inParameters">The parameters.</param>
            <param name="retValue">The return value of the RPC method as object.</param>
            <returns>The result value of the call (ErrorCode). 0 means Succeeded.</returns>
            <remarks>
            Because this overload doesn't provide any <see cref="T:TwinCAT.TypeSystem.AnyTypeSpecifier"/> specifications, only primitive datatypes will be correctly marshalled
            by this method. Complex types will fall back to byte[] arrays.
            </remarks>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV2VirtualTree.cs" region="CODE_SAMPLE_RPCCALL" />
            </example>
        </member>
        <member name="M:TwinCAT.TypeSystem.IRpcCallableInstance.TryInvokeRpcMethod(System.String,System.Object[],System.Object[]@,System.Object@)">
            <summary>
            Invokes the specified RPC Method
            </summary>
            <param name="methodName">The method name.</param>
            <param name="inParameters">The parameters.</param>
            <param name="retValue">The return value of the RPC method as object.</param>
            <param name="outParameters">The out parameters.</param>
            <returns>The result value of the call (ErrorCode). 0 means Succeeded.</returns>
            <remarks>
            Because this overload doesn't provide any <see cref="T:TwinCAT.TypeSystem.AnyTypeSpecifier"/> specifications, only primitive datatypes will be correctly marshalled
            by this method. Complex types will fall back to byte[] arrays.
            </remarks>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV2VirtualTree.cs" region="CODE_SAMPLE_RPCCALL" />
            </example>
        </member>
        <member name="M:TwinCAT.TypeSystem.IRpcCallableInstance.TryInvokeRpcMethod(System.String,System.Object[],TwinCAT.TypeSystem.AnyTypeSpecifier[],TwinCAT.TypeSystem.AnyTypeSpecifier,System.Object[]@,System.Object@)">
            <summary>
            Invokes the the specified RpcMethod of the <see cref="T:TwinCAT.TypeSystem.IRpcCallableInstance"/>.
            </summary>
            <param name="methodName">Name of the method.</param>
            <param name="inParameters">The parameters.</param>
            <param name="outSpecifiers">The out specifiers (specifying the out types) or NULL.</param>
            <param name="retSpecifier">The ret specifier (specifying the return value) or NULL.</param>
            <param name="outParameters">The out parameters.</param>
            <param name="retValue">The return value of the RPC method./&gt;</param>
            <returns>AdsErrorCode.</returns>
            <remarks>The RpcMethod optionally support In-Parameters, Out-Parameters and Return values. Therefore the parameters <paramref name="inParameters" />, <paramref name="outParameters" />, <paramref name="outSpecifiers" />, <paramref name="retSpecifier" />
            are allowed to be empty or NULL.
            In case of using primitive datatypes, the type specifier parameters (<paramref name="outSpecifiers" /> and <paramref name="retSpecifier" />) are not necessary and should not be set.
            </remarks>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV2VirtualTree.cs" region="CODE_SAMPLE_RPCCALL" />
            </example>
        </member>
        <member name="T:TwinCAT.TypeSystem.IRpcStructInstance">
            <summary>
            Interface IRpcStructInstance
            </summary>
            <seealso cref="T:TwinCAT.TypeSystem.IStructInstance" />
            <seealso cref="T:TwinCAT.TypeSystem.IRpcCallableInstance" />
        </member>
        <member name="T:TwinCAT.TypeSystem.Dimension">
            <summary>
            Represents a single dimension of an <see cref="T:TwinCAT.TypeSystem.IArrayType"/>
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.Dimension.#ctor(System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.Dimension"/> class.
            </summary>
            <param name="lowerBound">The lower bound.</param>
            <param name="elementCount">The element count.</param>
            <exclude/>
        </member>
        <member name="F:TwinCAT.TypeSystem.Dimension._lowerBound">
            <summary>
            Lower Bound
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.Dimension.LowerBound">
            <summary>
            Gets the lower bound of elements within that <see cref="T:TwinCAT.TypeSystem.IDimension" />.
            </summary>
            <value>
            The lower bound.
            </value>
        </member>
        <member name="P:TwinCAT.TypeSystem.Dimension.UpperBound">
            <summary>
            Gets the upper bound of elements within this <see cref="T:TwinCAT.TypeSystem.Dimension"/>
            </summary>
            <value>The upper bound.</value>
        </member>
        <member name="F:TwinCAT.TypeSystem.Dimension._elementCount">
            <summary>
            Element count
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.Dimension.ElementCount">
            <summary>
            Gets the number of elements within that <see cref="T:TwinCAT.TypeSystem.IDimension" />.
            </summary>
            <value>
            The element count.
            </value>
        </member>
        <member name="T:TwinCAT.TypeSystem.Namespace">
            <summary>
            Namespace object.
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.TypeSystem.Namespace._name">
            <summary>
            The namespace name
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.Namespace._dataTypes">
            <summary>
            Data types of the <see cref="T:TwinCAT.TypeSystem.Namespace"/>
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.Namespace.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.Namespace"/> class.
            </summary>
            <param name="name">The name.</param>
        </member>
        <member name="P:TwinCAT.TypeSystem.Namespace.Name">
            <summary>
            Gets the name of the namespace.
            </summary>
            <value>The name.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.Namespace.DataTypes">
            <summary>
            Gets the data types organized by this <see cref="T:TwinCAT.TypeSystem.Namespace"/>
            </summary>
            <value>The data types.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.Namespace.TwinCAT#TypeSystem#Generic#INamespaceInternal{TwinCAT#TypeSystem#IDataType}#DataTypesInternal">
            <summary>
            Access to the Internal DataTypes collection (read/write)
            </summary>
            <value>The data types internal.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.Namespace.TwinCAT#TypeSystem#Generic#INamespaceInternal{TwinCAT#TypeSystem#IDataType}#RegisterType(TwinCAT.TypeSystem.IDataType)">
            <summary>
            Registers the the specified <see cref="T:TwinCAT.TypeSystem.IDataType" />
            </summary>
            <param name="type">The type.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.Namespace.TwinCAT#TypeSystem#Generic#INamespaceInternal{TwinCAT#TypeSystem#IDataType}#RegisterTypes(System.Collections.Generic.IEnumerable{TwinCAT.TypeSystem.IDataType})">
            <summary>
            Registers the types.
            </summary>
            <param name="types">The types.</param>
        </member>
        <member name="T:TwinCAT.TypeSystem.ISymbolInternal">
            <summary>
            Interface ISymbolInternal
            </summary>
            <remarks>Internal interface for Symbols</remarks>
            <exclude/>
        </member>
        <member name="P:TwinCAT.TypeSystem.ISymbolInternal.SubSymbolsInternal">
            <summary>
            Creates and Gets the Internal SubSymbol sCollection
            </summary>
            <value>The sub symbols internal.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.TypeSystem.ISymbolInternal.SubSymbolsCreated">
            <summary>
            Gets a value indicating whether the internal SubSymbols collection is created.
            </summary>
            <value><c>true</c> if [sub symbols created]; otherwise, <c>false</c>.</value>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.ISymbolInternal.CreateSubSymbols(TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Creates the SubSymbol collection.
            </summary>
            <param name="parent">The parent.</param>
            <returns>SymbolCollection.</returns>
            <exclude/>
        </member>
        <member name="T:TwinCAT.TypeSystem.SymbolFactoryBase">
            <summary>
            Base implementation for <see cref="T:TwinCAT.TypeSystem.ISymbolFactory"/> interface.
            </summary>
            <seealso cref="T:TwinCAT.TypeSystem.ISymbolFactory" />
            <exclude/>
        </member>
        <member name="F:TwinCAT.TypeSystem.SymbolFactoryBase.services">
            <summary>
            Symbol Factory services
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.SymbolFactoryBase.#ctor(System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.SymbolFactoryBase" /> class.
            </summary>
            <param name="nonCachedArrayElements">if set to <c>true</c> Array Elements will be memory optimized ind non-cached.</param>
        </member>
        <member name="F:TwinCAT.TypeSystem.SymbolFactoryBase.nonCachedArrayElements">
            <summary>
            Indicates that ArrayElements will be created on access and not cached.
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.SymbolFactoryBase.initialized">
            <summary>
            Indicates whether this instance is initialized.
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.SymbolFactoryBase.IsInitialized">
            <summary>
            Gets a value indicating whether this instance is initialized.
            </summary>
            <value><c>true</c> if this instance is initialized; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.SymbolFactoryBase.Initialize(TwinCAT.TypeSystem.ISymbolFactoryServices)">
            <summary>
            Initializes the the <see cref="T:TwinCAT.TypeSystem.ISymbolFactory" />.
            </summary>
            <param name="services">The services.</param>
            <exception cref="T:System.ArgumentNullException">services</exception>
        </member>
        <member name="P:TwinCAT.TypeSystem.SymbolFactoryBase.FactoryServices">
            <summary>
            Gets the factory services.
            </summary>
            <value>The factory services.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.SymbolFactoryBase.CreateInstance(TwinCAT.TypeSystem.ISymbolInfo,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Creates the Symbol with the specified resolver
            </summary>
            <param name="entry">Symbol Entry.</param>
            <param name="parent">The parent.</param>
            <returns>Symbol instance.</returns>
            <exception cref="T:System.ArgumentNullException">entry</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.SymbolFactoryBase.TryResolveType(System.String,TwinCAT.TypeSystem.IDataType@)">
            <summary>
            Tries to resolve the specfied data type
            </summary>
            <param name="typeName">Name of the Type.</param>
            <param name="type">The type.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
            <exception cref="T:System.ArgumentNullException">typeName</exception>
            <exception cref="T:System.ArgumentNullException">info</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.SymbolFactoryBase.OnCreateSymbol(TwinCAT.TypeSystem.ISymbolInfo,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Handler function creating a new <see cref="T:TwinCAT.TypeSystem.ISymbol" />
            </summary>
            <param name="entry">The entry.</param>
            <param name="parent">The parent.</param>
            <returns>ISymbol.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.SymbolFactoryBase.CreateArrayElementInstances(TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.IArrayType)">
            <summary>
            Creates all Element Instances of the specified array parent symbol.
            </summary>
            <param name="parentInstance">The parent instance.</param>
            <param name="arrayType">Type of the array.</param>
            <returns>SymbolCollection.</returns>
            <exception cref="T:System.ArgumentNullException">
            parentInstance
            or
            arrayType
            </exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.SymbolFactoryBase.OnCreateArrayElementInstances(TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.IArrayType)">
            <summary>
            Creates all Element Instances of the specified array parent symbol.
            </summary>
            <param name="parentInstance">The parent instance.</param>
            <param name="arrayType">Type of the array.</param>
            <returns>SymbolCollection.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.SymbolFactoryBase.OnCreateArrayInstance(TwinCAT.TypeSystem.ISymbolInfo,TwinCAT.TypeSystem.IArrayType,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Handler function creating an ArrayInstance
            </summary>
            <param name="entry">The symbol INfo.</param>
            <param name="type">The type.</param>
            <param name="parent">The parent.</param>
            <returns>IArrayInstance.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.SymbolFactoryBase.OnCreateStruct(TwinCAT.TypeSystem.ISymbolInfo,TwinCAT.TypeSystem.IStructType,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Handler function creating the struct symbol
            </summary>
            <param name="entry">The entry.</param>
            <param name="structType">Type of the structure.</param>
            <param name="parent">The parent.</param>
            <returns>IStructInstance.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.SymbolFactoryBase.OnCreateUnion(TwinCAT.TypeSystem.ISymbolInfo,TwinCAT.TypeSystem.IUnionType,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Handler function creating the union symbol
            </summary>
            <param name="entry">The entry.</param>
            <param name="unionType">Type of the structure.</param>
            <param name="parent">The parent.</param>
            <returns>IStructInstance.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.SymbolFactoryBase.OnCreateAlias(TwinCAT.TypeSystem.ISymbolInfo,TwinCAT.TypeSystem.IAliasType,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Handler function creating the alias symbol
            </summary>
            <param name="entry">The entry.</param>
            <param name="aliasType">The Alias type.</param>
            <param name="parent">The parent.</param>
            <returns>IStructInstance.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.SymbolFactoryBase.OnCreateString(TwinCAT.TypeSystem.ISymbolInfo,TwinCAT.TypeSystem.IStringType,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Handler function creating a String Type
            </summary>
            <param name="entry">The entry.</param>
            <param name="stringType">The string dataType.</param>
            <param name="parent">The parent.</param>
            <returns>ISymbol.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.SymbolFactoryBase.OnCreatePrimitive(TwinCAT.TypeSystem.ISymbolInfo,TwinCAT.TypeSystem.IDataType,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Handler function creating a Primitive Symbol
            </summary>
            <param name="entry">The entry.</param>
            <param name="dataType">Type of the data.</param>
            <param name="parent">The parent.</param>
            <returns>ISymbol.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.SymbolFactoryBase.OnCreateReferenceInstance(TwinCAT.TypeSystem.ISymbolInfo,TwinCAT.TypeSystem.IReferenceType,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Handler function creating a ReferenceInstance symbol.
            </summary>
            <param name="entry">The entry.</param>
            <param name="referenceType">Type of the reference.</param>
            <param name="parent">The parent.</param>
            <returns>IReferenceInstance.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.SymbolFactoryBase.OnCreatePointerInstance(TwinCAT.TypeSystem.ISymbolInfo,TwinCAT.TypeSystem.IPointerType,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Handler function creating a Pointer instance symbol
            </summary>
            <param name="entry">The entry.</param>
            <param name="structType">Type of the structure.</param>
            <param name="parent">The parent.</param>
            <returns>IPointerInstance.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.SymbolFactoryBase.CreateArrayElement(System.Int32[],TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.IArrayType)">
            <summary>
            Creates the array element
            </summary>
            <param name="indices">Array Index of the Element</param>
            <param name="parent">Array Instance</param>
            <param name="arrayType">Resolved array type.</param>
            <returns>Array element</returns>
            <exception cref="T:System.ArgumentNullException">
            parent
            or
            indices
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">indices</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.SymbolFactoryBase.OnCreateArrayElement(System.Int32[],TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.IArrayType)">
            <summary>
            Handler function creating a new Array Element Symbol.
            </summary>
            <param name="currentIndex">Index of the current.</param>
            <param name="parent">The parent.</param>
            <param name="arrayType">Resolved array type.</param>
            <returns>ISymbol.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.SymbolFactoryBase.CreateFieldInstances(TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.IDataType)">
            <summary>
            Creates the Member Instances collection for the specified parent instance
            </summary>
            <param name="parentInstance">The parent instance.</param>
            <param name="structType">Type of the structure.</param>
            <returns>SymbolCollection.</returns>
            <exception cref="T:System.ArgumentNullException">
            parentInstance
            or
            structType
            </exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.SymbolFactoryBase.OnCreateFieldInstances(TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.IDataType)">
            <summary>
            Handler function creating the member instances.
            </summary>
            <param name="parentInstance">The parent instance.</param>
            <param name="parentType">Type of parent (Struct or Union).</param>
            <returns>SymbolCollection.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.SymbolFactoryBase.CreateFieldInstance(TwinCAT.TypeSystem.IField,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Creates the Instance member.
            </summary>
            <param name="field">Field</param>
            <param name="parent">Parent Struct</param>
            <returns>Instance member</returns>
            <exception cref="T:System.ArgumentNullException">
            member
            or
            parent
            </exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.SymbolFactoryBase.OnCreateFieldInstance(TwinCAT.TypeSystem.IField,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Handler function creating a new <see cref="T:TwinCAT.TypeSystem.IStructInstance" /> member
            </summary>
            <param name="member">The member.</param>
            <param name="parent">The parent.</param>
            <returns>ISymbol.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.SymbolFactoryBase.CreateReferenceInstance(TwinCAT.TypeSystem.IPointerType,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Creates the reference/pointer instance.
            </summary>
            <param name="type">Reference/Pointer type.</param>
            <param name="parent">Parent Instance of the reference</param>
            <returns>Reference/Pointer instance.</returns>
            <exception cref="T:System.ArgumentNullException">
            type
            or
            parent
            </exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.SymbolFactoryBase.OnCreateReference(TwinCAT.TypeSystem.IPointerType,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Handler function creating a new Reference Instance.
            </summary>
            <param name="type">The type.</param>
            <param name="parent">The parent.</param>
            <returns>ISymbol.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.SymbolFactoryBase.CreateVirtualStruct(System.String,System.String,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Creates the virtual structure.
            </summary>
            <param name="instanceName">Name of the instance.</param>
            <param name="instancePath">The instance path.</param>
            <param name="parent">The parent.</param>
            <returns>Virtual struct instance</returns>
            <exception cref="T:System.ArgumentNullException">
            instanceName
            or
            instancePath
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">instanceName
            or
            instancePath</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.SymbolFactoryBase.OnCreateVirtualStruct(System.String,System.String,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Handler function creating a new Virtual Struct
            </summary>
            <param name="instanceName">Name of the instance.</param>
            <param name="instancePath">The instance path.</param>
            <param name="parent">The parent.</param>
            <returns>ISymbol.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.SymbolFactoryBase.CombinePath(TwinCAT.TypeSystem.IField,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Combines member parent path
            </summary>
            <param name="member">The member.</param>
            <param name="parent">The parent.</param>
            <returns>System.String.</returns>
        </member>
        <member name="F:TwinCAT.TypeSystem.SymbolFactoryBase.DefaultInvalidChars">
            <summary>
            Default Invalid Characters
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.SymbolFactoryBase.invalidCharacters">
            <summary>
            The invalid characters
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.SymbolFactoryBase.InvalidCharacters">
            <summary>
            Gets the invalid characters that are not allowed to appear within the Instance Name
            </summary>
            <value>The forbidden characters.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.SymbolFactoryBase.HasInvalidCharacters">
            <summary>
            Gets a value indicating whether this instance has invalid characters.
            </summary>
            <value><c>true</c> if this instance has invalid characters; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.SymbolFactoryBase.SetInvalidCharacters(System.Char[])">
            <summary>
            Sets the invalid characters.
            </summary>
            <param name="invalidChars">The invalid chars.</param>
        </member>
        <member name="T:TwinCAT.TypeSystem.ValueUpdateMode">
            <summary>
            Not used yet
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.TypeSystem.ValueUpdateMode.None">
            <summary>
            No automatic Value Update / Uninitialized
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.ValueUpdateMode.Immediately">
            <summary>
            Update Value immediately
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.ValueUpdateMode.Triggered">
            <summary>
            Update the Value Triggered
            </summary>
        </member>
        <member name="T:TwinCAT.TypeSystem.IValue">
            <summary>
            Symbol Value Interface
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.IValue.Symbol">
            <summary>
            Gets the symbol bound to this <see cref="T:TwinCAT.TypeSystem.IValue"/>.
            </summary>
            <value>
            The symbol.
            </value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IValue.DataType">
            <summary>
            Gets the data type bound to this <see cref="T:TwinCAT.TypeSystem.IValue"/>
            </summary>
            <value>The type of the data.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IValue.UpdateMode">
            <summary>
            Gets the update mode (not implemented yet)
            </summary>
            <value>
            The update mode.
            </value>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.IValue.Write">
            <summary>
            Writes the value (via ADS)
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.IValue.Read">
            <summary>
            Reads the value (via ADS)
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.IValue.CachedRaw">
            <summary>
            Gets the cached Raw internal Data.
            </summary>
            <value>The raw cached data.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IValue.UtcTimeStamp">
            <summary>
            Gets the Time stamp of the last successful read of the Value (local user time, UTC)
            </summary>
            <value>The read time stamp.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.IValue.Age">
            <summary>
            Gets the age of the value (last successful read of the value)
            </summary>
            <value>The age.</value>
            <seealso cref="P:TwinCAT.TypeSystem.IValue.UtcTimeStamp"/>
        </member>
        <member name="P:TwinCAT.TypeSystem.IValue.IsPrimitive">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.TypeSystem.IValue"/> is a primitive value.
            </summary>
            <value><c>true</c> if this instance is primitive; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.IValue.ResolveValue(System.Boolean)">
            <summary>
            Resolves the Value object to its primitive value.
            </summary>
            <param name="resolveEnumToPrimitive">if set to <c>true</c> <see cref="T:TwinCAT.TypeSystem.IEnumValue"/>s are resolved to their primitives also.</param>
            <returns>System.Object.</returns>
            <remarks>If the value is not primitive, this method returns the <see cref="T:TwinCAT.TypeSystem.IValue" /> itself.</remarks>
        </member>
        <member name="M:TwinCAT.TypeSystem.IValue.TryResolveValue(System.Boolean,System.Object@)">
            <summary>
            Tries to resolves the Value object to its primitive value.
            </summary>
            <param name="resolveEnumToPrimitive">if set to <c>true</c> <see cref="T:TwinCAT.TypeSystem.IEnumValue"/>s are resolved to their primitives also.</param>
            <param name="value">The value.</param>
            <returns><c>true</c> if value can be resolved, <c>false</c> otherwise.</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.IStructValue">
            <summary>
            Interface IStructValue
            </summary>
            <seealso cref="T:TwinCAT.TypeSystem.IValue" />
        </member>
        <member name="M:TwinCAT.TypeSystem.IStructValue.TrySetMemberValue(System.String,System.Object)">
            <summary>
            Tries to Set a Member/Property Value
            </summary>
            <param name="name">The name of the member</param>
            <param name="value">The value.</param>
            <returns><c>true</c> if succeeded, otherwise <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.IStructValue.TryGetMemberValue(System.String,System.Object@)">
            <summary>
            Tries to get a property/Member value.
            </summary>
            <param name="name">The name of the member</param>
            <param name="value">The value.</param>
            <returns><c>true</c> if succeeded, otherwise <c>false</c> otherwise.</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.IArrayValue">
            <summary>
            Interface IArrayValue
            </summary>
            <seealso cref="T:TwinCAT.TypeSystem.IValue" />
        </member>
        <member name="M:TwinCAT.TypeSystem.IArrayValue.TrySetIndexValue(System.Object[],System.Object)">
            <summary>
            Tries to set the indexed value on Arrays
            </summary>
            <param name="indexes">The indexes.</param>
            <param name="value">The value.</param>
            <returns><c>true</c> if succeeded, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.IArrayValue.TryGetArrayElementValues(System.Collections.Generic.IEnumerable{System.Object}@)">
            <summary>
            Returns Array Element values.
            </summary>
            <param name="elementValues">The element values.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.IArrayValue.TryGetIndexValue(System.Int32[],System.Object@)">
            <summary>
            Tries to get the specified Array Element
            </summary>
            <param name="indices">The indices.</param>
            <param name="value">The value.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.ArrayElementValueIterator">
            <summary>
            Iterator for Array Element Values.
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.TypeSystem.ArrayElementValueIterator._arrayValue">
            <summary>
            The Array Value
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.ArrayElementValueIterator._array">
            <summary>
            The Array Instance
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.ArrayElementValueIterator._type">
            <summary>
            The Array Type
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.ArrayElementValueIterator._indexIter">
            <summary>
            Index Iterator
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayElementValueIterator.#ctor(TwinCAT.TypeSystem.IArrayValue)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.ArrayElementValueIterator"/> class.
            </summary>
            <param name="arrayValue">The array value.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayElementValueIterator.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.ArrayElementValueIterator.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.DynamicValue">
            <summary>
            Dynamic value (uses RuntimeBinding for <see cref="T:TwinCAT.TypeSystem.ISymbol" /> value reading / writing).
            </summary>
            <remarks>The <see cref="T:TwinCAT.TypeSystem.DynamicValue"/> adds dynamic run time behaviour to the <see cref="T:TwinCAT.TypeSystem.IValue"/>Value/<see cref="T:TwinCAT.TypeSystem.IValue"/>.
            That means e.g. for struct values that .NET Properties are on-the-fly defined and dispatched at runtime just like defined in the structs
            structs data type definition. Another example is the access of Array Element values through indexes.
            </remarks>
            <example>
            Sample for the dynamic resolution of Symbols and reading values:
            <code language="C#" title="Dynamic Symbol access" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV2DynamicTree.cs" region="CODE_SAMPLE_SIMPLEDYNAMIC" />
            </example>
            <seealso cref="T:TwinCAT.TypeSystem.DynamicSymbol"/>
            <seealso cref="T:System.Dynamic.DynamicObject"/>
            <seealso cref="T:TwinCAT.TypeSystem.IValue"/>
        </member>
        <member name="F:TwinCAT.TypeSystem.DynamicValue.valueFactory">
            <summary>
            The value factory
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicValue.#ctor(TwinCAT.TypeSystem.ISymbol,System.Byte[],System.Int32,System.DateTime,TwinCAT.ValueAccess.IAccessorValueFactory)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.DynamicValue" /> class.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="data">RawData</param>
            <param name="offset">RawData Offset</param>
            <param name="timeStamp">The time stamp (UserMode,</param>
            <param name="factory">The factory.</param>
            <exception cref="T:System.ArgumentNullException">
            factory
            or
            symbol
            </exception>
            <exception cref="T:System.ArgumentNullException">symbol</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicValue.#ctor(TwinCAT.TypeSystem.ISymbol,System.Byte[],System.Int32,TwinCAT.TypeSystem.DynamicValue)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.DynamicValue"/> class.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="data">RawData</param>
            <param name="offset">RawData Offset</param>
            <param name="parentValue">The parent value.</param>
        </member>
        <member name="F:TwinCAT.TypeSystem.DynamicValue._readUtcTimeStamp">
            <summary>
            The UTC timestamp of the last successful read of the value.
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicValue.UtcTimeStamp">
            <summary>
            Gets the Time stamp of the last successful read of the Value.
            </summary>
            <value>The read time stamp.</value>
        </member>
        <member name="F:TwinCAT.TypeSystem.DynamicValue._symbol">
            <summary>
            Symbol that is bound to this value.
            </summary>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicValue.Symbol">
            <summary>
            Gets the symbol that is bound to this value.
            </summary>
            <value>The symbol.</value>
        </member>
        <member name="F:TwinCAT.TypeSystem.DynamicValue._parentValue">
            <summary>
            Gets the Update Mode (not implemented yet)
            </summary>
            <value>
            The mode.
            </value>
        </member>
        <member name="F:TwinCAT.TypeSystem.DynamicValue.cachedData">
            <summary>
            The cached (raw) data) of the Root Symbol
            </summary>
        </member>
        <member name="F:TwinCAT.TypeSystem.DynamicValue.cachedDataOffset">
            <summary>
            Byte offset of this value data within the cached data.
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicValue.GetDynamicMemberNames">
            <summary>
            Returns the enumeration of all dynamic member names.
            </summary>
            <returns>
            A sequence that contains dynamic member names.
            </returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicValue.TryInvoke(System.Dynamic.InvokeBinder,System.Object[],System.Object@)">
            <summary>
            Provides the implementation for operations that invoke an object. Classes derived from the <see cref="T:System.Dynamic.DynamicObject" /> class can override this method to specify dynamic behavior for operations such as invoking an object or a delegate.
            </summary>
            <param name="binder">Provides information about the invoke operation.</param>
            <param name="args">The arguments that are passed to the object during the invoke operation. For example, for the sampleObject(100) operation, where sampleObject is derived from the <see cref="T:System.Dynamic.DynamicObject" /> class, <paramref name="args" /> is equal to 100.</param>
            <param name="result">The result of the object invocation.</param>
            <returns>true if the operation is successful; otherwise, false. If this method returns false, 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="P:TwinCAT.TypeSystem.DynamicValue.RootValue">
            <summary>
            Gets the root value.
            </summary>
            <value>The root value.</value>
            <remarks>The root value is the value, that is active in terms of ADS communication, the object that requests the data. All subsequent
            children are working on the <see cref="P:TwinCAT.TypeSystem.DynamicValue.RootValue"/>s cache.</remarks>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicValue.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"/> 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 Console.WriteLine(sampleObject.SampleProperty) statement, where sampleObject is an instance of the class derived from the <see cref="T:System.Dynamic.DynamicObject"/> 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 <paramref name="result"/>.</param>
            <returns>
            true if the operation is successful; otherwise, false. If this method returns false, the run-time binder of the language determines the behavior. (In most cases, a run-time exception is thrown.)
            </returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicValue.TryGetMemberValue(System.String,System.Object@)">
            <summary>
            Tries the get member value.
            </summary>
            <param name="name">The name.</param>
            <param name="result">The result.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
            <exception cref="T:TwinCAT.Ads.SymbolException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicValue.TrySetMember(System.Dynamic.SetMemberBinder,System.Object)">
            <summary>
            Provides the implementation for operations that set member values. Classes derived from the <see cref="T:System.Dynamic.DynamicObject"/> class can override this method to specify dynamic behavior for operations such as setting 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 to which the value is being assigned. For example, for the statement sampleObject.SampleProperty = "Test", where sampleObject is an instance of the class derived from the <see cref="T:System.Dynamic.DynamicObject"/> class, binder.Name returns "SampleProperty". The binder.IgnoreCase property specifies whether the member name is case-sensitive.</param>
            <param name="value">The value to set to the member. For example, for sampleObject.SampleProperty = "Test", where sampleObject is an instance of the class derived from the <see cref="T:System.Dynamic.DynamicObject"/> class, the <paramref name="value"/> is "Test".</param>
            <returns>
            true if the operation is successful; otherwise, false. If this method returns false, 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="M:TwinCAT.TypeSystem.DynamicValue.TrySetMemberValue(System.String,System.Object)">
            <summary>
            Tries to Set a Member/Property Value
            </summary>
            <param name="name">The name of the member</param>
            <param name="value">The value.</param>
            <returns><c>true</c> if succeeded, otherwise <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicValue.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"/> 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"/> 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 sampleObject.SampleMethod(100), where sampleObject is derived from the <see cref="T:System.Dynamic.DynamicObject"/> class, <paramref name="args"/>[0] is equal to 100.</param>
            <param name="result">The result of the member invocation.</param>
            <returns>
            true if the operation is successful; otherwise, false. If this method returns false, 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="M:TwinCAT.TypeSystem.DynamicValue.TryGetIndex(System.Dynamic.GetIndexBinder,System.Object[],System.Object@)">
            <summary>
            Provides the implementation for operations that get a value by index. Classes derived from the <see cref="T:System.Dynamic.DynamicObject"/> class can override this method to specify dynamic behavior for indexing operations.
            </summary>
            <param name="binder">Provides information about the operation.</param>
            <param name="indexes">The indexes that are used in the operation. For example, for the sampleObject[3] operation in C# (sampleObject(3) in Visual Basic), where sampleObject is derived from the DynamicObject class, <paramref name="indexes"/>[0] is equal to 3.</param>
            <param name="result">The result of the index operation.</param>
            <returns>
            true if the operation is successful; otherwise, false. If this method returns false, the run-time binder of the language determines the behavior. (In most cases, a run-time exception is thrown.)
            </returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicValue.TryConvert(System.Dynamic.ConvertBinder,System.Object@)">
            <summary>
            Provides implementation for type conversion operations. Classes derived from the <see cref="T:System.Dynamic.DynamicObject" /> class can override this method to specify dynamic behavior for operations that convert an object from one type to another.
            </summary>
            <param name="binder">Provides information about the conversion operation. The binder.Type property provides the type to which the object must be converted. For example, for the statement (String)sampleObject in C# (CType(sampleObject, Type) in Visual Basic), where sampleObject is an instance of the class derived from the <see cref="T:System.Dynamic.DynamicObject" /> class, binder.Type returns the <see cref="T:System.String" /> type. The binder.Explicit property provides information about the kind of conversion that occurs. It returns true for explicit conversion and false for implicit conversion.</param>
            <param name="result">The result of the type conversion operation.</param>
            <returns>true if the operation is successful; otherwise, false. If this method returns false, 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="M:TwinCAT.TypeSystem.DynamicValue.TryGetIndexValue(System.Object[],System.Object@)">
            <summary>
            Tries the get index value.
            </summary>
            <param name="indexes">The indexes.</param>
            <param name="result">The result.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicValue.TryGetIndexValue(System.Int32[],System.Object@)">
            <summary>
            Reads the specified array element.
            </summary>
            <param name="indices">The indices.</param>
            <param name="value">The value.</param>
            <returns>System.Object.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicValue.ReadMember(TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Reads the specified member element.
            </summary>
            <param name="memberInstance">The member instance.</param>
            <returns></returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicValue.WriteMember(TwinCAT.TypeSystem.ISymbol,System.Object)">
            <summary>
            Writes the specified member element.
            </summary>
            <param name="memberInstance">The member instance.</param>
            <param name="value">The value.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicValue.TrySetIndex(System.Dynamic.SetIndexBinder,System.Object[],System.Object)">
            <summary>
            Provides the implementation for operations that set a value by index. Classes derived from the <see cref="T:System.Dynamic.DynamicObject"/> class can override this method to specify dynamic behavior for operations that access objects by a specified index.
            </summary>
            <param name="binder">Provides information about the operation.</param>
            <param name="indexes">The indexes that are used in the operation. For example, for the sampleObject[3] = 10 operation in C# (sampleObject(3) = 10 in Visual Basic), where sampleObject is derived from the <see cref="T:System.Dynamic.DynamicObject"/> class, <paramref name="indexes"/>[0] is equal to 3.</param>
            <param name="value">The value to set to the object that has the specified index. For example, for the sampleObject[3] = 10 operation in C# (sampleObject(3) = 10 in Visual Basic), where sampleObject is derived from the <see cref="T:System.Dynamic.DynamicObject"/> class, <paramref name="value"/> is equal to 10.</param>
            <returns>
            true if the operation is successful; otherwise, false. If this method returns false, 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="M:TwinCAT.TypeSystem.DynamicValue.WriteArrayElementCached(System.Int32[],System.Object)">
            <summary>
            Writes the array element value into the cache.
            </summary>
            <param name="indices">The indices.</param>
            <param name="value">The value.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicValue.TrySetIndexValue(System.Object[],System.Object)">
            <summary>
            Tries to set the indexed value on Arrays
            </summary>
            <param name="indexes">The indexes.</param>
            <param name="value">The value.</param>
            <returns><c>true</c> if succeeded, <c>false</c> otherwise.</returns>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicValue.UpdateMode">
            <summary>
            Gets the update mode (not implemented yet)
            </summary>
            <value>
            The update mode.
            </value>
            <exclude/>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicValue.Write">
            <summary>
            Writes the value (via ADS)
            </summary>
            <exception cref="T:TwinCAT.Ads.SymbolException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicValue.Read">
            <summary>
            Reads the value (via ADS)
            </summary>
            <exception cref="T:TwinCAT.Ads.SymbolException"></exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicValue.ToString">
            <summary>
            Returns a <see cref="T:System.String" /> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String" /> that represents this instance.
            </returns>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicValue.Age">
            <summary>
            Gets the age of the value (last successful read of the value)
            </summary>
            <value>The age.</value>
            <exception cref="T:System.NotImplementedException"></exception>
            <seealso cref="P:TwinCAT.TypeSystem.DynamicValue.UtcTimeStamp" />
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicValue.DataType">
            <summary>
            Gets the data type bound to this <see cref="T:TwinCAT.TypeSystem.IValue" />
            </summary>
            <value>The type of the data.</value>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicValue.CachedRaw">
            <summary>
            Gets the cached Raw internal Data.
            </summary>
            <value>The raw cached data.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicValue.IsPrimitive">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.TypeSystem.IValue" /> is a primitive value.
            </summary>
            <value><c>true</c> if this instance is primitive; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.TypeSystem.DynamicValue.ResolvedType">
            <summary>
            Gets the resolved type.
            </summary>
            <value>Resolved type.</value>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicValue.ResolveValue(System.Boolean)">
            <summary>
            Resolves the Value object to its primitive value.
            </summary>
            <param name="resolveEnumToPrimitive">if set to <c>true</c> <see cref="T:TwinCAT.TypeSystem.IEnumValue"/>s are resolved to their primitives also.</param>
            <returns>System.Object.</returns>
            <remarks>If the value is not primitive, this method returns the <see cref="T:TwinCAT.TypeSystem.IValue" /> itself.</remarks>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicValue.TryResolveValue(System.Boolean,System.Object@)">
            <summary>
            Tries to resolves the Value object to its primitive value.
            </summary>
            <param name="resolveEnumToPrimitive">if set to <c>true</c> <see cref="T:TwinCAT.TypeSystem.IEnumValue"/>s are resolved to their primitives also.</param>
            <param name="value">The value.</param>
            <returns><c>true</c> if value can be resolved, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicValue.TryGetArrayElementValues(System.Collections.Generic.IEnumerable{System.Object}@)">
            <summary>
            Returns Array Element values.
            </summary>
            <param name="elementValues">The element values.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.DynamicReferenceValue">
            <summary>
            Class DynamicReferenceValue.
            </summary>
            <seealso cref="T:TwinCAT.TypeSystem.DynamicValue" />
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicReferenceValue.#ctor(TwinCAT.TypeSystem.ISymbol,System.Byte[],System.Int32,System.DateTime,TwinCAT.ValueAccess.IAccessorValueFactory)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.DynamicReferenceValue" /> class.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="data">RawData</param>
            <param name="offset">RawData Offset</param>
            <param name="timeStamp">The time stamp (UserMode,</param>
            <param name="factory">The factory.</param>
            <exception cref="T:System.ArgumentNullException">
            factory
            or
            symbol
            </exception>
            <exception cref="T:System.ArgumentNullException">symbol</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicReferenceValue.#ctor(TwinCAT.TypeSystem.ISymbol,System.Byte[],System.Int32,TwinCAT.TypeSystem.DynamicValue)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.DynamicValue"/> class.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="data">RawData</param>
            <param name="offset">RawData Offset</param>
            <param name="parentValue">The parent value.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicReferenceValue.ReadMember(TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Reads the specified member element.
            </summary>
            <param name="memberInstance">The member instance.</param>
            <returns></returns>
        </member>
        <member name="T:TwinCAT.TypeSystem.DynamicPointerValue">
            <summary>
            Class DynamicPointerValue.
            </summary>
            <seealso cref="T:TwinCAT.TypeSystem.DynamicValue" />
        </member>
        <member name="F:TwinCAT.TypeSystem.DynamicPointerValue.s_pointerDeref">
            <summary>
            Pointer Deref indicator
            </summary>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicPointerValue.#ctor(TwinCAT.TypeSystem.ISymbol,System.Byte[],System.Int32,System.DateTime,TwinCAT.ValueAccess.IAccessorValueFactory)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.DynamicReferenceValue" /> class.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="data">RawData</param>
            <param name="offset">RawData Offset</param>
            <param name="timeStamp">The time stamp (UserMode,</param>
            <param name="factory">The factory.</param>
            <exception cref="T:System.ArgumentNullException">
            factory
            or
            symbol
            </exception>
            <exception cref="T:System.ArgumentNullException">symbol</exception>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicPointerValue.#ctor(TwinCAT.TypeSystem.ISymbol,System.Byte[],System.Int32,TwinCAT.TypeSystem.DynamicValue)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.DynamicValue"/> class.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="data">RawData</param>
            <param name="offset">RawData Offset</param>
            <param name="parentValue">The parent value.</param>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicPointerValue.GetDynamicMemberNames">
            <summary>
            Returns the enumeration of all dynamic member names.
            </summary>
            <returns>
            A sequence that contains dynamic member names.
            </returns>
        </member>
        <member name="M:TwinCAT.TypeSystem.DynamicPointerValue.TryGetMemberValue(System.String,System.Object@)">
            <summary>
            Tries the get member value.
            </summary>
            <param name="name">The name.</param>
            <param name="result">The result.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
            <exception cref="T:TwinCAT.Ads.SymbolException"></exception>
        </member>
        <member name="T:TwinCAT.Ads.NotificationSettingsMarshaller">
            <summary>
            Marshalling class for <see cref="T:TwinCAT.Ads.NotificationSettings"/>
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.Internal.IDisposableHandleBag">
            <summary>
            Interface IDisposableHandleBag
            Implements the <see cref="T:System.IDisposable" />
            </summary>
            <exclude/>
            <seealso cref="T:System.IDisposable" />
        </member>
        <member name="M:TwinCAT.Ads.Internal.IDisposableHandleBag.Contains(System.UInt32)">
            <summary>
            Determines whether the handle was acquired by this <see cref="T:TwinCAT.Ads.Internal.IDisposableHandleBag`1"/>
            </summary>
            <param name="handle">The handle.</param>
            <returns><c>true</c> if [contains] [the specified handle]; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.IDisposableHandleBag.CreateHandles">
            <summary>
            Creates the handles.
            </summary>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.IDisposableHandleBag.ReleaseHandles">
            <summary>
            Releases the handles.
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.Internal.IDisposableHandleBag`1">
            <summary>
            Interface IDisposableHandleBag
            </summary>
            <seealso cref="T:TwinCAT.Ads.Internal.IDisposableHandleBag" />
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.Internal.IDisposableHandleBag`1.TryGetHandle(`0,System.UInt32@)">
            <summary>
            Tries to get the specified handle
            </summary>
            <param name="sourceObject">The source object that corresponds to the handle</param>
            <param name="handle">The handle.</param>
            <returns><c>true</c> if the handle exists for the source object, <c>false</c> otherwise.</returns>
            <exception cref="T:System.ObjectDisposedException">DisposableHandleBag</exception>
        </member>
        <member name="M:TwinCAT.Ads.Internal.IDisposableHandleBag`1.GetHandle(`0)">
            <summary>
            Gets the handle.
            </summary>
            <param name="sourceObject">The source object.</param>
            <returns>System.UInt32 or 0</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.IDisposableHandleBag`1.TryGetSourceObject(System.UInt32,`0@)">
            <summary>
            Tries to get the corresponding Source object
            </summary>
            <param name="handle">The handle.</param>
            <param name="sourceObject">The source object.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.IDisposableHandleBag`1.GetSourceObject(System.UInt32)">
            <summary>
            Gets the source object.
            </summary>
            <param name="handle">The handle.</param>
            <returns>TSource.</returns>
        </member>
        <member name="T:TwinCAT.Ads.Internal.DisposableHandleBag`1">
            <summary>
            Abstract base Class DisposableHandleBag.
            Implements the <see cref="T:TwinCAT.Ads.Internal.IDisposableHandleBag`1" /></summary>
            <typeparam name="TSource">The type of the t source.</typeparam>
            <seealso cref="T:TwinCAT.Ads.Internal.IDisposableHandleBag`1" />
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.Internal.DisposableHandleBag`1.connection">
            <summary>
            The connection
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.DisposableHandleBag`1.sumCommandHandles">
            <summary>
            The handle dictionary
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.DisposableHandleBag`1.sourceHandlesDict">
            <summary>
            Dictionary of successfully acquired handles
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.DisposableHandleBag`1.sourceObjects">
            <summary>
            List of the used symbols.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.DisposableHandleBag`1.handlesInvalidated">
            <summary>
            Indicates, that the handles are invalidated.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.DisposableHandleBag`1.initialized">
            <summary>
            Indicates, that the <see cref="T:TwinCAT.Ads.Internal.DisposableHandleBag"/> is initialized.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.DisposableHandleBag`1.#ctor(TwinCAT.Ads.IAdsConnection,System.Collections.Generic.IList{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Internal.DisposableHandleBag" /> class.
            </summary>
            <param name="connection">The client.</param>
            <param name="sourceObjects">The source objects.</param>
            <exception cref="T:System.ArgumentNullException">client</exception>
            <exception cref="T:System.ArgumentNullException">sourceObjects</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">sourceObjects</exception>
        </member>
        <member name="M:TwinCAT.Ads.Internal.DisposableHandleBag`1.Dispose(System.Boolean)">
            <summary>
            Releases unmanaged and - optionally - managed resources.
            </summary>
            <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
        </member>
        <member name="F:TwinCAT.Ads.Internal.DisposableHandleBag`1.isDisposed">
            <summary>
            Indicates that this <see cref="T:TwinCAT.Ads.Internal.DisposableHandleBag"/> is disposed.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.DisposableHandleBag`1.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.DisposableHandleBag`1.Close">
            <summary>
            Closes this instance.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.DisposableHandleBag`1.sync">
            <summary>
            Synchronization object
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.DisposableHandleBag`1.CreateHandles">
            <summary>
            Creates the handles.
            </summary>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.DisposableHandleBag`1.ReleaseHandles">
            <summary>
            Releases the handles.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.DisposableHandleBag`1.TryGetHandle(`0,System.UInt32@)">
            <summary>
            Tries to get the specified handle
            </summary>
            <param name="instancePath">The instance path.</param>
            <param name="handle">The handle.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
            <exception cref="T:System.ObjectDisposedException">DisposableHandleBag</exception>
        </member>
        <member name="M:TwinCAT.Ads.Internal.DisposableHandleBag`1.Contains(System.UInt32)">
            <summary>
            Determines whether the handle was acquired by this <see cref="T:TwinCAT.Ads.Internal.DisposableHandleBag"/>
            </summary>
            <param name="handle">The handle.</param>
            <returns><c>true</c> if [contains] [the specified handle]; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.DisposableHandleBag`1.GetHandle(`0)">
            <summary>
            Gets the handle.
            </summary>
            <param name="instancePath">The instance path.</param>
            <returns>System.UInt32 or 0</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.DisposableHandleBag`1.TryGetSourceObject(System.UInt32,`0@)">
            <summary>
            Tries to get the corresponding Source object
            </summary>
            <param name="handle">The handle.</param>
            <param name="sourceObject">The source object.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">handle</exception>
        </member>
        <member name="M:TwinCAT.Ads.Internal.DisposableHandleBag`1.GetSourceObject(System.UInt32)">
            <summary>
            Gets the source object.
            </summary>
            <param name="handle">The handle.</param>
            <returns>TSource.</returns>
        </member>
        <member name="T:TwinCAT.Ads.Internal.DisposableHandleBag">
            <summary>
            Class DisposableHandleBag. 
            </summary>
            <remarks>
            This helper class is used to support multiple registration of Variable handles in one step by SumCommand. With Disposing, all the registered handles will be 
            be released again.
            </remarks>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.Internal.DisposableHandleBag.#ctor(TwinCAT.Ads.IAdsConnection,System.Collections.Generic.IList{System.String})">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Internal.DisposableHandleBag"/> class.
            </summary>
            <param name="client">The client.</param>
            <param name="symbolPaths">The symbol paths.</param>
            <exception cref="T:System.ArgumentNullException">symbolPaths</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">symbolPaths</exception>
        </member>
        <member name="M:TwinCAT.Ads.Internal.DisposableHandleBag.CreateHandles">
            <summary>
            Creates the handles.
            </summary>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.DisposableHandleBag.ReleaseHandles">
            <summary>
            Releases the handles.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.DisposableHandleBag.Dispose(System.Boolean)">
            <summary>
            Releases unmanaged and - optionally - managed resources.
            </summary>
            <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
        </member>
        <member name="M:TwinCAT.Ads.Internal.DisposableHandleBag.Finalize">
            <summary>
            Finalizes an instance of the <see cref="T:TwinCAT.Ads.Internal.DisposableHandleBag"/> class.
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.Internal.DisposableNotificationHandleBag">
            <summary>
            Class DisposableNotificationHandleBag. This class cannot be inherited.
            </summary>
            <remarks>
            This helper class is used to support multiple registration of AdsNotification events in one step. With Disposing, all the registered AdsNotification events will
            be released again.
            </remarks>
            <seealso cref="T:TwinCAT.Ads.Internal.DisposableHandleBag" />
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.Internal.DisposableNotificationHandleBag.#ctor(TwinCAT.Ads.IAdsConnection,System.Collections.Generic.IList{TwinCAT.TypeSystem.ISymbol},TwinCAT.Ads.NotificationSettings,System.Object)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Internal.DisposableNotificationHandleBag" /> class.
            </summary>
            <param name="connection">The client.</param>
            <param name="symbols">The symbols.</param>
            <param name="settings">The settings.</param>
            <param name="userData">The user data.</param>
        </member>
        <member name="M:TwinCAT.Ads.Internal.DisposableNotificationHandleBag.CreateHandles">
            <summary>
            Creates the handles.
            </summary>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.DisposableNotificationHandleBag.ReleaseHandles">
            <summary>
            Releases the handles.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.DisposableNotificationHandleBag.Connection_AdsNotificationError(System.Object,TwinCAT.Ads.AdsNotificationErrorEventArgs)">
            <summary>
            Handles the AdsNotificationError event of the Connection control.
            </summary>
            <param name="sender">The source of the event.</param>
            <param name="e">The <see cref="T:TwinCAT.Ads.AdsNotificationErrorEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:TwinCAT.Ads.Internal.DisposableNotificationHandleBag.OnNotificationError(TwinCAT.Ads.AdsInvalidNotificationException)">
            <summary>
            Called when [notification error].
            </summary>
            <param name="exception">The exception.</param>
        </member>
        <member name="T:TwinCAT.Ads.Internal.DisposableNotificationExHandleBag">
            <summary>
            Class DisposableNotificationExHandleBag. This class cannot be inherited.
            </summary>
            <remarks>
            This helper class is used to support multiple registration of NotificationEx events in one step. With Disposing, all the registered NotificationEx events will
            be released again.
            </remarks>
            <seealso cref="T:TwinCAT.Ads.Internal.DisposableHandleBag" />
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.Internal.DisposableNotificationExHandleBag.#ctor(TwinCAT.Ads.IAdsConnection,System.Collections.Generic.IList{TwinCAT.TypeSystem.AnySymbolSpecifier},TwinCAT.Ads.NotificationSettings,System.Object)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Internal.DisposableNotificationExHandleBag" /> class.
            </summary>
            <param name="client">The client.</param>
            <param name="symbols">The symbols.</param>
            <param name="settings">The settings.</param>
            <param name="userData">The user data.</param>
            <exception cref="T:System.ArgumentNullException">dict</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">dict</exception>
        </member>
        <member name="M:TwinCAT.Ads.Internal.DisposableNotificationExHandleBag.CreateHandles">
            <summary>
            Creates the handles.
            </summary>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.DisposableNotificationExHandleBag.ReleaseHandles">
            <summary>
            Releases the handles.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.DisposableNotificationExHandleBag.Connection_AdsNotificationError(System.Object,TwinCAT.Ads.AdsNotificationErrorEventArgs)">
            <summary>
            Handles the AdsNotificationError event of the Connection control.
            </summary>
            <param name="sender">The source of the event.</param>
            <param name="e">The <see cref="T:TwinCAT.Ads.AdsNotificationErrorEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:TwinCAT.Ads.Internal.DisposableNotificationExHandleBag.OnNotificationError(TwinCAT.Ads.AdsInvalidNotificationException)">
            <summary>
            Called when [notification error].
            </summary>
            <param name="exception">The exception.</param>
        </member>
        <member name="T:TwinCAT.Ads.Internal.ClientCycleNotificationMngt">
            <summary>
            Client side Notification management
            </summary>
            <seealso cref="T:TwinCAT.Ads.Internal.NotificationMngt" />
            <remarks>
            By default used on CE Systems.
            The Client side notification management is used for windows CE to Simulation Notifications.
            On CE Platforms (Richard stated) the support of Server side Notifications is poor and very slow.
            </remarks>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ClientCycleNotificationMngt.#ctor(TwinCAT.Ads.Internal.TcAdsSyncPort,TwinCAT.Ads.Internal.SymbolTable,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Internal.ClientCycleNotificationMngt"/> class.
            </summary>
            <param name="syncPort">The synchronize port.</param>
            <param name="symbolTable">The symbol table.</param>
            <param name="synchronize">if set to <c>true</c> [synchronize].</param>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ClientCycleNotificationMngt.Dispose(System.Boolean)">
            <summary>
            Releases unmanaged and - optionally - managed resources.
            </summary>
            <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
        </member>
        <member name="M:TwinCAT.Ads.Internal.NotificationMngt.Finalize">
            <summary>
            Finalizes an instance of the <see cref="T:TwinCAT.Ads.Internal.NotificationMngt"/> class.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.NotificationMngt.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.NotificationMngt.Dispose(System.Boolean)">
            <summary>
            Releases unmanaged and - optionally - managed resources.
            </summary>
            <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
        </member>
        <member name="T:TwinCAT.Ads.Internal.ServerCycleNotificationMngt">
            <summary>
            Summary description for NotificationMngt.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.ServerCycleNotificationMngt._bPeak">
            <summary>
            Indicates, that the Peak was reached.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.ServerCycleNotificationMngt._bPeakError">
            <summary>
            Indicates, that a Peak error was already indicated.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.ServerCycleNotificationMngt._bPeakStart">
            <summary>
            Caches the Time of the reached Peak in Ticks
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ServerCycleNotificationMngt.#ctor(TwinCAT.Ads.Internal.TcAdsSyncPort,TwinCAT.Ads.Internal.SymbolTable,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Internal.ServerCycleNotificationMngt"/> class.
            </summary>
            <param name="syncPort">The synchronize port.</param>
            <param name="symbolTable">The symbol table.</param>
            <param name="synchronize">if set to <c>true</c> [synchronize].</param>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ServerCycleNotificationMngt.Dispose(System.Boolean)">
            <summary>
            Releases unmanaged and - optionally - managed resources.
            </summary>
            <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ServerCycleNotificationMngt.AddNotification(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Object,TwinCAT.Ads.AdsErrorCode@)">
            <summary>
            Adds the notification.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="data">The data.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length.</param>
            <param name="transMode">The trans mode.</param>
            <param name="cycleTime">The cycle time.</param>
            <param name="maxDelay">The maximum delay.</param>
            <param name="userData">The user data.</param>
            <param name="result">The result.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ServerCycleNotificationMngt.AddNotification(System.String,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Object,TwinCAT.Ads.AdsErrorCode@)">
            <summary>
            Adds the notification.
            </summary>
            <param name="variableName">Name of the variable.</param>
            <param name="data">The data.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length.</param>
            <param name="transMode">The trans mode.</param>
            <param name="cycleTime">The cycle time.</param>
            <param name="maxDelay">The maximum delay.</param>
            <param name="userData">The user data.</param>
            <param name="result">The result.</param>
            <returns>The handle</returns>
        </member>
        <member name="T:TwinCAT.Ads.Internal.FailFastHandlerState">
            <summary>
            Base class for the different <see cref="T:TwinCAT.Ads.IFailFastHandler"/> state objects.
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.Internal.FailFastHandlerState.timeout">
            <summary>
            Fail fast timeout (reconnection timeout / auto-reset timeout).
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.FailFastHandlerState.#ctor(System.TimeSpan)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Internal.FailFastHandlerState"/> class.
            </summary>
            <param name="timeout">The timeout.</param>
        </member>
        <member name="M:TwinCAT.Ads.Internal.FailFastHandlerState.Guard">
            <summary>
            Guards the <see cref="T:TwinCAT.Ads.IFailFastHandler" /> from state changes that allow unintended communication.
            </summary>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.FailFastHandlerState.OnGuard">
            <summary>
            Called when communication should be guarded.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.FailFastHandlerState.NextState">
            <summary>
            Transition to the next state of the state machine (state machine pattern).
            </summary>
            <returns>IFailFastHandlerState.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.FailFastHandlerState.OnNextState">
            <summary>
            Handler function for transitioning into the next state (if possible)
            </summary>
            <returns>IFailFastHandlerState.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.FailFastHandlerState.Succeed">
            <summary>
            Indicates that the communication has been succeeded.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.FailFastHandlerState.OnSucceed">
            <summary>
            Handler function for a succeeded communication.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.FailFastHandlerState.Trip(TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Trips to the internal <see cref="T:TwinCAT.Ads.Internal.LostCommunicationState" /> (Open circuit) state.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.FailFastHandlerState.OnTrip(TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Handler function for a tripped communication error condition.
            </summary>
            <param name="error">The causing error.</param>
        </member>
        <member name="T:TwinCAT.Ads.Internal.ActiveCommunicationState">
            <summary>
            State object for an active communication state.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.ActiveCommunicationState._tripped">
            <summary>
            Trip indicator
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ActiveCommunicationState.#ctor(System.TimeSpan)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Internal.FailFastHandlerState" /> class.
            </summary>
            <param name="timeout">The timeout.</param>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ActiveCommunicationState.OnNextState">
            <summary>
            Handler function for transitioning into the next state (if possible)
            </summary>
            <returns>IFailFastHandlerState.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ActiveCommunicationState.OnTrip(TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Handler function for a tripped communication error condition.
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.Internal.LostCommunicationState">
            <summary>
            State object for a lost communication state (circuit open, auto reset errors active)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.LostCommunicationState._lostTime">
            <summary>
            Indicates the time the communication was lost
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.LostCommunicationState.#ctor(System.TimeSpan,TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Internal.FailFastHandlerState" /> class.
            </summary>
            <param name="timeout">The timeout.</param>
            <param name="causingError">The error.</param>
        </member>
        <member name="M:TwinCAT.Ads.Internal.LostCommunicationState.OnGuard">
            <summary>
            Called when communication should be guarded.
            </summary>
            <exception cref="T:System.InvalidOperationException">The circuit is currently open.</exception>
        </member>
        <member name="M:TwinCAT.Ads.Internal.LostCommunicationState.OnNextState">
            <summary>
            Handler function for transitioning into the next state (if possible)
            </summary>
            <returns>IFailFastHandlerState.</returns>
        </member>
        <member name="T:TwinCAT.Ads.Internal.ReconnectingCommunicationState">
            <summary>
            State object for a reconnecting communiciation state (circuit half open).
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ReconnectingCommunicationState.#ctor(System.TimeSpan)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Internal.FailFastHandlerState" /> class.
            </summary>
            <param name="timeout">The timeout.</param>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ReconnectingCommunicationState.OnNextState">
            <summary>
            Handler function for transitioning into the next state (if possible)
            </summary>
            <returns>IFailFastHandlerState.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ReconnectingCommunicationState.OnSucceed">
            <summary>
            Handler function for a succeeded communication.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ReconnectingCommunicationState.OnTrip(TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Handler function for a tripped communication error condition.
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.Internal.IPreventRejected">
            <summary>
            Interface for previnting error states on Connection Error 
            </summary>
            <remarks>
            This is used only internally detect the Connection state without triggering internal error conditions.
            </remarks>
            <seealso cref="F:TwinCAT.Ads.AdsErrorCode.WSA_ConnRefused"/>
            <seealso cref="F:TwinCAT.Ads.FailFastHandlerInterceptor.TrippingErrors"/>
        </member>
        <member name="P:TwinCAT.Ads.Internal.IPreventRejected.PreventRejectedConnection">
            <summary>
            Gets or sets a value indicating whether Connection refused errors (AdsErrorCode.WSA_ConnRefused) trigger internal error conditions
            </summary>
            <value><c>true</c> if connection refused is prevented; otherwise, <c>false</c>.</value>
        </member>
        <member name="T:TwinCAT.Ads.Internal.TcAdsDllMarshaller">
            <summary>
            Internal Unsafe Native Marshaller for the
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.TcAdsDllMarshaller.PtrToStringAnsi(System.IntPtr,System.Int32)">
            <summary>
            Allocates a managed String and copies all or part of an unmanaged ANSI string into it.
            </summary>
            <param name="ptr">Pointer to memory</param>
            <param name="len">The byte count of the Input string to copy.</param>
            <returns></returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.TcAdsDllMarshaller.PtrToStringUnicode(System.IntPtr,System.Int32)">
            <summary>
            Allocates a managed String and copies all or part of an unmanaged ANSI string into it.
            </summary>
            <param name="ptr">Pointer to memory</param>
            <param name="len">The byte count of the Input string to copy.</param>
            <returns></returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.TcAdsDllMarshaller.StringToPtr(System.String,System.Text.Encoding)">
            <summary>
            Copies the contents of a managed String into unmanaged memory, converting into ANSI format as it copies.
            </summary>
            <param name="s">The string.</param>
            <param name="encoding">The encoding.</param>
            <returns>The memory Pointer.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">encoding</exception>
        </member>
        <member name="M:TwinCAT.Ads.Internal.TcAdsDllMarshaller.StringToPtrAnsi(System.String)">
            <summary>
            Copies the contents of a managed String into unmanaged memory, converting into ANSI format as it copies.
            </summary>
            <param name="s">The string.</param>
            <returns>The memory Pointer.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.TcAdsDllMarshaller.StringToPtrUnicode(System.String)">
            <summary>
            Copies the contents of a managed String into unmanaged memory, converting into ANSI format as it copies.
            </summary>
            <param name="s">The string.</param>
            <returns>The memory Pointer.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.TcAdsDllMarshaller.PtrToAdsVersion(System.Byte*)">
             <summary>
            Copies the content of the specified memory to an <see cref="T:TwinCAT.Ads.AdsVersion"/> object.
             </summary>
             <param name="ptr">The memory pointer</param>
             <returns></returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.TcAdsDllMarshaller.SizeOf(System.Type)">
            <summary>
            Gets the Size of the
            </summary>
            <param name="type">The type.</param>
            <returns></returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.TcAdsDllMarshaller.PtrToObject(System.Void*,System.Type,System.Int32@)">
            <summary>
            Creates an object of the specified type ann initializes it from memory
            </summary>
            <param name="ptr">Pointer to memory Data</param>
            <param name="type">The type to create</param>
            <param name="size">The count of consumed memory in bytes</param>
            <returns></returns>
            <exception cref="T:System.ArgumentException">
            Unable to marshal type.;type
            or
            Unable to marshal type.;type
            or
            Unable to marshal type.;type
            or
            Unable to marshal type.;type
            </exception>
        </member>
        <member name="M:TwinCAT.Ads.Internal.TcAdsDllMarshaller.PtrToBoolean(System.Void*,System.Int32@)">
            <summary>
            Creates a bool object and initializes it from memory data
            </summary>
            <param name="ptr">Memory data</param>
            <param name="size">The size of the consumed memory in bytes</param>
            <returns></returns>
            <exception cref="T:System.ArgumentException"></exception>
        </member>
        <member name="F:TwinCAT.Ads.Internal.DataAreaPidFlags.PidAddressing">
            <summary>
            Enables Pid Addressing
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.DataAreaPidFlags.BitTypeFlag">
            <summary>
            BitType Addressing
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.DataAreaPidFlags.Mask_PidOffset">
            <summary>
            Offset mask (Byte offset or Bit offset, dependent on setting <see cref="F:TwinCAT.Ads.Internal.DataAreaPidFlags.BitTypeFlag"/>)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.DataAreaPidFlags.Mask_PidAreaNo">
            <summary>
            Mask DataArea (e.g.
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.Internal.AdsParseSymbols">
            <summary>
            Class AdsParseSymbols.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsParseSymbols._defaultTypes">
            <summary>
            The _default types
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.Internal.AdsParseSymbols.DefaultTypes">
            <summary>
            Gets the default types.
            </summary>
            <value>The default types.</value>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsParseSymbols._symbolTable">
            <summary>
            The symbol table (Symbol Path -> symbol Index within stream)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsParseSymbols._adsClient">
            <summary>
            The ads client
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsParseSymbols.TCOMOBJ_MIN_OID">
            <summary>
            The COM Object Minimum OID (0x00100000, 1048576)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsParseSymbols._subSymbolFactory">
            <summary>
            The sub symbol factory
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsParseSymbols._defaultEncoding">
            <summary>
            Used Default Encoding of the <see cref="T:TwinCAT.Ads.Internal.AdsParseSymbols"/> class.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsParseSymbols.#ctor(System.Int32,System.Boolean,System.Text.Encoding)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Internal.AdsParseSymbols" /> class.
            </summary>
            <param name="platformPointerSize">Size of the platform pointer.</param>
            <param name="streamIncludesBuildInTypes">if set to <c>true</c> [streamIncludesBuildInTypes].</param>
            <param name="defaultEncoding">The symbol string encoding.</param>
            <exception cref="T:System.ArgumentNullException">stringEncoding</exception>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsParseSymbols._streamIncludesBuildInTypes">
            <summary>
            Indicates, that the build in types are streamed 
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsParseSymbols.Parse(TwinCAT.Ads.AdsStream,TwinCAT.Ads.AdsStream,TwinCAT.Ads.TcAdsClient)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Internal.AdsParseSymbols"/> class.
            </summary>
            <param name="symbolStream">The symbol stream.</param>
            <param name="dataTypeStream">The data type stream.</param>
            <param name="adsClient">The ads client.</param>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsParseSymbols.expandDataTypes">
            <summary>
            Expands the so far unresolved datatypes.
            </summary>
            <remarks>Some datatypes must be generated, because they are not available from the Watch server.
            This must be done, before the DataTypes collection is accesssed, because otherwise the collection can be changed
            during enumeration
            </remarks>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsParseSymbols.collectDataTypes(System.Int32,System.UInt32[],TwinCAT.Ads.AdsBinaryReader)">
            <summary>
            Collects the data types.
            </summary>
            <param name="count">The count.</param>
            <param name="dataTypeOffsets">The data type offsets.</param>
            <param name="dataTypeReader">The data type reader.</param>
            <returns>TcAdsDataTypeCollection.</returns>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsParseSymbols._dataTypes">
            <summary>
            The data types
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsParseSymbols.fillDataTypeTables(TwinCAT.Ads.AdsBinaryReader,System.Int32,System.UInt32[]@)">
            <summary>
            Fills the data type tables.
            </summary>
            <param name="dataTypeReader">The data type reader.</param>
            <param name="dataTypeCount">The data type count.</param>
            <param name="dataTypeEntryOffsets">The data type entry offsets.</param>
            <returns>Dictionary&lt;System.String, System.Int32&gt;.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsParseSymbols.fillSymbolTables(TwinCAT.Ads.AdsBinaryReader,System.Int32,System.UInt32[]@)">
            <summary>
            Fills the symbol tables.
            </summary>
            <param name="symbolReader">The symbol reader.</param>
            <param name="symbolCount">The symbol count.</param>
            <param name="symbolEntryOffsets">The symbol entry offsets.</param>
            <returns>SymbolEntryCollection.</returns>
        </member>
        <member name="P:TwinCAT.Ads.Internal.AdsParseSymbols.SymbolCount">
            <summary>
            Gets the symbol count.
            </summary>
            <value>The symbol count.</value>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsParseSymbols.GetSymbolEntry(System.Int32,System.UInt32[],TwinCAT.Ads.AdsBinaryReader)">
            <summary>
            Gets the symbol entry.
            </summary>
            <param name="symbolIndex">Index of the symbol.</param>
            <param name="symbolEntryOffsets">The symbol entry offsets.</param>
            <param name="symbolReader">The symbol reader.</param>
            <returns>AdsSymbolEntry.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsParseSymbols.GetDataTypeEntry(System.Int32,System.UInt32[],TwinCAT.Ads.AdsBinaryReader)">
            <summary>
            Gets the data type entry.
            </summary>
            <param name="index">The index.</param>
            <param name="dataTypeEntryOffsets">The data type entry offsets.</param>
            <param name="dataTypeReader">The data type reader.</param>
            <returns>AdsDataTypeEntry.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">index</exception>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsParseSymbols.GetSubSymbol(TwinCAT.Ads.TcAdsSymbolInfo,System.String,System.Int32)">
            <summary>
            Gets the sub symbol recursively (from position on)
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="symbolName">Name of the symbol.</param>
            <param name="pos">The position.</param>
            <returns>TcAdsSymbolInfo.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsParseSymbols.GetSymbol(System.String)">
            <summary>
            Gets the symbol.
            </summary>
            <param name="symbolName">Name of the symbol.</param>
            <returns>TcAdsSymbolInfo.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsParseSymbols.GetSymbol(System.Int32)">
            <summary>
            Gets the symbol.
            </summary>
            <param name="symbolIndex">Index of the symbol.</param>
            <returns>TcAdsSymbolInfo or <b>NULL</b></returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsParseSymbols.GetTypeByName(System.String)">
            <summary>
            Gets the name of the type by.
            </summary>
            <param name="type">The type.</param>
            <returns>AdsDataTypeEntry.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsParseSymbols.GetDataTypeId(System.String)">
            <summary>
            Gets the data type identifier.
            </summary>
            <param name="type">The type.</param>
            <returns>AdsDatatypeId.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsParseSymbols.GetSizeByName(System.String)">
            <summary>
            Gets the bit / Byte size of the Data Type by data type name.
            </summary>
            <param name="type">The type.</param>
            <returns>Size in bytes.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsParseSymbols.GetSubSymbolCount(TwinCAT.Ads.TcAdsSymbolInfo)">
            <summary>
            Gets the sub symbol count.
            </summary>
            <param name="parent">The Parent</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="E:TwinCAT.Ads.Internal.AdsParseSymbols.TypesGenerated">
            <summary>
            Occurs when DataTypes were generated by this Parser
            </summary>
        </member>
        <member name="E:TwinCAT.Ads.Internal.AdsParseSymbols.TypeResolveError">
            <summary>
            Occurs when a data type cannot be resolved.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsParseSymbols.SetPlatformPointerSize(System.Int32)">
            <summary>
            Sets the Pointer size
            </summary>
            <param name="size">The size (in bytes)</param>
            <exception cref="T:System.ArgumentOutOfRangeException">size</exception>
        </member>
        <member name="P:TwinCAT.Ads.Internal.AdsParseSymbols.PlatformPointerSize">
            <summary>
            Gets the size of Pointer Types (Platform dependent)
            </summary>
            <value>The pointer size (0: Uninitialized, 4: X86, 8: X64)</value>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsParseSymbols.GetSubSymbol(TwinCAT.Ads.TcAdsSymbolInfo,System.Int32,System.Boolean)">
            <summary>
            Gets the specified SubSymbol (for Arrays, Structs)
            </summary>
            <param name="parent">Parent Symbol.</param>
            <param name="subIndex">Index of the SubElement (Symbol)</param>
            <param name="dereference">if set to <c>true</c> references and Pointer Types will be dereferenced.</param>
            <returns>TcAdsSymbolInfo.</returns>
            <exception cref="T:System.ArgumentNullException">parent</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">parent</exception>
        </member>
        <member name="T:TwinCAT.Ads.Internal.AdsParseSymbols.SubSymbolFactory">
            <summary>
            Factory class for creating SubSymbols within the <see cref="T:TwinCAT.Ads.Internal.AdsParseSymbols"/> object.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsParseSymbols.SubSymbolFactory.calcArrayElementIndexGroupIndexOffset(System.Int32,TwinCAT.Ads.TcAdsSymbolInfo,System.Int32,System.UInt32@,System.UInt32@)">
            <summary>
            Calculates the IndexGroup and IndexOffset of an array element
            </summary>
            <param name="subIndex">(Sub-)Index of the array element.</param>
            <param name="arrayInstance">The arrayInstance.</param>
            <param name="elementSize">Size of the element (bit or bytes)</param>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsParseSymbols.SubSymbolFactory.CreateReferenceSymbol(TwinCAT.Ads.TcAdsSymbolInfo,System.Int32)">
            <summary>
            Creates the reference symbol.
            </summary>
            <param name="parent">The parent.</param>
            <param name="subIndex">Index of the sub.</param>
            <returns>TcAdsSymbolInfo.</returns>
            <exception cref="T:System.ArgumentNullException">parent</exception>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsParseSymbols.SubSymbolFactory.CreatePointerSymbol(TwinCAT.Ads.TcAdsSymbolInfo,TwinCAT.Ads.Internal.TcAdsDataType)">
            <summary>
            Creates the pointer symbol.
            </summary>
            <param name="parent">The parent.</param>
            <param name="referencedType">Type of the referenced.</param>
            <returns>TcAdsSymbolInfo.</returns>
            <exception cref="T:System.ArgumentNullException">
            parent
            or
            referencedType
            </exception>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsParseSymbols.OnTypeResolveError(System.String)">
            <summary>
            Called when the type resolution fails.
            </summary>
            <param name="name">The name.</param>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsParseSymbols.OnTypesCreated(System.Collections.Generic.IEnumerable{TwinCAT.TypeSystem.IDataType})">
            <summary>
            Called when a new type is created generically.
            </summary>
            <param name="dataTypes">The data types.</param>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsParseSymbols.OnTypeCreated(TwinCAT.TypeSystem.IDataType)">
            <summary>
            Called when a new type is createed generically.
            </summary>
            <param name="dataType">Type of the data.</param>
        </member>
        <member name="T:TwinCAT.Ads.Internal.SymbolAdsMarshaller">
            <summary>
            Marshalling class for uploaded Symbols
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsSubItem.IsSubItem">
            <summary>
            Determines whether this object is an SubItem (DataType Member, true) or a native DataType (false)
            </summary>
            <value><c>true</c> if this instance is sub item; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsSubItem.SubItemName">
            <summary>
            Gets the name of the subitem / Sub element.
            </summary>
            <value>The name of the sub item.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsSubItem.Offset">
            <summary>
            Gets the offset of the SubItem (in Bytes or Bits)
            </summary>
            <value>The offset.</value>
            <remarks>If <see cref="P:TwinCAT.TypeSystem.IBitSize.IsBitType" /> indicates 'BitSize' then this value will be in Bits, otherwise Bytes.</remarks>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsSubItem.IsPersistent">
            <summary>
            Gets a value indicating whether this sub element is persistent.
            </summary>
            <value><c>true</c> if this subelement is persistent; otherwise, <c>false</c>.</value>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsSubItem.IsStatic">
            <summary>
            Gets a value indicating whether this subItem is static.
            </summary>
            <value><c>true</c> if this instance is static; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsSubItem.IsProperty">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.Ads.Internal.TcAdsSubItem"/> is a property.
            </summary>
            <value><c>true</c> if this instance is property; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:TwinCAT.Ads.Internal.TcAdsSubItem.AlignSubItemToType(TwinCAT.Ads.Internal.TcAdsDataType)">
            <summary>
            Aligns the SubItem to the specified type.
            </summary>
            <param name="subEntryType">Type of the sub entry.</param>
        </member>
        <member name="T:TwinCAT.Ads.Internal.TcAdsDataType">
            <summary>
            Class TcAdsDataType.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.TcAdsDataType.s_id">
            <summary>
            Static ID counter.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.TcAdsDataType.#ctor">
            <summary>
            Default constructor. Prevents a default instance of the <see cref="T:TwinCAT.Ads.Internal.TcAdsDataType"/> class from being created.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.TcAdsDataType.#ctor(System.String,TwinCAT.Ads.AdsDatatypeId,System.UInt32,TwinCAT.Ads.Internal.AdsDataTypeFlags,TwinCAT.TypeSystem.DataTypeCategory,System.Type,TwinCAT.TypeSystem.IDataTypeResolver)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Internal.TcAdsDataType" /> class.
            </summary>
            <param name="name">The name.</param>
            <param name="dataType">Type of the data.</param>
            <param name="size">The size.</param>
            <param name="flags">The flags.</param>
            <param name="cat">DataType category.</param>
            <param name="managedType">Type of the managed.</param>
            <param name="resolver">The type resolver.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">name</exception>
        </member>
        <member name="M:TwinCAT.Ads.Internal.TcAdsDataType.#ctor(System.String,TwinCAT.Ads.AdsDatatypeId,System.UInt32,TwinCAT.Ads.Internal.AdsDataTypeFlags,TwinCAT.TypeSystem.DataTypeCategory,System.String,System.Type,TwinCAT.TypeSystem.IDataTypeResolver)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Internal.TcAdsDataType" /> class.
            </summary>
            <param name="name">The name.</param>
            <param name="dataType">Type of the data.</param>
            <param name="size">The size.</param>
            <param name="flags">The flags.</param>
            <param name="cat">DataType category.</param>
            <param name="baseTypeName">Name of the base type.</param>
            <param name="managedType">Type of the managed.</param>
            <param name="resolver">The type resolver.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">name</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">name</exception>
        </member>
        <member name="M:TwinCAT.Ads.Internal.TcAdsDataType.#ctor(System.String,System.String,System.UInt32,TwinCAT.Ads.AdsDatatypeArrayInfo[],TwinCAT.TypeSystem.IDataTypeResolver)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Internal.TcAdsDataType"/> class (ArrayObject)
            </summary>
            <param name="name">The name.</param>
            <param name="elementType">Type of the element.</param>
            <param name="elementSize">Size of the element.</param>
            <param name="dims">The dims.</param>
            <param name="resolver">The table.</param>
        </member>
        <member name="M:TwinCAT.Ads.Internal.TcAdsDataType.#ctor(System.String,TwinCAT.Ads.AdsDatatypeId,System.UInt32,TwinCAT.TypeSystem.DataTypeCategory,System.Type)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Internal.TcAdsDataType" /> class with byte size.
            </summary>
            <param name="name">The name.</param>
            <param name="dataType">Type of the data.</param>
            <param name="size">The size.</param>
            <param name="cat">DataType category.</param>
            <param name="managedType">Type of the managed.</param>
        </member>
        <member name="M:TwinCAT.Ads.Internal.TcAdsDataType.#ctor(System.String,TwinCAT.Ads.AdsDatatypeId,System.UInt32,TwinCAT.TypeSystem.DataTypeCategory,System.String,System.Type)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Internal.TcAdsDataType" /> class with byte size.
            </summary>
            <param name="name">The name.</param>
            <param name="dataType">Type of the data.</param>
            <param name="size">The size.</param>
            <param name="cat">DataType category.</param>
            <param name="baseType">Type of the base.</param>
            <param name="managedType">Type of the managed.</param>
        </member>
        <member name="M:TwinCAT.Ads.Internal.TcAdsDataType.#ctor(TwinCAT.Ads.Internal.AdsDataTypeEntry,TwinCAT.TypeSystem.IDataTypeResolver)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Internal.TcAdsDataType" /> class.
            </summary>
            <param name="entry">The entry.</param>
            <param name="table">The table.</param>
        </member>
        <member name="F:TwinCAT.Ads.Internal.TcAdsDataType._id">
            <summary>
            ID of the <see cref="T:TwinCAT.Ads.Internal.TcAdsDataType"/>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.TcAdsDataType._typeName">
            <summary>
            Type Name
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsDataType.Name">
            <summary>
            Gets the Name of the DataType
            </summary>
            <value>The name.</value>
        </member>
        <member name="F:TwinCAT.Ads.Internal.TcAdsDataType._size">
            <summary>
            The size
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsDataType.Size">
            <summary>
            Gets the size of the <see cref="T:TwinCAT.Ads.ITcAdsDataType" /> in bytes
            </summary>
            <value>The size.</value>
            <remarks>If <see cref="P:TwinCAT.TypeSystem.IBitSize.IsBitType" /> indicates 'BitSize' then this value will be in Bits, otherwise Bytes.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.Internal.TcAdsDataType.SetSize(System.Int32,System.Type)">
            <summary>
            Sets the size of the <see cref="T:TwinCAT.Ads.Internal.TcAdsDataType" />
            </summary>
            <param name="size">The size.</param>
            <param name="managedType">Type of the managed.</param>
        </member>
        <member name="F:TwinCAT.Ads.Internal.TcAdsDataType._flags">
            <summary>
            DataType flags
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsDataType.Flags">
            <summary>
            Gets the data type flags.
            </summary>
            <value>The flags.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsDataType.IsBitType">
            <summary>
            Indicates, that the <see cref="P:TwinCAT.Ads.Internal.TcAdsDataType.Size" /> and Offset values of the <see cref="P:TwinCAT.Ads.Internal.TcAdsDataType.SubItems" /> are in Bit size
            </summary>
            <value><c>true</c> if this instance is bit size; otherwise, <c>false</c>.</value>
        </member>
        <member name="F:TwinCAT.Ads.Internal.TcAdsDataType._offset">
            <summary>
            The offset
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.TcAdsDataType._dataTypeId">
            <summary>
            The data type identifier
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsDataType.DataTypeId">
            <summary>
            Gets the data type identifier.
            </summary>
            <value>The data type identifier.</value>
        </member>
        <member name="F:TwinCAT.Ads.Internal.TcAdsDataType._baseTypeName">
            <summary>
            The base type (enum, alias) element type (array)
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsDataType.BaseType">
            <summary>
            Gets the base type (enum, alias) element type (array)
            </summary>
            <value>Base / Element Alias Type</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsDataType.BaseTypeName">
            <summary>
            Gets the name of the base type (if enum, alias, array)
            </summary>
            <value>The name of the base type.</value>
        </member>
        <member name="F:TwinCAT.Ads.Internal.TcAdsDataType._subItems">
            <summary>
            The sub items (array, struct)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.TcAdsDataType._arrayInfo">
            <summary>
            The array information (Dimensions)
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsDataType.Dimensions">
            <summary>
            Gets the dimensions of an array type
            </summary>
            <value>The array infos.</value>
        </member>
        <member name="F:TwinCAT.Ads.Internal.TcAdsDataType._managedType">
            <summary>
            The managed type representation
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsDataType.ManagedType">
            <summary>
            Gets the managed type (if applicable)
            </summary>
            <value>The type of the managed.</value>
        </member>
        <member name="F:TwinCAT.Ads.Internal.TcAdsDataType._enumInfos">
            <summary>
            The enum infos (enum)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.TcAdsDataType._rpcMethodInfos">
            <summary>
            The RPC method infos (structs only)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.TcAdsDataType._attributes">
            <summary>
            The attributes (Meta data)
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsDataType.IsStruct">
            <summary>
            Gets a value indicating whether this instance is structure.
            </summary>
            <value><c>true</c> if this instance is structure; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsDataType.IsArray">
            <summary>
            Gets a value indicating whether this instance is array.
            </summary>
            <value><c>true</c> if this instance is array; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsDataType.IsReference">
            <summary>
            Gets a value indicating whether this instance is a reference type.
            </summary>
            <value><c>true</c> if this instance is reference; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsDataType.IsPrimitive">
            <summary>
            Gets a value indicating whether this instance is primitive.
            </summary>
            <value><c>true</c> if this instance is primitive; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsDataType.IsEnum">
            <summary>
            Gets a value indicating whether this instance is enum.
            </summary>
            <value><c>true</c> if this instance is enum; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsDataType.IsSubItem">
            <summary>
            Determines whether this object is an SubItem (DataType Member, true) or a native DataType (false)
            </summary>
            <value><c>true</c> if this instance is sub item; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsDataType.Comment">
            <summary>
            Gets the comment behind the variable declaration.
            </summary>
            <value>Comment behind the variable declaration.</value>
        </member>
        <member name="F:TwinCAT.Ads.Internal.TcAdsDataType._category">
            <summary>
            Cached Category Value
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsDataType.Category">
            <summary>
            Gets the Data Type Category
            </summary>
            <value>The category.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsDataType.Attributes">
            <summary>
            Gets the attributes of the <see cref="T:TwinCAT.Ads.ITcAdsSymbol" />
            </summary>
            <value>The attributes.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsDataType.HasRpcMethods">
            <summary>
            Gets a value indicating whether this instance has RPC methods (Struct types only)
            </summary>
            <value><c>true</c> if this instance has RPC methods; otherwise, <c>false</c>.</value>
            <remarks>The DataType (Structure) must be marked with the PlcAttribute 'TcRpcEnable' to enable RpcMethods, otherwise
            RpcMethods are not passed through to the ADS symbolic information.</remarks>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsDataType.RpcMethods">
            <summary>
            Gets the RPC method descriptions
            </summary>
            <value>The RPC methods.</value>
            <remarks>The DataType (Structure) must be marked with the PlcAttribute 'TcRpcEnable' to enable RpcMethods, otherwise
            RpcMethods are not passed through to the ADS symbolic information.</remarks>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsDataType.EnumValues">
            <summary>
            Gets the enum infos.
            </summary>
            <value>The enum infos.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsDataType.TwinCAT#Ads#ITcAdsDataType#EnumInfos">
            <summary>
            Obsolete
            </summary>
            <value>The enum infos.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsDataType.SubItems">
            <summary>
            Gets the sub items.
            </summary>
            <value>The sub items.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsDataType.HasSubItemInfo">
            <summary>
            Gets a value indicating whether this instance has sub items.
            </summary>
            <value><c>true</c> if this instance has sub items; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:TwinCAT.Ads.Internal.TcAdsDataType.ResolveType(TwinCAT.TypeSystem.DataTypeResolveStrategy)">
            <summary>
            Resolves the alias type chain.
            </summary>
            <returns>TcAdsDataType.</returns>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.Internal.TcAdsDataType.ToString">
            <summary>
            Returns a <see cref="T:System.String" /> that represents this instance.
            </summary>
            <returns>A <see cref="T:System.String" /> that represents this instance.</returns>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsDataType.BitSize">
            <summary>
            Gets the size of this <see cref="T:TwinCAT.Ads.Internal.TcAdsDataType"/> in bits.
            </summary>
            <value>The size of the bit.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsDataType.ByteSize">
            <summary>
            Gets the (aligned) size of of the Type/Instance in Bytes
            </summary>
            <value>The size of the byte.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsDataType.TwinCAT#TypeSystem#IDataType#Id">
            <summary>
            Gets the ID of the DataType
            </summary>
            <value>The id.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsDataType.TwinCAT#TypeSystem#IDataType#Namespace">
            <summary>
            Gets the namespace string within the <see cref="T:TwinCAT.TypeSystem.IDataType" /> exists.
            </summary>
            <value>The namespace.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsDataType.TwinCAT#TypeSystem#IDataType#FullName">
            <summary>
            Gets the full name of the <see cref="T:TwinCAT.TypeSystem.IDataType" /> (Namespace + Name)
            </summary>
            <value>The full name.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsDataType.IsContainer">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.TypeSystem.IDataType" /> is a container type
            </summary>
            <value><c>true</c> if this instance is container type; otherwise, <c>false</c>.</value>
            <seealso cref="P:TwinCAT.TypeSystem.IDataType.Category" />
            <remarks>Container Types are all types that contain SubElements like
            <list type="bullet"><item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Array" /></description></item><item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Pointer" /></description></item><item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Union" /></description></item><item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Struct" /></description></item><item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Function" /></description></item><item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.FunctionBlock" /></description></item><item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Program" /></description></item></list>
            and the <see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Alias" /> and <see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Reference" /> types, if they have a container type as base type.</remarks>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsDataType.TwinCAT#TypeSystem#IBitSize#IsByteAligned">
            <summary>
            Indicates that the Size of the Object is Byte aligned (BitSize % 8 == 0)
            </summary>
            <value><c>true</c> if this instance is byte aligned; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsDataType.IsAlias">
            <summary>
            Gets a value indicating whether this DataType is an alias.
            </summary>
            <value><c>true</c> if this instance is alias; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsDataType.IsString">
            <summary>
            Gets a value indicating whether this DataType is a string.
            </summary>
            <value><c>true</c> if this instance is string; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsDataType.IsOversamplingArray">
            <summary>
            Gets a value indicating whether this instance is an oversampling array.
            </summary>
            <value><c>true</c> if this instance is oversampling array; otherwise, <c>false</c>.</value>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsDataType.IsJaggedArray">
            <summary>
            Gets a value indicating whether this dataType is a jagged array.
            </summary>
            <value><c>true</c> if this instance is jagged array; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:TwinCAT.Ads.Internal.TcAdsDataType.SetResolver(TwinCAT.TypeSystem.IDataTypeResolver)">
            <summary>
            Sets the resolver.
            </summary>
            <param name="resolver">The resolver.</param>
        </member>
        <member name="T:TwinCAT.Ads.Internal.DataTypeInfoTable">
            <summary>
            Class DatatypeInfoTable (contains currently only the Default System types)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.DataTypeInfoTable._defaultTypes">
            <summary>
            Default types
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.DataTypeInfoTable.GetDefaultTypes(TwinCAT.TypeSystem.IDataTypeResolver)">
            <summary>
            Gets the default types.
            </summary>
            <returns></returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.DataTypeInfoTable.#ctor(TwinCAT.Ads.IAdsConnection,System.Text.Encoding,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Internal.DataTypeInfoTable" /> class.
            </summary>
            <param name="adsClient">The ads client.</param>
            <param name="encoding">The encoding used for strings marshalled from target.</param>
            <param name="targetPointerSize">Size of the target pointer.</param>
        </member>
        <member name="F:TwinCAT.Ads.Internal.DataTypeInfoTable._targetPointerSize">
            <summary>
            The target pointer size
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.Internal.DataTypeInfoTable.PlatformPointerSize">
            <summary>
            Gets the size of the platform pointer (in Bytes)
            </summary>
            <value>The size of the platform pointer.</value>
        </member>
        <member name="F:TwinCAT.Ads.Internal.DataTypeInfoTable._encoding">
            <summary>
            The encoding used for Strings  marshalled from target
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.DataTypeInfoTable.ResolveDataType(System.String)">
            <summary>
            Resolves the specified type name to the <see cref="T:TwinCAT.Ads.ITcAdsDataType"/> object.
            </summary>
            <param name="name">The name.</param>
            <returns>ITcAdsDataType.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.DataTypeInfoTable.OnTypesGenerated(TwinCAT.TypeSystem.DataTypeCollection)">
            <summary>
            Called when [type generated].
            </summary>
            <param name="types">The types.</param>
        </member>
        <member name="M:TwinCAT.Ads.Internal.DataTypeInfoTable.OnTypeGenerated(TwinCAT.TypeSystem.IDataType)">
            <summary>
            Called when [type generated].
            </summary>
            <param name="type">The type.</param>
        </member>
        <member name="E:TwinCAT.Ads.Internal.DataTypeInfoTable.TypesGenerated">
            <summary>
            Occurs when a new type was generated.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.DataTypeInfoTable.OnResolveError(System.String)">
            <summary>
            Called when the data type resolution fails
            </summary>
            <param name="typeName">Name of the type.</param>
        </member>
        <member name="E:TwinCAT.Ads.Internal.DataTypeInfoTable.TypeResolveError">
            <summary>
            Occurs when the datatype resolution fails
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ISymbolInfoTable.WriteSymbol(System.String,System.Object,System.Boolean)">
            <summary>
            Writes the symbol (by handle)
            </summary>
            <param name="symbolPath">The symbol path.</param>
            <param name="value">The value.</param>
            <param name="reloadInfo">Reload type/symbol information and the handle cache.</param>
            <remarks>This method writes the value of the symbol by handle.
            The value must be 'marshalable' to the symbol types memory layout.
            The handle is internally cached.
            The following communication sequence will be processed:
            <list type="number">
            <item>Reading the SymbolInfo if not cached yet</item>
            <item>Reading the DataTypeInfo if not cached yet</item>
            <item>Registering the Symbol handle if not cached yet or not valid anymore</item>
            <item>Writing the value by Handle</item>
            <item>Unregistering the handle when connection is closed / cache will be reset.</item>
            </list>
            </remarks>
            <seealso cref="M:TwinCAT.Ads.Internal.ISymbolInfoTable.ReadSymbol(System.String,System.Type,System.Boolean)"/>
            <seealso cref="M:TwinCAT.Ads.Internal.ISymbolInfoTable.ReadSymbolByName(System.String,System.Type,System.Boolean)"/>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ISymbolInfoTable.ReadSymbol(System.String,System.Type,System.Boolean)">
            <summary>
            Reads the symbol value by handle
            </summary>
            <param name="symbolPath">The Symbol path.</param>
            <param name="managedType">Managed type</param>
            <param name="reloadInfo">Reload type/symbol information and the handle cache.</param>
            <returns>The value.</returns>
            <seealso cref="M:TwinCAT.Ads.Internal.ISymbolInfoTable.ReadSymbolByName(System.String,System.Type,System.Boolean)"/>
            <remarks>This method reads the value of the symbol by handle. The handle is internally cached.
            Therefore this method is more efficient than <see cref="M:TwinCAT.Ads.Internal.ISymbolInfoTable.ReadSymbolByName(System.String,System.Type,System.Boolean)"/>, if the symbol (symbolPath) is accessed more frequently by the price of 2 extra communication
            rountrips (one on first symbol access creating the handle and the second on deleting the handle on dispose"/>.
            The following communication sequence will be processed:
            <list type="number">
            <item>Reading the SymbolInfo if not cached yet</item>
            <item>Reading the DataTypeInfo if not cached yet</item>
            <item>Registering the Symbol handle if not cached yet or not valid anymore</item>
            <item>Reading the value by Handle</item>
            <item>Unregistering the handle when connection is closed / cache will be reset.</item>
            </list>
            </remarks>
            <seealso cref="M:TwinCAT.Ads.Internal.ISymbolInfoTable.ReadSymbolByName(System.String,System.Type,System.Boolean)"/>
            <seealso cref="M:TwinCAT.Ads.Internal.ISymbolInfoTable.WriteSymbol(System.String,System.Object,System.Boolean)"/>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ISymbolInfoTable.ReadSymbolByName(System.String,System.Type,System.Boolean)">
            <summary>
            Reads the symbol value by symbol path.
            </summary>
            <param name="symbolPath">The Symbol path.</param>
            <param name="managedType">Managed type</param>
            <param name="reloadInfo">Reload type/symbol information.</param>
            <returns>The value.</returns>
            <seealso cref="M:TwinCAT.Ads.Internal.ISymbolInfoTable.ReadSymbol(System.String,System.Type,System.Boolean)"/>
            <remarks>This method reads the value of the symbol directly not using the handle indirection. Therefore it is more efficient than
            <see cref="M:TwinCAT.Ads.Internal.ISymbolInfoTable.ReadSymbol(System.String,System.Type,System.Boolean)"/> if the symbol/symbol path is only accessed once. Furthermore no handling for invalid handles is necessary (Project reload, restarted targets).
            The following communication sequence will be processed:
            <list type="number">
            <item>Reading the SymbolInfo if not cached yet</item>
            <item>Reading the DataTypeInfo if not cached yet</item>
            <item>Reading the value by Path</item>
            </list>
            </remarks>
            <seealso cref="M:TwinCAT.Ads.Internal.ISymbolInfoTable.ReadSymbol(System.String,System.Type,System.Boolean)"/>
            <seealso cref="M:TwinCAT.Ads.Internal.ISymbolInfoTable.WriteSymbol(System.String,System.Object,System.Boolean)"/>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ISymbolInfoTable.GetSymbol(System.String,System.Boolean)">
            <summary>
            Get Symbol
            </summary>
            <param name="symbolPath">The symbol path.</param>
            <param name="bLookup">if set to <c>true</c> then this method looks first in its internal cache, otherwise it directly does an ADS roundtrip.</param>
            <returns>TcAdsSymbol.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">name</exception>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ISymbolInfoTable.TryGetSymbol(System.String,System.Boolean,TwinCAT.Ads.ITcAdsSymbol@)">
            <summary>
            Get Symbol
            </summary>
            <param name="symbolPath">The symbol path.</param>
            <param name="bLookup">if set to <c>true</c> then this method looks first in its internal cache, otherwise it directly does an ADS roundtrip.</param>
            <param name="symbol">The symbol.</param>
            <returns>TcAdsSymbol.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">name</exception>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ISymbolInfoTable.TryGetDataType(TwinCAT.Ads.ITcAdsSymbol,System.Boolean,TwinCAT.Ads.ITcAdsDataType@)">
            <summary>
            Tries to load the data type of the specified <see cref="T:TwinCAT.Ads.ITcAdsSymbol"/>.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="bLookup">if set to <c>true</c> [b lookup].</param>
            <param name="dataType">Type of the data.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ISymbolInfoTable.TryGetDataType(System.String,System.Boolean,TwinCAT.Ads.ITcAdsDataType@)">
            <summary>
            Tries to load the data type of the specified <see cref="T:TwinCAT.Ads.ITcAdsSymbol" />.
            </summary>
            <param name="typeName">Name of the type.</param>
            <param name="bLookup">if set to <c>true</c> [b lookup].</param>
            <param name="dataType">Type of the data.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ISymbolInfoTable.TryInvokeRpcMethod(TwinCAT.Ads.ITcAdsSymbol,TwinCAT.TypeSystem.IRpcMethod,System.Object[],TwinCAT.TypeSystem.AnyTypeSpecifier[],TwinCAT.TypeSystem.AnyTypeSpecifier,System.Object[]@,System.Object@)">
            <summary>
            Invokes the specified RPC Method.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="rpcMethod">The method.</param>
            <param name="inParameters">The parameters.</param>
            <param name="outSpecifiers">Output specifiers (for ANYTYPE) output parameters.</param>
            <param name="retSpecifier">The return type ANYTYPE Specifier.</param>
            <param name="outParameters">The out parameters.</param>
            <param name="returnValue">The return value of the RPC method as object.</param>
            <returns>The ADS Error Code.</returns>
        </member>
        <member name="T:TwinCAT.Ads.Internal.SymbolInfoTable">
            <summary>
            Internal Symbol Info table.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.SymbolInfoTable._symbolTable">
            <summary>
            The internal Symbol Table
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.SymbolInfoTable._datatypeTable">
            <summary>
            The Internal DataType table
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.SymbolInfoTable._adsClient">
            <summary>
            ADS Connection.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.SymbolInfoTable._encoding">
            <summary>
            The encoding used for marshalling Symbols and DataType strings.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.SymbolInfoTable.#ctor(TwinCAT.Ads.IAdsConnection,System.Text.Encoding,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Internal.SymbolInfoTable" /> class.
            </summary>
            <param name="adsClient">The ads client.</param>
            <param name="symbolEncoding">The symbol encoding.</param>
            <param name="targetPointerSize">Size of the target pointer.</param>
            <exception cref="T:System.ArgumentNullException">adsClient
            or
            symbolEncoding</exception>
        </member>
        <member name="M:TwinCAT.Ads.Internal.SymbolInfoTable.Dispose">
            <summary>
            Disposes this instance.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.SymbolInfoTable.Cleanup">
            <summary>
            Cleanup the <see cref="T:TwinCAT.Ads.Internal.SymbolInfoTable"/>
            </summary>
            <remarks>
            Because the <see cref="T:TwinCAT.Ads.Internal.SymbolInfoTable"/> holds 'unmanaged' resources in form
            of Symbol handles that must be unregistered, the Cleanup is called by the 
            dispose method.
            </remarks>
        </member>
        <member name="M:TwinCAT.Ads.Internal.SymbolInfoTable.WriteSymbol(System.String,System.Object,System.Boolean)">
            <summary>
            Writes the symbol (by handle)
            </summary>
            <param name="symbolPath">The symbol path.</param>
            <param name="value">The value.</param>
            <param name="reloadInfo">Reload type/symbol information and the handle cache.</param>
            <remarks>This method writes the value of the symbol by handle.
            The value must be 'marshalable' to the symbol types memory layout.
            The handle is internally cached.
            The following communication sequence will be processed:
            <list type="number">
            <item>Reading the SymbolInfo if not cached yet</item>
            <item>Reading the DataTypeInfo if not cached yet</item>
            <item>Registering the Symbol handle if not cached yet or not valid anymore</item>
            <item>Writing the value by Handle</item>
            <item>Unregistering the handle when connection is closed / cache will be reset.</item>
            </list>
            </remarks>
            <seealso cref="M:TwinCAT.Ads.Internal.SymbolInfoTable.ReadSymbol(System.String,System.Type,System.Boolean)"/>
            <seealso cref="M:TwinCAT.Ads.Internal.SymbolInfoTable.ReadSymbolByName(System.String,System.Type,System.Boolean)"/>
        </member>
        <member name="M:TwinCAT.Ads.Internal.SymbolInfoTable.updateSymbolHandle(TwinCAT.Ads.Internal.TcAdsSymbol)">
            <summary>
            Updates the symbol handle for Symbolic access
            </summary>
            <param name="adsSymbol">The ads symbol.</param>
            <returns>AdsErrorCode.</returns>
            <remarks>
            </remarks>
        </member>
        <member name="M:TwinCAT.Ads.Internal.SymbolInfoTable.ReadSymbol(System.String,System.Type,System.Boolean)">
            <summary>
            Reads the symbol value by handle
            </summary>
            <param name="symbolPath">The Symbol path.</param>
            <param name="managedType">Managed type</param>
            <param name="reloadInfo">Reload type/symbol information and the handle cache.</param>
            <returns>The value.</returns>
            <seealso cref="M:TwinCAT.Ads.Internal.SymbolInfoTable.ReadSymbolByName(System.String,System.Type,System.Boolean)"/>
            <remarks>This method reads the value of the symbol by handle. The handle is internally cached.
            Therefore this method is more efficient than <see cref="M:TwinCAT.Ads.Internal.SymbolInfoTable.ReadSymbolByName(System.String,System.Type,System.Boolean)"/>, if the symbol (symbolPath) is accessed more frequently by the price of 2 extra communication
            rountrips (one on first symbol access creating the handle and the second on deleting the handle on dispose"/>.
            The following communication sequence will be processed:
            <list type="number">
            <item>Reading the SymbolInfo if not cached yet</item>
            <item>Reading the DataTypeInfo if not cached yet</item>
            <item>Registering the Symbol handle if not cached yet or not valid anymore</item>
            <item>Reading the value by Handle</item>
            <item>Unregistering the handle when connection is closed / cache will be reset.</item>
            </list>
            </remarks>
            <seealso cref="M:TwinCAT.Ads.Internal.SymbolInfoTable.ReadSymbolByName(System.String,System.Type,System.Boolean)"/>
            <seealso cref="M:TwinCAT.Ads.Internal.SymbolInfoTable.WriteSymbol(System.String,System.Object,System.Boolean)"/>
        </member>
        <member name="M:TwinCAT.Ads.Internal.SymbolInfoTable.ReadSymbolByName(System.String,System.Type,System.Boolean)">
            <summary>
            Reads the symbol value by symbol path.
            </summary>
            <param name="symbolPath">The Symbol path.</param>
            <param name="managedType">Managed type</param>
            <param name="reloadInfo">Reload type/symbol information.</param>
            <returns>The value.</returns>
            <seealso cref="M:TwinCAT.Ads.Internal.SymbolInfoTable.ReadSymbol(System.String,System.Type,System.Boolean)"/>
            <remarks>This method reads the value of the symbol directly not using the handle indirection. Therefore it is more efficient than
            <see cref="M:TwinCAT.Ads.Internal.SymbolInfoTable.ReadSymbol(System.String,System.Type,System.Boolean)"/> if the symbol/symbol path is only accessed once. Furthermore no handling for invalid handles is necessary (Project reload, restarted targets).
            The following communication sequence will be processed:
            <list type="number">
            <item>Reading the SymbolInfo if not cached yet</item>
            <item>Reading the DataTypeInfo if not cached yet</item>
            <item>Reading the value by Path</item>
            </list>
            </remarks>
            <seealso cref="M:TwinCAT.Ads.Internal.SymbolInfoTable.ReadSymbol(System.String,System.Type,System.Boolean)"/>
            <seealso cref="M:TwinCAT.Ads.Internal.SymbolInfoTable.WriteSymbol(System.String,System.Object,System.Boolean)"/>
        </member>
        <member name="M:TwinCAT.Ads.Internal.SymbolInfoTable.InitializeArray(System.Type,TwinCAT.Ads.Internal.TcAdsDataType,TwinCAT.Ads.AdsBinaryReader,System.Int32,System.Int32,System.Object@)">
            <summary>
            Creates a managed array and initializes it with information from ADS Read
            </summary>
            <param name="managedType">The managed array type.</param>
            <param name="adsType">Ads type.</param>
            <param name="reader">The reader.</param>
            <param name="readerOffset">The reader offset.</param>
            <param name="jagLevel">The jag level (only used for recursive jagArray calls)</param>
            <param name="value">The value.</param>
            <returns>Read bytes</returns>
            <exception cref="T:System.ArgumentException">type
            or
            type</exception>
        </member>
        <member name="M:TwinCAT.Ads.Internal.SymbolInfoTable.WriteArray(System.Object,TwinCAT.Ads.ITcAdsDataType,TwinCAT.Ads.AdsBinaryWriter,System.Int32)">
            <summary>
            Writes the (managed) array value to ADS
            </summary>
            <param name="value">Managed Array value.</param>
            <param name="arrayType">ADS Type.</param>
            <param name="writer">The writer.</param>
            <param name="writerOffset">The writer offset.</param>
            <exception cref="T:System.ArgumentException">
            type
            or
            Cannot convert ads array type of symbol to this type.;type
            </exception>
        </member>
        <member name="M:TwinCAT.Ads.Internal.SymbolInfoTable.checkArrayDimensions(System.Array,TwinCAT.Ads.AdsDatatypeArrayInfo[],System.Boolean)">
            <summary>
            Check Array Dimensions  
            </summary>
            <param name="array">The array.</param>
            <param name="arrayInfo">The array information.</param>
            <param name="exact">Checks bounds exactly.</param>
        </member>
        <member name="T:TwinCAT.Ads.Internal.SymbolInfoTable.FieldInfoOffsetComparer">
            <summary>
            Class FieldInfoOffsetComparer.
            </summary>
            
        </member>
        <member name="M:TwinCAT.Ads.Internal.SymbolInfoTable.InitializeStruct(System.Collections.Generic.IList{TwinCAT.Ads.ITcAdsSubItem},System.Type,TwinCAT.Ads.AdsBinaryReader,System.Int32,System.Object@)">
            <summary>
            Initializes the structure.
            </summary>
            <param name="subItems">The sub items.</param>
            <param name="type">The struct type.</param>
            <param name="reader">The reader.</param>
            <param name="readerOffset">The reader offset.</param>
            <param name="value">The value2.</param>
            <returns>Read bytes.</returns>
            <exception cref="T:System.ArgumentException">type
            or
            type</exception>
        </member>
        <member name="M:TwinCAT.Ads.Internal.SymbolInfoTable.WriteStruct(System.Object,System.Collections.Generic.IList{TwinCAT.Ads.ITcAdsSubItem},TwinCAT.Ads.AdsBinaryWriter,System.Int32)">
            <summary>
            Write (Managed) Struct value to ADS.
            </summary>
            <param name="value">The value.</param>
            <param name="subItems">The subitems.</param>
            <param name="writer">The writer.</param>
            <param name="writerOffset">The writer offset.</param>
            <exception cref="T:System.ArgumentException">
            type
            or
            type
            </exception>
        </member>
        <member name="M:TwinCAT.Ads.Internal.SymbolInfoTable.InitializePrimitiveType(System.String,System.Type,TwinCAT.Ads.AdsDatatypeId,System.Int32,TwinCAT.Ads.AdsBinaryReader,System.Int32,System.Object@)">
            <summary>
            Create managed primitive type and initlizes it with Value via ADS
            </summary>
            <param name="typeName">The name.</param>
            <param name="managedType">Type of the managed.</param>
            <param name="dataType">Type of the data.</param>
            <param name="byteLength">Length of the byte.</param>
            <param name="reader">The reader.</param>
            <param name="readerOffset">The reader offset.</param>
            <param name="value">The value.</param>
            <returns>Read bytes</returns>
            <exception cref="T:System.ArgumentNullException">
            symbolPath
            or
            reader
            </exception>
            <exception cref="T:System.ArgumentException">Cannot convert data type of symbol to this type.;type
            or
            Unexpected datatype. Cannot convert datatype of symbol to this type.;type</exception>
        </member>
        <member name="M:TwinCAT.Ads.Internal.SymbolInfoTable.WritePrimitiveValue(System.String,System.Object,System.Type,TwinCAT.Ads.AdsDatatypeId,System.Int32,TwinCAT.Ads.AdsBinaryWriter,System.Int32)">
            <summary>
            Sets the type of the primitive.
            </summary>
            <param name="symbolPath">The Symbol Path.</param>
            <param name="value">The value.</param>
            <param name="managedType">Type of the managed.</param>
            <param name="dataType">Type of the data.</param>
            <param name="byteSize">Size of the byte.</param>
            <param name="writer">The writer.</param>
            <param name="writerOffset">The writer offset.</param>
            <exception cref="T:System.ArgumentException">
            Cannot convert datatype of symbol to this type.;type
            or
            Unexpected datatype. Cannot convert datatype of symbol to this type.;type
            </exception>
        </member>
        <member name="M:TwinCAT.Ads.Internal.SymbolInfoTable.InitializeEnum(System.String,System.Type,TwinCAT.Ads.AdsDatatypeId,System.Int32,TwinCAT.Ads.AdsBinaryReader,System.Int32,System.Object@)">
            <summary>
            Create managed instance Type and initialize with ADS value.
            </summary>
            <param name="typeName">The type name.</param>
            <param name="managedType">Type of the managed.</param>
            <param name="dataType">Type of the data.</param>
            <param name="size">The size.</param>
            <param name="reader">The reader.</param>
            <param name="readerPosition">The reader position.</param>
            <param name="value">The value.</param>
            <returns>Read bytes.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.SymbolInfoTable.WriteEnumValue(System.String,System.Object,TwinCAT.Ads.Internal.TcAdsDataType,TwinCAT.Ads.AdsBinaryWriter,System.Int32)">
            <summary>
            Write managed enum instance to ADS
            </summary>
            <param name="symbolPath">The symbol path.</param>
            <param name="value">The value.</param>
            <param name="type">The type.</param>
            <param name="writer">The writer.</param>
            <param name="writerOffset">The writer offset.</param>
        </member>
        <member name="M:TwinCAT.Ads.Internal.SymbolInfoTable.GetSymbol(System.String,System.Boolean)">
            <summary>
            Get Symbol
            </summary>
            <param name="symbolPath">The symbol path.</param>
            <param name="bLookup">if set to <c>true</c> then this method looks first in its internal cache, otherwise it directly does an ADS roundtrip.</param>
            <returns>TcAdsSymbol.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">name</exception>
        </member>
        <member name="M:TwinCAT.Ads.Internal.SymbolInfoTable.TryGetSymbol(System.String,System.Boolean,TwinCAT.Ads.ITcAdsSymbol@)">
            <summary>
            Get Symbol
            </summary>
            <param name="symbolPath">The symbol path.</param>
            <param name="bLookup">if set to <c>true</c> then this method looks first in its internal cache, otherwise it directly does an ADS roundtrip.</param>
            <param name="symbol">The symbol.</param>
            <returns>TcAdsSymbol.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">name</exception>
        </member>
        <member name="M:TwinCAT.Ads.Internal.SymbolInfoTable.TryInvokeRpcMethod(TwinCAT.Ads.ITcAdsSymbol,TwinCAT.TypeSystem.IRpcMethod,System.Object[],TwinCAT.TypeSystem.AnyTypeSpecifier[],TwinCAT.TypeSystem.AnyTypeSpecifier,System.Object[]@,System.Object@)">
            <summary>
            Invokes the specified RPC Method.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="rpcMethod">The method.</param>
            <param name="inParameters">The parameters.</param>
            <param name="outSpecifiers">Output specifiers (for ANYTYPE) output parameters.</param>
            <param name="retSpecifier">The return type ANYTYPE Specifier.</param>
            <param name="outParameters">The out parameters.</param>
            <param name="returnValue">The return value of the RPC method as object.</param>
            <returns>The ADS Error Code.</returns>
            <exception cref="T:System.ArgumentNullException">symbol</exception>
            <exception cref="T:System.ArgumentNullException">rpcMethod</exception>
            <exception cref="T:System.ArgumentNullException">parameters</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">parameters</exception>
            <exception cref="T:TwinCAT.Ads.AdsDatatypeNotSupportedException"></exception>
        </member>
        <member name="F:TwinCAT.Ads.Internal.TcAdsDllWrapper._disposed">
            <summary>
            The disposed
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsDllWrapper.IsDisposed">
            <summary>
            Gets a value indicating whether this instance is disposed.
            </summary>
            <value><c>true</c> if this instance is disposed; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:TwinCAT.Ads.Internal.TcAdsDllWrapper.GetLocalNetId">
            <summary>
            Gets the local net identifier.
            </summary>
            <returns>System.Byte[].</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.TcAdsDllWrapper.IsLocalNetId(TwinCAT.Ads.AmsNetId,TwinCAT.Ads.AmsNetId)">
            <summary>
            Determines whether [is local net identifier] [the specified net identifier].
            </summary>
            <param name="netId">The net identifier.</param>
            <param name="localNetId">The local net identifier.</param>
            <returns><c>true</c> if [is local net identifier] [the specified net identifier]; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.TcAdsDllWrapper.Write(System.UInt32,System.UInt32,System.String,System.Int32,System.Text.Encoding,System.Boolean)">
            <summary>
            Writes the specified index group.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="val">The value.</param>
            <param name="characters">The characters (without trailing Zero)</param>
            <param name="encoding">The encoding.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
            <exception cref="T:System.ArgumentNullException">val</exception>
            <exception cref="T:System.NotSupportedException">Encoding not supported!</exception>
            <remarks>Method will write characters * sizeof(char) + 1 (Trailing Zero)</remarks>
        </member>
        <member name="M:TwinCAT.Ads.Internal.TcAdsDllWrapper.WriteArrayOfString(System.UInt32,System.UInt32,System.String[],System.Int32,System.Boolean)">
            <summary>
            Writes the array of string.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="val">The value.</param>
            <param name="characters">The number of characters in each string (without trailing /0).</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
            <remarks>
            This method will write an Array of strings. Each string has a fixed size of 'characters' + '\0'.
            So the dataarea size will be val.Length * (characters + 1)
            </remarks>
        </member>
        <member name="M:TwinCAT.Ads.Internal.TcAdsDllWrapper.ThrowOnError(TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Throws an <see cref="T:TwinCAT.Ads.AdsErrorException"/> with the specified error code.
            </summary>
            <param name="adsErrorCode">The ads error code.</param>
        </member>
        <member name="M:TwinCAT.Ads.Internal.TcAdsDllWrapper.ThrowOnError(System.String,TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Throws an <see cref="T:TwinCAT.Ads.AdsErrorException" /> with the specified error code.
            </summary>
            <param name="message">The message.</param>
            <param name="adsErrorCode">The ads error code.</param>
        </member>
        <member name="T:TwinCAT.Ads.Internal.TcAdsDllWrapper.UnsafeNativeMethods">
            <summary>
            Wrapper Class for the TcAdsdll.dll Native Methods
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.TcAdsDllWrapper.UnsafeNativeMethods.AdsGetDllVersion">
            TcAdsDll-Api Functions
        </member>
        <member name="T:TwinCAT.Ads.Internal.SymbolUploadInfo">
            <summary>
            ADS Info object describing the SymbolUpload data
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.Internal.SymbolUploadInfo.CalcVersion(System.Int32)">
            <summary>
            Calculates the provided version of the <see cref="T:TwinCAT.Ads.Internal.SymbolUploadInfo"/> structure marshalled from target.
            </summary>
            <param name="readBytes">The read bytes.</param>
            <returns>System.Int32.</returns>
            <remarks>The version of the struct data is dependent
            on the count of returned bytes.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.Internal.SymbolUploadInfo.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Internal.SymbolUploadInfo"/> class.
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.Internal.SymbolUploadInfo._version">
            <summary>
            The data Version of the Upload Information.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.Internal.SymbolUploadInfo.Version">
            <summary>
            Gets the data Version of the Upload Information.
            </summary>
            <value>The version.</value>
        </member>
        <member name="M:TwinCAT.Ads.Internal.SymbolUploadInfo.#ctor(System.IO.BinaryReader,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Internal.SymbolUploadInfo"/> class.
            </summary>
            <param name="reader">The reader.</param>
            <param name="version">Symbol info Version (dependent on the size of the Data in the reader)</param>
            <remarks>
            Version 1: SymbolUploadInfo (8 bytes)
            Version 2: AdsSymbolUploadInfo2 (24 bytes)
            Version 3: AdsSymbolUploadInfo3 (64 bytes)
            </remarks>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.Internal.SymbolUploadInfo.Dump">
            <summary>
            Dumps the <see cref="T:TwinCAT.Ads.Internal.SymbolUploadInfo"/>
            </summary>
            <returns>System.String.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.SymbolUploadInfo.ToString">
            <summary>
            Returns a <see cref="T:System.String" /> that represents this instance.
            </summary>
            <returns>A <see cref="T:System.String" /> that represents this instance.</returns>
        </member>
        <member name="F:TwinCAT.Ads.Internal.SymbolUploadInfo._symbolCount">
            <summary>
            The symbols
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.Internal.SymbolUploadInfo.SymbolCount">
            <summary>
            Gets the symbol count.
            </summary>
            <value>The symbol count.</value>
        </member>
        <member name="F:TwinCAT.Ads.Internal.SymbolUploadInfo._symbolsBlockSize">
            <summary>
            The symbol size
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.Internal.SymbolUploadInfo.SymbolsBlockSize">
            <summary>
            Gets the size of the symbols block.
            </summary>
            <value>The size of the symbols block.</value>
        </member>
        <member name="F:TwinCAT.Ads.Internal.SymbolUploadInfo._dataTypeCount">
            <summary>
            The datatypes
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.Internal.SymbolUploadInfo.DataTypeCount">
            <summary>
            Gets the data type count.
            </summary>
            <value>The data type count.</value>
        </member>
        <member name="F:TwinCAT.Ads.Internal.SymbolUploadInfo._dataTypesBlockSize">
            <summary>
            The datatype size
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.Internal.SymbolUploadInfo.DataTypesBlockSize">
            <summary>
            Gets the size of the data types block.
            </summary>
            <value>The size of the data types block.</value>
        </member>
        <member name="F:TwinCAT.Ads.Internal.SymbolUploadInfo._maxDynamicSymbolCount">
            <summary>
            The maximum dynamic symbols
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.Internal.SymbolUploadInfo.MaxDynamicSymbolCount">
            <summary>
            Gets the maximum number of the dynamic symbols.
            </summary>
            <value>The maximum dynamic symbol count.</value>
        </member>
        <member name="F:TwinCAT.Ads.Internal.SymbolUploadInfo._usedDynamicSymbolCount">
            <summary>
            The used dynamic symbols
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.Internal.SymbolUploadInfo.UsedDynamicSymbolCount">
            <summary>
            Gets the number of used dynamic symbols.
            </summary>
            <value>The used dynamic symbol count.</value>
        </member>
        <member name="F:TwinCAT.Ads.Internal.SymbolUploadInfo._invalidDynamicSymbolCount">
            <summary>
            Invalid dynamic symbols
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.Internal.SymbolUploadInfo.InvalidDynamicSymbolCount">
            <summary>
            Gets the number of invalid dynamic symbols.
            </summary>
            <value>The invalid dynamic symbol count.</value>
        </member>
        <member name="F:TwinCAT.Ads.Internal.SymbolUploadInfo._encodingCodePage">
            <summary>
            The encoding code page (marshalled from target)
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.Internal.SymbolUploadInfo.StringEncoding">
            <summary>
            Gets the string encoding (marshalled from target)
            </summary>
            <value>The string encoding for symbols and data types (Default: <see cref="P:System.Text.Encoding.Default"/>)</value>
        </member>
        <member name="F:TwinCAT.Ads.Internal.SymbolUploadInfo._flags">
            <summary>
            Symbol Upload Flags
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.Internal.SymbolUploadInfo.Flags">
            <summary>
            Gets the Symbol Upload Flags
            </summary>
            <value>The flags.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.SymbolUploadInfo.TargetPointerSize">
            <summary>
            Gets the size of the Pointers on the target system.
            </summary>
            <value>The size of the target pointer.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.SymbolUploadInfo.ContainsBaseTypes">
            <summary>
            Gets a value indicating whether the symbol server delivers base types also.
            </summary>
            <value><c>true</c> if base types are in the data types collection; otherwise, <c>false</c>.</value>
        </member>
        <member name="F:TwinCAT.Ads.Internal.SymbolUploadInfo._reserved">
            <summary>
            Reserved bytes for future extensions.
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.Internal.SymbolUploadFlags">
            <summary>
            Enum SymbolUploadFlags
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.Internal.SymbolUploadFlags.None">
            <summary>
            None / Unititialized
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.SymbolUploadFlags.Is64BitPlatform">
            <summary>
            Target is 64 Bit Platform
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.SymbolUploadFlags.IncludesBaseTypes">
            <summary>
            Symbol Server includes Base types.
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.Internal.AdsGetDynamicSymbolType">
            <summary>
            Enum AdsGetDynamicSymbolType
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsGetDynamicSymbolType.Next">
            <summary>
            Next
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsGetDynamicSymbolType.Sibling">
            <summary>
            Sibling
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsGetDynamicSymbolType.Child">
            <summary>
            Child
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsGetDynamicSymbolType.Parent">
            <summary>
            Parent
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.Internal.AdsAttributeEntry">
            <summary>
            Class describing attribute entries.
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsAttributeEntry._name">
            <summary>
            Attribute Name
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.Internal.AdsAttributeEntry.Name">
            <summary>
            Gets the attribute name.
            </summary>
            <value>The name.</value>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsAttributeEntry._value">
            <summary>
            Gets the Attribute Value.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.Internal.AdsAttributeEntry.Value">
            <summary>
            Gets the value of the Attribute
            </summary>
            <value>The value.</value>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsAttributeEntry.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Internal.AdsAttributeEntry"/> class.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsAttributeEntry.#ctor(System.Int64,System.Text.Encoding,TwinCAT.Ads.AdsBinaryReader)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Internal.AdsAttributeEntry" /> class.
            </summary>
            <param name="parentEndPosition">The parent end position.</param>
            <param name="encoding">The encoding.</param>
            <param name="reader">The reader.</param>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsAttributeEntry.Read(System.Int64,System.Text.Encoding,TwinCAT.Ads.AdsBinaryReader)">
            <summary>
            Reads Binary (Ads-aligned) data from ADS stream.
            </summary>
            <param name="parentEndPosition">End position of parent structure (Error indication).</param>
            <param name="encoding">The used string encoding.</param>
            <param name="reader">The reader.</param>
        </member>
        <member name="T:TwinCAT.Ads.Internal.AdsSymbolEntry">
            <summary>
            For internal use only.
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsSymbolEntry.#ctor(System.Int64,System.Text.Encoding,TwinCAT.Ads.AdsBinaryReader)">
            <summary>
            For internal use only.
            </summary>
            <param name="parentEndPosition">The parent end position.</param>
            <param name="encoding">The encoding.</param>
            <param name="reader">The reader.</param>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsSymbolEntry.Read(System.Int64,System.Text.Encoding,TwinCAT.Ads.AdsBinaryReader)">
            <summary>
            Reads Binary (Ads-aligned) data from ADS stream.
            </summary>
            <param name="parentEndPosition">End position of parent structure (Error indication).</param>
            <param name="encoding">The encoding.</param>
            <param name="reader">The reader.</param>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsSymbolEntry.entryLength">
            <summary>
            ADS Entry length (the marshal size, 0)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsSymbolEntry.indexGroup">
            <summary>
            4 indexGroup of symbol: input, output etc.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsSymbolEntry.indexOffset">
            <summary>
            8 indexOffset of symbol
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsSymbolEntry.size">
            <summary>
            12 size of symbol ( in bytes, 0 = bit )
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsSymbolEntry.dataType">
             <summary>
            16 adsDataType of symbol
             </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsSymbolEntry.flags">
            <summary>
            20 see above
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsSymbolEntry.extendedFlags">
            <summary>
            ExtendedFlags
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsSymbolEntry.arrayDim">
            <summary>
            Array Dimension count (22)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsSymbolEntry.nameLength">
            <summary>
            24 length of symbol name (excl. \0)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsSymbolEntry.typeLength">
            <summary>
            26 length of type name (excl. \0)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsSymbolEntry.commentLength">
            <summary>
            //28 length of comment (excl. \0)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsSymbolEntry.name">
            <summary>
            Symbol name string (30)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsSymbolEntry.type">
            <summary>
            Symbol Type Name (30 +namelength +1)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsSymbolEntry.comment">
            <summary>
            The comment (30 +namelength+1 +typelenght + 1)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsSymbolEntry.array">
            <summary>
            The array
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsSymbolEntry.typeGuid">
            <summary>
            The type unique identifier (16 Bytes)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsSymbolEntry.attributeCount">
            <summary>
            The attribute count (2 Bytes)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsSymbolEntry.attributes">
            <summary>
            The attributes
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsSymbolEntry.reserved">
            <summary>
            The reserved
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.Internal.AdsSymbolEntry.ContextMask">
            <summary>
            Gets the context mask of this instance.
            </summary>
            <value>The context mask.</value>
            <remarks>The Size of the internal data is 4-Bit</remarks>
        </member>
        <member name="P:TwinCAT.Ads.Internal.AdsSymbolEntry.TwinCAT#TypeSystem#ISymbolInfo#InstancePath">
            <summary>
            Gets the Symbol Path
            </summary>
            <value>The path.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.AdsSymbolEntry.TwinCAT#TypeSystem#ISymbolInfo#TypeName">
            <summary>
            Gets the data type Name
            </summary>
            <value>The type of the data.</value>
        </member>
        <member name="T:TwinCAT.Ads.Internal.AdsSymbolFlags">
            <summary>
            Symbol Flags, for internal use only.
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsSymbolFlags.None">
            <summary>
            None
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsSymbolFlags.Persistent">
            <summary>
            ADSSYMBOLFLAG_PERSISTENT
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsSymbolFlags.BitValue">
            <summary>
            ADSSYMBOLFLAG_BITVALUE
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsSymbolFlags.ReferenceTo">
            <summary>
            ADSSYMBOLFLAG_REFERENCETO
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsSymbolFlags.TypeGuid">
            <summary>
            ADSSYMBOLFLAG_TYPEGUID
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsSymbolFlags.TComInterfacePtr">
            <summary>
            ADSSYMBOLFLAG_TCCOMIFACEPTR
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsSymbolFlags.ReadOnly">
            <summary>
            ADSSYMBOLFLAG_READONLY
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsSymbolFlags.ItfMethodAccess">
            <summary>
            ADSSYMBOLFLAG_ITFMETHODACCESS
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsSymbolFlags.MethodDeref">
            <summary>
            ADSSYMBOLFLAG_METHODDEREF
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsSymbolFlags.ContextMask">
            <summary>
            ADSSYMBOLFLAG_CONTEXTMASK (4 Bit)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsSymbolFlags.Attributes">
            <summary>
            ADSSYMBOLFLAG_ATTRIBUTES
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsSymbolFlags.Static">
            <summary>
            Symbol is static (ADSSYMBOLFLAG_STATIC,0x2000)        
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsSymbolFlags.InitOnReset">
            <summary>
            Persistent data will not restored after reset (cold, ADSSYMBOLFLAG_INITONRESET 0x4000)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsSymbolFlags.ExtendedFlags">
            <summary>
            Extended Flags in symbol (ADSSYMBOLFLAG_EXTENDEDFLAGS,0x8000)
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.Internal.AdsDataTypeFlags">
            <summary>
            DataType Flags, for internal use only.
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeFlags.DataType">
            <summary>
            ADSDATATYPEFLAG_DATATYPE
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeFlags.DataItem">
            <summary>
            ADSDATATYPEFLAG_DATAITEM
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeFlags.ReferenceTo">
            <summary>
            ADSDATATYPEFLAG_REFERENCETO
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeFlags.MethodDeref">
            <summary>
            ADSDATATYPEFLAG_METHODDEREF
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeFlags.Oversample">
            <summary>
            ADSDATATYPEFLAG_OVERSAMPLE
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeFlags.BitValues">
            <summary>
            ADSDATATYPEFLAG_BITVALUES
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeFlags.PropItem">
            <summary>
            ADSDATATYPEFLAG_PROPITEM
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeFlags.TypeGuid">
            <summary>
            ADSDATATYPEFLAG_TYPEGUID
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeFlags.Persistent">
            <summary>
            ADSDATATYPEFLAG_PERSISTENT
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeFlags.CopyMask">
            <summary>
            ADSDATATYPEFLAG_COPYMASK
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeFlags.TComInterfacePtr">
            <summary>
            ADSDATATYPEFLAG_TCCOMIFACEPTR
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeFlags.MethodInfos">
            <summary>
            ADSDATATYPEFLAG_METHODINFOS
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeFlags.Attributes">
            <summary>
            ADSDATATYPEFLAG_ATTRIBUTES
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeFlags.EnumInfos">
            <summary>
            ADSDATATYPEFLAG_ENUMINFOS
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeFlags.Aligned">
            <summary>
            this flag is set if the datatype is aligned (ADSDATATYPEFLAG_ALIGNED)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeFlags.Static">
            <summary>
            data item is static - do not use offs (ADSDATATYPEFLAG_STATIC)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeFlags.SpLevels">
            <summary>
            means "ContainSpLevelss" for DATATYPES and "HasSpLevels" for DATAITEMS (ADSDATATYPEFLAG_SPLEVELS)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeFlags.IgnorePersist">
            <summary>
            do not restore persistent data (ADSDATATYPEFLAG_IGNOREPERSIST)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeFlags.AnySizeArray">
            <summary>
            Any size array (ADSDATATYPEFLAG_ANYSIZEARRAY)
            </summary>
            <remarks>
            If the index is exeeded, a value access to this array will return <see cref="F:TwinCAT.Ads.AdsErrorCode.DeviceInvalidArrayIndex"/>
            </remarks>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeFlags.PersistantDatatype">
             <summary>
             data type used for persistent variables -> should be saved with persistent data (ADSDATATYPEFLAG_PERSIST_DT,0x00200000)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeFlags.InitOnResult">
            <summary>
            Persistent data will not restored after reset (cold) (ADSDATATYPEFLAG_INITONRESET,0x00400000)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeFlags.None">
            <summary>
            None / No Flag set
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.Internal.DataTypeFlagConverter">
            <summary>
            Class DataTypeFlagConverter.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.DataTypeFlagConverter.Convert(TwinCAT.Ads.Internal.AdsDataTypeFlags)">
            <summary>
            Converts <see cref="T:TwinCAT.Ads.Internal.AdsDataTypeFlags"/> to <see cref="T:TwinCAT.Ads.Internal.AdsSymbolFlags"/>
            </summary>
            <param name="dataTypeFlags">The sub item flags.</param>
            <returns>AdsSymbolFlags.</returns>
        </member>
        <member name="T:TwinCAT.Ads.Internal.SubItemFlagConverter">
            <summary>
            Class DataTypeFlagConverter.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.SubItemFlagConverter.Convert(TwinCAT.Ads.Internal.AdsDataTypeFlags)">
            <summary>
            Converts <see cref="T:TwinCAT.Ads.Internal.AdsDataTypeFlags"/> to <see cref="T:TwinCAT.Ads.Internal.AdsSymbolFlags"/>
            </summary>
            <param name="dataTypeFlags">The sub item flags.</param>
            <returns>AdsSymbolFlags.</returns>
        </member>
        <member name="T:TwinCAT.Ads.Internal.IAdsCustomMarshal`1">
            <summary>
            Interface IAdsCustomMarshal
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:TwinCAT.Ads.Internal.IAdsCustomMarshal`1.Read(System.Int64,System.Text.Encoding,TwinCAT.Ads.AdsBinaryReader)">
            <summary>
            Reads Binary (Ads-aligned) data from ADS stream.
            </summary>
            <param name="parentEndPosition">End position of parent structure (Error indication).</param>
            <param name="encoding">The encoding.</param>
            <param name="reader">The reader.</param>
        </member>
        <member name="T:TwinCAT.Ads.Internal.IAdsEnumCustomMarshal`1">
            <summary>
            Interface IAdsEnumCustomMarshal
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:TwinCAT.Ads.Internal.IAdsEnumCustomMarshal`1.Read(System.UInt32,System.Int64,System.Text.Encoding,TwinCAT.Ads.AdsBinaryReader)">
            <summary>
            Reads Binary (Ads-aligned) data from ADS stream
            </summary>
            <param name="enumValueSize">The size of the Enum data type</param>
            <param name="parentEndPosition">End position of parent structure (Error indication).</param>
            <param name="encoding">The encoding.</param>
            <param name="reader">The reader.</param>
        </member>
        <member name="T:TwinCAT.Ads.Internal.SubStructureReader`1">
            <summary>
            Helper class Marshalling ADS Substructures.
            </summary>
            <typeparam name="T">Substructure to read elements of</typeparam>
        </member>
        <member name="M:TwinCAT.Ads.Internal.SubStructureReader`1.Read(System.UInt32,System.Int64,System.Text.Encoding,TwinCAT.Ads.AdsBinaryReader)">
            <summary>
            Reads the specified amount of substructures from the reader.
            </summary>
            <param name="elementCount">The element count.</param>
            <param name="parentEndPosition">End position of parent structure (Error indication).</param>
            <param name="encoding">The encoding.</param>
            <param name="reader">The reader.</param>
            <returns>T[].</returns>
        </member>
        <member name="T:TwinCAT.Ads.Internal.EnumSubStructureReader`1">
            <summary>
            Helper class Marshalling Enum ADS Substructures
            </summary>
            <typeparam name="T">Enum substructure to read.</typeparam>
        </member>
        <member name="M:TwinCAT.Ads.Internal.EnumSubStructureReader`1.Read(System.UInt32,System.UInt32,System.Int64,System.Text.Encoding,TwinCAT.Ads.AdsBinaryReader)">
            <summary>
            Reads the specified amount of substructures from the reader.
            </summary>
            <param name="elementCount">The element count.</param>
            <param name="valueSize">Size of the Enums base type.</param>
            <param name="parentEndPosition">The parent end position.</param>
            <param name="encoding">The encoding.</param>
            <param name="reader">The reader.</param>
            <returns>T[].</returns>
        </member>
        <member name="T:TwinCAT.Ads.Internal.AdsMethodEntry">
            <summary>
            Class AdsMethodEntry.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsMethodEntry.entryLength">
            <summary>
            length of complete datatype entry
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsMethodEntry.version">
            <summary>
            version of datatype structure
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsMethodEntry.vTableIndex">
            <summary>
            vTable index of this method
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsMethodEntry.returnSize">
            <summary>
            size of datatype ( in bytes )
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsMethodEntry.returnAlignSize">
            <summary>
             size of biggest element for alignment
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsMethodEntry.reserved">
            <summary>
            The reserved
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsMethodEntry.returnTypeGuid">
            <summary>
            The return type unique identifier
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsMethodEntry.returnDataType">
            <summary>
            adsDataType of symbol (if alias)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsMethodEntry.flags">
            <summary>
            Internal option flags
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsMethodEntry.nameLength">
            <summary>
            length of datatype name (excl. \0)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsMethodEntry.returnTypeLength">
            <summary>
            length of dataitem type name (excl. \0)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsMethodEntry.commentLength">
            <summary>
            length of comment (excl. \0)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsMethodEntry.parameterCount">
            <summary>
            The parameter count
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsMethodEntry.name">
            <summary>
            name of datatype with terminating \0
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsMethodEntry.returnType">
            <summary>
             type name of dataitem with terminating \0
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsMethodEntry.comment">
            <summary>
            comment of datatype with terminating \0
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsMethodEntry.parameters">
            <summary>
            Parameters Collection
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsMethodEntry.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Internal.AdsMethodEntry"/> class.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsMethodEntry.#ctor(System.Int64,System.Text.Encoding,TwinCAT.Ads.AdsBinaryReader)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Internal.AdsMethodEntry" /> class.
            </summary>
            <param name="parentEndPosition">The parent end position.</param>
            <param name="encoding">The encoding.</param>
            <param name="reader">The reader.</param>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsMethodEntry.Read(System.Int64,System.Text.Encoding,TwinCAT.Ads.AdsBinaryReader)">
            <summary>
            Reads Binary (Ads-aligned) data from ADS stream.
            </summary>
            <param name="parentEndPosition">End position of parent structure (Error indication).</param>
            <param name="encoding">The encoding.</param>
            <param name="reader">The reader.</param>
        </member>
        <member name="T:TwinCAT.Ads.Internal.AdsMethodParaInfo">
            <summary>
            Class AdsMethodParaInfo.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsMethodParaInfo.entryLength">
            <summary>
            length of complete datatype entry
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsMethodParaInfo.size">
            <summary>
            size of datatype ( in bytes )
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsMethodParaInfo.alignSize">
            <summary>
            size of biggest element for alignment (biggest element used for marshalling ???)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsMethodParaInfo.dataType">
            <summary>
            adsDataType of symbol (if alias)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsMethodParaInfo.flags">
            <summary>
            The flags
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsMethodParaInfo.reserved">
            <summary>
            The reserved
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsMethodParaInfo.typeGuid">
            <summary>
            The type unique identifier
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsMethodParaInfo.lengthIsPara">
            <summary>
            index-1 of corresponding parameter with length info - 0 = no para, 1 = first para...
            </summary>
            <remarks>This field references to the Parameter that defines the length for this
            generic one. Equally to the marshalling attributes of COM (sizeof, lenght)
            this enables to transport parameter of type (PVOID)
            </remarks>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsMethodParaInfo.nameLength">
            <summary>
            length of datatype name (excl. \0)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsMethodParaInfo.typeLength">
            <summary>
            length of dataitem type name (excl. \0)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsMethodParaInfo.commentLength">
            <summary>
            length of comment (excl. \0)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsMethodParaInfo.name">
            <summary>
            name of datatype with terminating \0
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsMethodParaInfo.type">
            <summary>
            type name of dataitem with terminating \0
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsMethodParaInfo.comment">
            <summary>
            comment of datatype with terminating \0
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsMethodParaInfo.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Internal.AdsMethodParaInfo"/> class.
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsMethodParaInfo.#ctor(System.Int64,System.Text.Encoding,TwinCAT.Ads.AdsBinaryReader)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Internal.AdsMethodParaInfo" /> class.
            </summary>
            <param name="parentEndPosition">The parent end position.</param>
            <param name="encoding">The encoding.</param>
            <param name="reader">The reader.</param>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsMethodParaInfo.Read(System.Int64,System.Text.Encoding,TwinCAT.Ads.AdsBinaryReader)">
            <summary>
            Reads Binary (Ads-aligned) data from ADS stream.
            </summary>
            <param name="parentEndPosition">End position of parent structure (Error indication).</param>
            <param name="encoding">The encoding.</param>
            <param name="reader">The reader.</param>
        </member>
        <member name="T:TwinCAT.Ads.Internal.AdsEnumInfoEntry">
            <summary>
            Class AdsEnumInfoEntry.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsEnumInfoEntry.nameLength">
            <summary>
            The name length
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsEnumInfoEntry.name">
            <summary>
            The name
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsEnumInfoEntry.value">
            <summary>
            The value
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsEnumInfoEntry.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Internal.AdsEnumInfoEntry"/> class.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsEnumInfoEntry.#ctor(System.UInt32,System.Int64,System.Text.Encoding,TwinCAT.Ads.AdsBinaryReader)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Internal.AdsEnumInfoEntry" /> class.
            </summary>
            <param name="valueSize">Size of the value.</param>
            <param name="parentEndPosition">The parent end position.</param>
            <param name="encoding">The encoding.</param>
            <param name="reader">The reader.</param>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsEnumInfoEntry.Read(System.UInt32,System.Int64,System.Text.Encoding,TwinCAT.Ads.AdsBinaryReader)">
            <summary>
            Reads the specified value size.
            </summary>
            <param name="valueSize">Size of the value.</param>
            <param name="parentEndPosition">The parent end position.</param>
            <param name="encoding">The encoding.</param>
            <param name="reader">The reader.</param>
        </member>
        <member name="T:TwinCAT.Ads.Internal.AdsFieldEntry">
            <summary>
            Class AdsFieldEntry (for internal use only)
            </summary>
            <seealso cref="T:TwinCAT.Ads.Internal.AdsDataTypeEntry" />
            <seealso cref="T:TwinCAT.Ads.Internal.IAdsCustomMarshal`1" />
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.Internal.AdsFieldEntry.SubItemName">
            <summary>
            Gets the name of the sub item.
            </summary>
            <value>The name of the sub item.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.AdsFieldEntry.Offset">
            <summary>
            Gets the offset.
            </summary>
            <value>The offset.</value>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsFieldEntry.TryGetPointerRef(System.String@)">
            <summary>
            Tries to get the Pointer reference type.
            </summary>
            <param name="referenceType">Type of the reference.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsFieldEntry.TryGetReference(System.String@)">
            <summary>
            Tries to get the Referenced type.
            </summary>
            <param name="referenceType">Type of the reference.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="P:TwinCAT.Ads.Internal.AdsFieldEntry.IsStatic">
            <summary>
            Gets a value indicating whether the <see cref="T:TwinCAT.Ads.Internal.AdsFieldEntry"/> is static.
            </summary>
            <value><c>true</c> if this instance is static; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.AdsFieldEntry.IsProperty">
            <summary>
            Gets a value indicating whether the <see cref="T:TwinCAT.Ads.Internal.AdsFieldEntry"/> is static.
            </summary>
            <value><c>true</c> if this instance is static; otherwise, <c>false</c>.</value>
        </member>
        <member name="T:TwinCAT.Ads.Internal.AdsDataTypeEntry">
            <summary>
            Class AdsDatatypeEntry (for internal use only)
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeEntry.entryLength">
            <summary>
            0 length of complete datatype entry
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeEntry.version">
            <summary>
            4 version of datatype structure
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeEntry.hashValue">
            <summary>
            8 hashValue of datatype to compare datatypes
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeEntry.typeHashValue">
            <summary>
            12 hashValue of base type / Code Offset to setter Method (typeHashValue or offsSetCode)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeEntry.size">
            <summary>
            16 size of datatype ( in bytes or bits depending on the BitValues flag )
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeEntry.offset">
            <summary>
            20 offs of dataitem in parent datatype ( in bytes or bits depending on the BitValues flag )
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeEntry.baseTypeId">
            <summary>
            24 adsDataType of symbol (if alias)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeEntry.flags">
            <summary>
            The flags (28)
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.Internal.AdsDataTypeEntry.Flags">
            <summary>
            Gets the DataType Flags
            </summary>
            <value>The flags.</value>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeEntry.nameLength">
            <summary>
            length 32 length of datatype name (excl. \0)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeEntry.typeLength">
            <summary>
            34 length of dataitem type name (excl. \0)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeEntry.commentLength">
            <summary>
            36 length of comment (excl. \0)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeEntry.arrayDim">
            <summary>
            38, count of array dimensions
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeEntry.subItems">
            <summary>
            40, count of SubItems
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeEntry.entryName">
            <summary>
            42, Name of the Entry (TypeName if DataType, FieldName on FieldEntry)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeEntry.typeName">
            <summary>
            Datatype name (42 + nameLength + 1 ) (Only on Fields !!!)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeEntry.comment">
            <summary>
            Comment (42 + typeLength +1 + typeLength+1)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeEntry.arrayInfos">
            <summary>
            The array infos
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeEntry.subEntries">
            <summary>
            The sub entries
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeEntry.typeGuid">
            <summary>
            The type unique identifier
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeEntry.copyMask">
            <summary>
            The copy mask
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeEntry.methodCount">
            <summary>
            The method count
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeEntry.methods">
            <summary>
            The methods
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeEntry.attributeCount">
            <summary>
            The attribute count
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeEntry.attributes">
            <summary>
            The attributes
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeEntry.enumInfoCount">
            <summary>
            The enum information count
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeEntry.enums">
            <summary>
            The enums
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeEntry.reserved">
            <summary>
            The reserved
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeEntry.s_idCount">
            <summary>
            The s_id count
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeEntry._rootEntry">
            <summary>
            The _root entry
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeEntry._id">
            <summary>
            The _id
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsDataTypeEntry.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Internal.AdsDataTypeEntry"/> class.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsDataTypeEntry.#ctor(System.Boolean,System.Text.Encoding,TwinCAT.Ads.AdsBinaryReader)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Internal.AdsDataTypeEntry" /> class.
            </summary>
            <param name="rootEntry">if set to <c>true</c> [root entry].</param>
            <param name="encoding">The encoding.</param>
            <param name="reader">The reader.</param>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsDataTypeEntry.Read(System.Int64,System.Text.Encoding,TwinCAT.Ads.AdsBinaryReader)">
            <summary>
            Reads Binary (Ads-aligned) data from ADS stream.
            </summary>
            <param name="parentEndPosition">End position of parent structure (Error indication).</param>
            <param name="encoding">The encoding.</param>
            <param name="reader">The reader.</param>
        </member>
        <member name="P:TwinCAT.Ads.Internal.AdsDataTypeEntry.IsPointer">
            <summary>
            Gets a value indicating whether this instance is pointer.
            </summary>
            <value><c>true</c> if this instance is pointer; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsDataTypeEntry.TryGetPointerRef(System.String@)">
            <summary>
            Tries the get pointer reference.
            </summary>
            <param name="referenceType">Type of the reference.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="P:TwinCAT.Ads.Internal.AdsDataTypeEntry.IsReference">
            <summary>
            Gets a value indicating whether this instance is reference.
            </summary>
            <value><c>true</c> if this instance is reference; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsDataTypeEntry.TryGetReference(System.String@)">
            <summary>
            Tries the get reference.
            </summary>
            <param name="referenceType">Type of the reference.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="P:TwinCAT.Ads.Internal.AdsDataTypeEntry.IsSubRange">
            <summary>
            Gets a value indicating whether this instance is sub range.
            </summary>
            <value><c>true</c> if this instance is sub range; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.AdsDataTypeEntry.IsArray">
            <summary>
            Gets a value indicating whether this instance is array.
            </summary>
            <value><c>true</c> if this instance is array; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.AdsDataTypeEntry.IsStruct">
            <summary>
            Gets a value indicating whether this instance is an struct.
            </summary>
            <value><c>true</c> if this instance is structure; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.AdsDataTypeEntry.IsEnum">
            <summary>
            Gets a value indicating whether this instance is enum.
            </summary>
            <value><c>true</c> if this instance is enum; otherwise, <c>false</c>.</value>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsDataTypeEntry.isSubItem">
            <summary>
            Indicator for a subItem
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.Internal.AdsDataTypeEntry.IsSubItem">
            <summary>
            Determines whether this object is an SubItem (DataType Member, true) or a native DataType (false)
            </summary>
            <value><c>true</c> if this instance is sub item; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.AdsDataTypeEntry.HasAttributes">
            <summary>
            Gets a value indicating whether this instance has attributes.
            </summary>
            <value><c>true</c> if this instance has attributes; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.AdsDataTypeEntry.HasRpcMethods">
            <summary>
            Gets a value indicating whether this instance has RPC methods.
            </summary>
            <value><c>true</c> if this instance has RPC methods; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.AdsDataTypeEntry.Size">
            <summary>
            Gets the size of the <see cref="T:TwinCAT.Ads.ITcAdsDataType" /> in bytes
            </summary>
            <value>The size.</value>
            <remarks>If <see cref="P:TwinCAT.TypeSystem.IBitSize.IsBitType" /> indicates 'BitSize' then this value will be in Bits, otherwise Bytes.</remarks>
        </member>
        <member name="P:TwinCAT.Ads.Internal.AdsDataTypeEntry.IsBitType">
            <summary>
            Indicates, that the <see cref="P:TwinCAT.Ads.Internal.AdsDataTypeEntry.Size" /> and Offset values of the SubItems are in Bit size
            </summary>
            <value><c>true</c> if this instance is bit size; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.AdsDataTypeEntry.IsAnySizeArray">
            <summary>
            Indicates, that the <see cref="P:TwinCAT.Ads.Internal.AdsDataTypeEntry.Size" /> and Offset values of the SubItems are in Bit size
            </summary>
            <value><c>true</c> if this instance is bit size; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.AdsDataTypeEntry.DataTypeId">
            <summary>
            Gets the data type identifier.
            </summary>
            <value>The data type identifier.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.AdsDataTypeEntry.Name">
            <summary>
            Gets the name of the symbol.
            </summary>
            <value>Name of the symbol.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.AdsDataTypeEntry.Comment">
            <summary>
            Gets the comment behind the variable declaration.
            </summary>
            <value>Comment behind the variable declaration.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.AdsDataTypeEntry.Attributes">
            <summary>
            Gets the attributes of the <see cref="T:TwinCAT.Ads.ITcAdsSymbol" />
            </summary>
            <value>The attributes.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.AdsDataTypeEntry.RpcMethods">
            <summary>
            Gets the RPC method descriptions
            </summary>
            <value>The RPC methods.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.AdsDataTypeEntry.BaseType">
            <summary>
            Gets the base type of this <see cref="T:TwinCAT.Ads.Internal.AdsDataTypeEntry"/>
            </summary>
            <value>The type of the base.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.AdsDataTypeEntry.BaseTypeName">
            <summary>
            Gets the name of the base type (if enum, alias, array)
            </summary>
            <value>The name of the base type.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.AdsDataTypeEntry.Category">
            <summary>
            Gets the Data Type Category
            </summary>
            <value>The category.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.AdsDataTypeEntry.Dimensions">
            <summary>
            Gets the dimensions of an array type
            </summary>
            <value>The array infos.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.AdsDataTypeEntry.EnumInfos">
            <summary>
            Gets the enum infos.
            </summary>
            <value>The enum infos.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.AdsDataTypeEntry.BitSize">
            <summary>
            Gets the size of this <see cref="T:TwinCAT.Ads.Internal.AdsDataTypeEntry"/> in bits.
            </summary>
            <value>The size of the bit.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.AdsDataTypeEntry.ByteSize">
            <summary>
            Gets the (aligned) size of of the Type/Instance in Bytes
            </summary>
            <value>The size of the byte.</value>
        </member>
        <member name="T:TwinCAT.Ads.Internal.TcAdsSymbol">
            <summary>
            Symbol representation
            </summary>
            <remarks>
            The TcAdsSymbol is used within the <see cref="T:TwinCAT.Ads.Internal.SymbolInfoTable"/>
            </remarks>
        </member>
        <member name="F:TwinCAT.Ads.Internal.TcAdsSymbol._typeEntryFlags">
            <summary>
            The type entry flags
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.TcAdsSymbol._flags">
            <summary>
            The symbol flags.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.TcAdsSymbol.#ctor(TwinCAT.Ads.Internal.AdsSymbolEntry,TwinCAT.Ads.Internal.TcAdsDataType)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Internal.TcAdsSymbol" /> class.
            </summary>
            <param name="symbolEntry">The entry.</param>
            <param name="typeEntry">The type entry.</param>
            <exception cref="T:System.ArgumentNullException">symbolEntry</exception>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsSymbol.DataType">
            <summary>
            Gets the data Type of this <see cref="T:TwinCAT.Ads.Internal.TcAdsSymbol"/>
            </summary>
            <value>The type of the data.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsSymbol.IndexGroup">
            <summary>
            Gets the index group of the symbol.
            </summary>
            <value>Index group of the symbol.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsSymbol.IndexOffset">
            <summary>
            Gets the index offset of the symbol.
            </summary>
            <value>Index offset of the symbol.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsSymbol.Size">
            <summary>
            Gets the size of the symbol.
            </summary>
            <value>Size of the symbol.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsSymbol.DataTypeId">
            <summary>
            Data type of the symbol.
            </summary>
            <value>Data type of the symbol.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsSymbol.Datatype">
            <summary>
            Obsolete, use ITcAdsSymbol5.TypeName instead.
            </summary>
            <value>Name of the symbol data type.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsSymbol.Name">
            <summary>
            Gets the name of the symbol.
            </summary>
            <value>Name of the symbol.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsSymbol.TypeName">
            <summary>
            Gets the name of the symbol data type.
            </summary>
            <value>Name of the symbol data type.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsSymbol.Type">
            <summary>
            Obsolete, use ITcAdsSymbol5.TypeName instead.
            </summary>
            <value>Name of the symbol data type.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsSymbol.Comment">
            <summary>
            Gets the comment behind the variable declaration.
            </summary>
            <value>Comment behind the variable declaration.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsSymbol.IsPersistent">
            <summary>
            Indicates if the Persistent flag is set for the symbol.
            </summary>
            <value><c>true</c> if persistent, otherwise <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsSymbol.IsStatic">
            <summary>
            Gets a value indicating whether the Symbol is static.
            </summary>
            <value><c>true</c> if this instance is static; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsSymbol.IsBitType">
            <summary>
            Indicates if the BitValue flag is set for the symbol.
            </summary>
            <value><c>true</c> if is BitValue, otherwise <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsSymbol.IsPointer">
            <summary>
            Gets a value indicating whether this instance is pointer.
            </summary>
            <value>
                <c>true</c> if this instance is pointer; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsSymbol.IsReference">
            <summary>
            Indicates if the ReferenceTo flag is set for the symbol.
            </summary>
            <value><c>true</c> if is ReferenceTo, otherwise <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsSymbol.IsTypeGuid">
            <summary>
            Indicates if the TypeGuid flag is set for the symbol.
            </summary>
            <value><c>true</c> if is TypeGuid, otherwise <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsSymbol.IsReadOnly">
            <summary>
            Indicates if the ReadOnly flag is set for the symbol.
            </summary>
            <value><c>true</c> if ReadOnly, otherwise <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsSymbol.IsTcComInterfacePointer">
            <summary>
            Indicates if the TcComInterfacePointer flag is set for the symbol.
            </summary>
            <value><c>true</c> if is TcComInterfacePointer, otherwise <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsSymbol.ContextMask">
            <summary>
            Gets the ContextMask of the symbol, indicating the task the variable belongs to.
            If ContextMask is not zero use <see cref="F:TwinCAT.Ads.AdsTransMode.CyclicInContext"/> or <see cref="F:TwinCAT.Ads.AdsTransMode.OnChangeInContext"/> to add notifications.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.TcAdsSymbol.GetManagedType">
            <summary>
            Gets the corresponding managed type of this symbol. This only works for
            primitive types.
            </summary>
            <returns>Managed type of symbol.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.TcAdsSymbol.IsRecursive(System.Collections.Generic.IEnumerable{TwinCAT.Ads.ITcAdsSymbol5})">
            <summary>
            Gets a value indicating whether this instance is recursive.
            </summary>
            <param name="parents">The parents.</param>
            <returns><c>true</c> if the specified parents is recursive; otherwise, <c>false</c>.</returns>
            <value><c>true</c> if this instance is recursive; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:TwinCAT.Ads.Internal.TcAdsSymbol.isSelfReference(System.Collections.Generic.IEnumerable{TwinCAT.Ads.ITcAdsSymbol5},TwinCAT.Ads.ITcAdsSymbol5)">
            <summary>
            Determines whether the specified Symbol is a self reference.
            </summary>
            <param name="parents">The parents.</param>
            <param name="subSymbol">The sub symbol.</param>
            <returns><c>true</c> if [is self reference] [the specified parents]; otherwise, <c>false</c>.</returns>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsSymbol.AttributeCount">
            <summary>
            Gets the attribute count of the <see cref="T:TwinCAT.Ads.ITcAdsSymbol" />
            </summary>
            <value>The attribute count.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsSymbol.Attributes">
            <summary>
            Gets the attributes of the <see cref="T:TwinCAT.Ads.ITcAdsSymbol" />
            </summary>
            <value>The attributes.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsSymbol.IsArray">
            <summary>
            Gets a value indicating whether this instance is an array.
            </summary>
            <value><c>true</c> if this instance is an array; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsSymbol.ArrayDimensions">
            <summary>
            Gets the array dimensions.
            </summary>
            <value>The array dimensions.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsSymbol.ArrayInfos">
            <summary>
            Gets the collection of Array Infos.
            </summary>
            <value>The array infos.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsSymbol.IsEnum">
            <summary>
            Gets a value indicating whether this instance is an Enum data type
            </summary>
            <value><c>true</c> if this instance is enum; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsSymbol.IsStruct">
            <summary>
            Gets a value indicating whether this instance is an Struct data type
            </summary>
            <value><c>true</c> if this instance is struct; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsSymbol.HasRpcMethods">
            <summary>
            Gets a value indicating whether this instance has RPC methods (Struct types only)
            </summary>
            <value><c>true</c> if this instance has RPC methods; otherwise, <c>false</c>.</value>
            <remarks>The DataType (Structure) must be marked with the PlcAttribute 'TcRpcEnable' to enable RpcMethods, otherwise
            RpcMethods are not passed through to the ADS symbolic information.</remarks>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsSymbol.RpcMethods">
            <summary>
            Gets the RPC method descriptions
            </summary>
            <value>The RPC methods.</value>
            <remarks>The DataType (Structure) must be marked with the PlcAttribute 'TcRpcEnable' to enable RpcMethods, otherwise
            RpcMethods are not passed through to the ADS symbolic information.</remarks>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsSymbol.Category">
            <summary>
            Gets the Data Type Category
            </summary>
            <value>The category.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsSymbol.BitSize">
            <summary>
            Gets the size of this <see cref="T:TwinCAT.Ads.Internal.TcAdsSymbol"/> in bits.
            </summary>
            <value>The size of the bit.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsSymbol.ByteSize">
            <summary>
            Gets the (aligned) size of of the Type/Instance in Bytes
            </summary>
            <value>The size of the byte.</value>
        </member>
        <member name="T:TwinCAT.Ads.Internal.ITcAdsRawPrimitives">
            <summary>
            Internal Raw ADS interface
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRawPrimitives.ReadBoolean(System.UInt32,System.UInt32,System.Boolean,TwinCAT.Ads.AdsErrorCode@)">
            <summary>
            Reads a boolean value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="result">The result.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRawPrimitives.ReadUInt8(System.UInt32,System.UInt32,System.Boolean,TwinCAT.Ads.AdsErrorCode@)">
            <summary>
            Reads a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="result">The result.</param>
            <returns>System.Byte.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRawPrimitives.ReadInt8(System.UInt32,System.UInt32,System.Boolean,TwinCAT.Ads.AdsErrorCode@)">
            <summary>
            Reads a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="result">The result.</param>
            <returns>System.SByte.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRawPrimitives.ReadInt16(System.UInt32,System.UInt32,System.Boolean,TwinCAT.Ads.AdsErrorCode@)">
            <summary>
            Reads a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="result">The result.</param>
            <returns>System.Int16.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRawPrimitives.ReadUInt16(System.UInt32,System.UInt32,System.Boolean,TwinCAT.Ads.AdsErrorCode@)">
            <summary>
            Reads a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="result">The result.</param>
            <returns>System.UInt16.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRawPrimitives.ReadInt32(System.UInt32,System.UInt32,System.Boolean,TwinCAT.Ads.AdsErrorCode@)">
            <summary>
            Reads a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="result">The result.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRawPrimitives.ReadUInt32(System.UInt32,System.UInt32,System.Boolean,TwinCAT.Ads.AdsErrorCode@)">
            <summary>
            Reads a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="result">The result.</param>
            <returns>System.UInt32.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRawPrimitives.ReadInt64(System.UInt32,System.UInt32,System.Boolean,TwinCAT.Ads.AdsErrorCode@)">
            <summary>
            Reads a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="result">The result.</param>
            <returns>System.Int64.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRawPrimitives.ReadUInt64(System.UInt32,System.UInt32,System.Boolean,TwinCAT.Ads.AdsErrorCode@)">
            <summary>
            Reads a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="result">The result.</param>
            <returns>System.Int64.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRawPrimitives.ReadReal32(System.UInt32,System.UInt32,System.Boolean,TwinCAT.Ads.AdsErrorCode@)">
            <summary>
            Reads a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="result">The result.</param>
            <returns>System.Single.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRawPrimitives.ReadReal64(System.UInt32,System.UInt32,System.Boolean,TwinCAT.Ads.AdsErrorCode@)">
            <summary>
            Reads a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="result">The result.</param>
            <returns>System.Double.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRawPrimitives.ReadString(System.UInt32,System.UInt32,System.Int32,System.Text.Encoding,System.Boolean,TwinCAT.Ads.AdsErrorCode@)">
            <summary>
            Reads a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="characters">The characters.</param>
            <param name="encoding">The encoding.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="result">The result.</param>
            <returns>System.String.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRawPrimitives.ReadString(System.Int32,System.Int32,System.Text.Encoding,System.Boolean,TwinCAT.Ads.AdsErrorCode@)">
            <summary>
            Reads a value.
            </summary>
            <param name="variableHandle">The Variable handle.</param>
            <param name="characters">The lneght of the string.</param>
            <param name="encoding">The encoding.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="result">The result.</param>
            <returns>System.String.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRawPrimitives.WriteString(System.UInt32,System.UInt32,System.String,System.Int32,System.Text.Encoding,System.Boolean)">
            <summary>
            Reads a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="str">The string.</param>
            <param name="characters">The characters.</param>
            <param name="encoding">The encoding.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>System.String.</returns>
            <remarks>ATTENTION: Potentially this method is unsafe because following data can be overwritten
            after the string symbol. Please be sure to specify the string length lower than the string size
            reserved within the process image!</remarks>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRawPrimitives.WriteString(System.Int32,System.String,System.Int32,System.Text.Encoding,System.Boolean)">
            <summary>
            Reads a value.
            </summary>
            <param name="variableHandle">The Variable handle.</param>
            <param name="str">The string.</param>
            <param name="characters">The characters.</param>
            <param name="encoding">The encoding.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>System.String.</returns>
            <remarks>ATTENTION: Potentially this method is unsafe because following data can be overwritten
            after the string symbol. Please be sure to specify the string length lower than the string size
            reserved within the process image!</remarks>
        </member>
        <member name="T:TwinCAT.Ads.Internal.ITcAdsRawAny">
            <summary>
            Internal Raw ADS interface
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRawAny.ReadStruct(System.UInt32,System.UInt32,System.Type,System.Boolean,TwinCAT.Ads.AdsErrorCode@)">
            <summary>
            Reads the structure value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="structureType">Type of the structure.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="result">The result.</param>
            <returns>System.Object.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRawAny.ReadAny(System.UInt32,System.UInt32,System.Type,System.Int32[],System.Boolean,System.Object@)">
            <summary>
            Reads a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="type">The type.</param>
            <param name="args">The arguments.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="value">The value.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRawAny.ReadAny(System.UInt32,System.UInt32,System.Type,System.Boolean,System.Object@)">
            <summary>
            Reads a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="type">The type.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="value">The value.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRawAny.ReadAny(System.Int32,System.Type,System.Int32[],System.Boolean,System.Object@)">
            <summary>
            Reads a value.
            </summary>
            <param name="variableHandle">The variable handle.</param>
            <param name="type">The type.</param>
            <param name="args">The arguments.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="value">The value.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRawAny.ReadAny(System.Int32,System.Type,System.Boolean,System.Object@)">
            <summary>
            Reads a value.
            </summary>
            <param name="variableHandle">The variable handle.</param>
            <param name="type">The type.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="value">The value.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRawAny.WriteAny(System.UInt32,System.UInt32,System.Object,System.Int32[],System.Boolean)">
            <summary>
            Writes a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="value">The value.</param>
            <param name="args">The arguments.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRawAny.WriteAny(System.UInt32,System.UInt32,System.Object,System.Boolean)">
            <summary>
            Writes a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="value">The value.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRawAny.WriteAny(System.Int32,System.Object,System.Int32[],System.Boolean)">
            <summary>
            Writes a value.
            </summary>
            <param name="variableHandle">The variable handle.</param>
            <param name="value">The value.</param>
            <param name="args">The arguments.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRawAny.WriteAny(System.Int32,System.Object,System.Boolean)">
            <summary>
            Writes a value.
            </summary>
            <param name="variableHandle">The variable handle.</param>
            <param name="value">The value.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRawAny.Write(System.UInt32,System.UInt32,System.Boolean,System.Boolean)">
            <summary>
            Writes a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="val">if set to <c>true</c> [value].</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRawAny.Write(System.UInt32,System.UInt32,System.SByte,System.Boolean)">
            <summary>
            Writes a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="val">The value.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRawAny.Write(System.UInt32,System.UInt32,System.Byte,System.Boolean)">
            <summary>
            Writes a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="val">The value.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRawAny.Write(System.UInt32,System.UInt32,System.Int16,System.Boolean)">
            <summary>
            Writes a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="val">The value.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRawAny.Write(System.UInt32,System.UInt32,System.UInt16,System.Boolean)">
            <summary>
            Writes a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="val">The value.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRawAny.Write(System.UInt32,System.UInt32,System.Int32,System.Boolean)">
            <summary>
            Writes a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="val">The value.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRawAny.Write(System.UInt32,System.UInt32,System.UInt32,System.Boolean)">
            <summary>
            Writes a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="val">The value.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRawAny.Write(System.UInt32,System.UInt32,System.Int64,System.Boolean)">
            <summary>
            Writes a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="val">The value.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRawAny.Write(System.UInt32,System.UInt32,System.Single,System.Boolean)">
            <summary>
            Writes a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="val">The value.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRawAny.Write(System.UInt32,System.UInt32,System.Double,System.Boolean)">
            <summary>
            Writes a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="val">The value.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRawAny.Write(System.UInt32,System.UInt32,System.String,System.Int32,System.Text.Encoding,System.Boolean)">
            <summary>
            Writes a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="val">The value.</param>
            <param name="characters">The characters.</param>
            <param name="encoding">The encoding.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRawAny.Write(System.UInt32,System.UInt32,System.Object,System.Boolean)">
            <summary>
            Writes a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="structure">The structure.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="T:TwinCAT.Ads.Internal.ITcAdsRaw">
            <summary>
            Internal Raw ADS interface
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRaw.Read(System.UInt32,System.UInt32,System.Int32,System.Int32,System.Byte[],System.Boolean,System.Int32@)">
            <summary>
            Reads the data from specified index group.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length of data buffer.</param>
            <param name="data">The data buffer</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="dataRead">Number of bytes read.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRaw.Write(System.UInt32,System.UInt32,System.Int32,System.Int32,System.Byte[],System.Boolean)">
            <summary>
            Writes the data / Value to the specified address.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length.</param>
            <param name="data">The data.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRaw.ReadWrite(System.UInt32,System.UInt32,System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32,System.Byte[],System.Boolean,System.Int32@)">
            <summary>
            Read/Writes data to/from the specified address.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="rdOffset">The rd offset.</param>
            <param name="rdLength">Length of the rd.</param>
            <param name="rdData">The rd data.</param>
            <param name="wrOffset">The wr offset.</param>
            <param name="wrLength">Length of the wr.</param>
            <param name="wrData">The wr data.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="dataRead">The data read.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRaw.ReadWrite(System.Int32,System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32,System.Byte[],System.Boolean,System.Int32@)">
            <summary>
            Read/Writes data to/from the specified address.
            </summary>
            <param name="variableHandle">The variable handle.</param>
            <param name="rdOffset">The rd offset.</param>
            <param name="rdLength">Length of the rd.</param>
            <param name="rdData">The rd data.</param>
            <param name="wrOffset">The wr offset.</param>
            <param name="wrLength">Length of the wr.</param>
            <param name="wrData">The wr data.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="dataRead">The data read.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRaw.ReadState(System.Boolean,TwinCAT.Ads.StateInfo@)">
            <summary>
            Reads the ADS state.
            </summary>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="stateInfo">The state information.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRaw.AmsPortEnabled(System.Boolean,System.Boolean@)">
            <summary>
            Determines, whether the AmsPort is enabled.
            </summary>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="enabled">if set to <c>true</c> [enabled].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRaw.Read(System.UInt32,System.UInt32,System.Int32,System.Void*,System.Boolean,System.Int32@)">
            <summary>
            Reads a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="length">The length.</param>
            <param name="data">The data.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="dataRead">The data read.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRaw.Write(System.UInt32,System.UInt32,System.Int32,System.Void*,System.Boolean)">
            <summary>
            Writes a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="length">The length.</param>
            <param name="data">The data.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRaw.ReadWrite(System.UInt32,System.UInt32,System.Int32,System.Void*,System.Int32,System.Void*,System.Boolean,System.Int32@)">
            <summary>
            Writes a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="readLength">Length of the read.</param>
            <param name="readData">The read data.</param>
            <param name="writeLength">Length of the write.</param>
            <param name="writeData">The write data.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="dataRead">The data read.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRaw.Read(System.Int32,System.Int32,System.Int32,System.Byte[],System.Boolean,System.Int32@)">
            <summary>
            Reads the specified variable handle.
            </summary>
            <param name="variableHandle">The variable handle.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length.</param>
            <param name="data">The data.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="dataRead">The data read.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRaw.Write(System.Int32,System.Int32,System.Int32,System.Byte[],System.Boolean)">
            <summary>
            Writes the specified variable handle.
            </summary>
            <param name="variableHandle">The variable handle.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length.</param>
            <param name="data">The data.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRaw.TryCreateVariableHandle(System.String,System.Boolean,System.Int32@)">
            <summary>
            Generates a unique handle for an ADS variable.
            </summary>
            <param name="variableName">Name of the ADS variable</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="handle">The handle.</param>
            <returns>The AdsErrorCode.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRaw.TryDeleteVariableHandle(System.Int32,System.Boolean)">
            <summary>
            Releases the handle of a ADS variable again.
            </summary>
            <param name="variableHandle">Handle of the ADS variable</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRaw.WriteControl(TwinCAT.Ads.StateInfo,System.Byte[],System.Int32,System.Int32,System.Boolean)">
            <summary>
            Writes the state
            </summary>
            <param name="stateInfo">The state information.</param>
            <param name="data">The data.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsRaw.ReadHandleByName(System.UInt32,System.UInt32,System.String,System.Boolean,System.UInt32@)">
            <summary>
            Read/Writes data to/from the specified address.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="symbolPath">The wr value.</param>
            <param name="bThrowAdsException">if set to <c>true</c> [b throw ads exception].</param>
            <param name="rdValue">The rd value.</param>
            <returns>AdsErrorCode.</returns>
            <remarks>This is often used to read SymbolHandleByName, because it as the string as in parameter and the
            uint (Handle) as out parameter.</remarks>
        </member>
        <member name="P:TwinCAT.Ads.Internal.ITcAdsRaw.SymbolPathEncoding">
            <summary>
            Gets the SymbolPath encoding of the addressed target systsem project
            </summary>
            <value>The symbol path encoding.</value>
        </member>
        <member name="T:TwinCAT.Ads.Internal.IAdsErrorInjector">
            <summary>
            Interface IAdsErrorInjector (for unit testing purposes)
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.IAdsErrorInjector.InjectError(TwinCAT.Ads.AdsErrorCode,System.Boolean)">
            <summary>
            Injects an error (for unit testing purposes)
            </summary>
            <param name="error">The error.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.IAdsErrorInjector.InjectSymbolVersionChanged">
            <summary>
            Injection of an SymbolVersionChanged event (just for Unit-Testing purposes)
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.Internal.ITcAdsConnectionHandler">
            <summary>
            Interface for handling connection state changes
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsConnectionHandler.OnConnected">
            <summary>
            Called when the Communication has been established.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsConnectionHandler.OnBeforeDisconnected">
            <summary>
            Called when the communication is shutdown.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.ITcAdsConnectionHandler.OnDisconnected">
            <summary>
            Called when the communication is shutdown.
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.Internal.AdsRawInterceptor">
            <summary>
            Interceptor object for <see cref="T:TwinCAT.Ads.Internal.ITcAdsRaw" /> communication calls.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsRawInterceptor._inner">
            <summary>
            Inner object implementing the communication calls which are wrapped by this interceptor (interception target)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsRawInterceptor._handler">
            <summary>
            The Interceptor handler.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.#ctor(TwinCAT.Ads.Internal.ITcAdsRaw,TwinCAT.Ads.ICommunicationInterceptor)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Internal.AdsRawInterceptor"/> class.
            </summary>
            <param name="inner">Intercepted target</param>
            <param name="handler">Interceptor handler</param>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.Invoke(System.Func{TwinCAT.Ads.AdsErrorCode})">
            <summary>
            Invokes the specified delegate.
            </summary>
            <param name="del">The delegate.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.Invoke(System.Action,TwinCAT.Ads.AdsErrorCode@)">
            <summary>
            Invokes the specified delegate.
            </summary>
            <param name="del">The delegate.</param>
            <param name="error">The error.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="F:TwinCAT.Ads.Internal.AdsRawInterceptor._rm">
            <summary>
            Recource manager.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.ThrowAdsException(TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Raises ADS exceptions dependent on error code.
            </summary>
            <param name="adsErrorCode">The ADS error code.</param>
            <exception cref="T:TwinCAT.Ads.AdsErrorException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.CheckResult(System.Boolean,TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Checks the result code and throws exception if requested.
            </summary>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="result">The code.</param>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.AmsPortEnabled(System.Boolean,System.Boolean@)">
            <summary>
            Determines, whether the AmsPort is enabled.
            </summary>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="enabled">if set to <c>true</c> [enabled].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.TryCreateVariableHandle(System.String,System.Boolean,System.Int32@)">
            <summary>
            Generates a unique handle for an ADS variable.
            </summary>
            <param name="variableName">Name of the ADS variable</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="handle">The handle.</param>
            <returns>The ADS Error Code</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.TryDeleteVariableHandle(System.Int32,System.Boolean)">
            <summary>
            Releases the handle of a ADS variable again.
            </summary>
            <param name="variableHandle">Handle of the ADS variable</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.Read(System.Int32,System.Int32,System.Int32,System.Byte[],System.Boolean,System.Int32@)">
            <summary>
            Reads the specified variable handle.
            </summary>
            <param name="variableHandle">The variable handle.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length.</param>
            <param name="data">The data.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="dataRead">The data read.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.Read(System.UInt32,System.UInt32,System.Int32,System.Void*,System.Boolean,System.Int32@)">
            <summary>
            Reads a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="length">The length.</param>
            <param name="data">The data.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="dataRead">The data read.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.Read(System.UInt32,System.UInt32,System.Int32,System.Int32,System.Byte[],System.Boolean,System.Int32@)">
            <summary>
            Reads the data from specified index group.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length of data buffer.</param>
            <param name="data">The data buffer</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="dataRead">Number of bytes read.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.ReadAny(System.UInt32,System.UInt32,System.Type,System.Boolean,System.Object@)">
            <summary>
            Reads a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="type">The type.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="value">The value.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.ReadAny(System.UInt32,System.UInt32,System.Type,System.Int32[],System.Boolean,System.Object@)">
            <summary>
            Reads a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="type">The type.</param>
            <param name="args">The arguments.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="value">The value.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.ReadAny(System.Int32,System.Type,System.Int32[],System.Boolean,System.Object@)">
            <summary>
            Reads a value.
            </summary>
            <param name="variableHandle">The variable handle.</param>
            <param name="type">The type.</param>
            <param name="args">The arguments.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="value">The value.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.ReadAny(System.Int32,System.Type,System.Boolean,System.Object@)">
            <summary>
            Reads a value.
            </summary>
            <param name="variableHandle">The variable handle.</param>
            <param name="type">The type.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="value">The value.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.ReadBoolean(System.UInt32,System.UInt32,System.Boolean,TwinCAT.Ads.AdsErrorCode@)">
            <summary>
            Reads a boolean value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="result">The result.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.ReadInt16(System.UInt32,System.UInt32,System.Boolean,TwinCAT.Ads.AdsErrorCode@)">
            <summary>
            Reads a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="result">The result.</param>
            <returns>System.Int16.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.ReadInt32(System.UInt32,System.UInt32,System.Boolean,TwinCAT.Ads.AdsErrorCode@)">
            <summary>
            Reads a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="result">The result.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.ReadInt64(System.UInt32,System.UInt32,System.Boolean,TwinCAT.Ads.AdsErrorCode@)">
            <summary>
            Reads a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="result">The result.</param>
            <returns>System.Int64.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.ReadInt8(System.UInt32,System.UInt32,System.Boolean,TwinCAT.Ads.AdsErrorCode@)">
            <summary>
            Reads a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="result">The result.</param>
            <returns>System.SByte.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.ReadReal32(System.UInt32,System.UInt32,System.Boolean,TwinCAT.Ads.AdsErrorCode@)">
            <summary>
            Reads a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="result">The result.</param>
            <returns>System.Single.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.ReadReal64(System.UInt32,System.UInt32,System.Boolean,TwinCAT.Ads.AdsErrorCode@)">
            <summary>
            Reads a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="result">The result.</param>
            <returns>System.Double.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.ReadState(System.Boolean,TwinCAT.Ads.StateInfo@)">
            <summary>
            Read the ADS state.
            </summary>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="stateInfo">The state information.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.WriteControl(TwinCAT.Ads.StateInfo,System.Byte[],System.Int32,System.Int32,System.Boolean)">
            <summary>
            Writes the state
            </summary>
            <param name="stateInfo">The state information.</param>
            <param name="data">The data.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.ReadString(System.UInt32,System.UInt32,System.Int32,System.Text.Encoding,System.Boolean,TwinCAT.Ads.AdsErrorCode@)">
            <summary>
            Reads a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="characters">The characters.</param>
            <param name="encoding">The encoding.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="result">The result.</param>
            <returns>System.String.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.ReadString(System.Int32,System.Int32,System.Text.Encoding,System.Boolean,TwinCAT.Ads.AdsErrorCode@)">
            <summary>
            Reads a value.
            </summary>
            <param name="variableHandle">The variable handle.</param>
            <param name="characters">The characters.</param>
            <param name="encoding">The encoding.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="result">The result.</param>
            <returns>System.String.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.ReadStruct(System.UInt32,System.UInt32,System.Type,System.Boolean,TwinCAT.Ads.AdsErrorCode@)">
            <summary>
            Reads the structure value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="structureType">Type of the structure.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="result">The result.</param>
            <returns>System.Object.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.ReadUInt16(System.UInt32,System.UInt32,System.Boolean,TwinCAT.Ads.AdsErrorCode@)">
            <summary>
            Reads a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="result">The result.</param>
            <returns>System.UInt16.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.ReadUInt32(System.UInt32,System.UInt32,System.Boolean,TwinCAT.Ads.AdsErrorCode@)">
            <summary>
            Reads a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="result">The result.</param>
            <returns>System.UInt32.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.ReadUInt64(System.UInt32,System.UInt32,System.Boolean,TwinCAT.Ads.AdsErrorCode@)">
            <summary>
            Reads a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="result">The result.</param>
            <returns>System.Int64.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.ReadUInt8(System.UInt32,System.UInt32,System.Boolean,TwinCAT.Ads.AdsErrorCode@)">
            <summary>
            Reads a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="result">The result.</param>
            <returns>System.Byte.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.ReadHandleByName(System.UInt32,System.UInt32,System.String,System.Boolean,System.UInt32@)">
            <summary>
            Reads the write.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="wrValue">The wr value.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="value">The value.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="P:TwinCAT.Ads.Internal.AdsRawInterceptor.TwinCAT#Ads#Internal#ITcAdsRaw#SymbolPathEncoding">
            <summary>
            Gets the SymbolPath encoding of the addressed target system project
            </summary>
            <value>The symbol path encoding.</value>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.ReadWrite(System.UInt32,System.UInt32,System.Int32,System.Void*,System.Int32,System.Void*,System.Boolean,System.Int32@)">
            <summary>
            Writes a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="readLength">Length of the read.</param>
            <param name="readData">The read data.</param>
            <param name="writeLength">Length of the write.</param>
            <param name="writeData">The write data.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="dataRead">The data read.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.ReadWrite(System.UInt32,System.UInt32,System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32,System.Byte[],System.Boolean,System.Int32@)">
            <summary>
            Read/Writes data to/from the specified address.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="rdOffset">The rd offset.</param>
            <param name="rdLength">Length of the rd.</param>
            <param name="rdData">The rd data.</param>
            <param name="wrOffset">The wr offset.</param>
            <param name="wrLength">Length of the wr.</param>
            <param name="wrData">The wr data.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="dataRead">The data read.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.ReadWrite(System.Int32,System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32,System.Byte[],System.Boolean,System.Int32@)">
            <summary>
            Read/Writes data to/from the specified address.
            </summary>
            <param name="variableHandle">The variable handle.</param>
            <param name="rdOffset">The rd offset.</param>
            <param name="rdLength">Length of the rd.</param>
            <param name="rdData">The rd data.</param>
            <param name="wrOffset">The wr offset.</param>
            <param name="wrLength">Length of the wr.</param>
            <param name="wrData">The wr data.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <param name="dataRead">The data read.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.Write(System.UInt32,System.UInt32,System.UInt32,System.Boolean)">
            <summary>
            Writes a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="val">The value.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.Write(System.UInt32,System.UInt32,System.Int64,System.Boolean)">
            <summary>
            Writes a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="val">The value.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.Write(System.UInt32,System.UInt32,System.Single,System.Boolean)">
            <summary>
            Writes a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="val">The value.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.Write(System.UInt32,System.UInt32,System.Double,System.Boolean)">
            <summary>
            Writes a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="val">The value.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.Write(System.UInt32,System.UInt32,System.Object,System.Boolean)">
            <summary>
            Writes the specified index group.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="val">The value.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.Write(System.UInt32,System.UInt32,System.Int32,System.Boolean)">
            <summary>
            Writes a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="val">The value.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.Write(System.UInt32,System.UInt32,System.Byte,System.Boolean)">
            <summary>
            Writes a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="val">The value.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.Write(System.UInt32,System.UInt32,System.Int16,System.Boolean)">
            <summary>
            Writes a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="val">The value.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.Write(System.UInt32,System.UInt32,System.UInt16,System.Boolean)">
            <summary>
            Writes a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="val">The value.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.Write(System.UInt32,System.UInt32,System.SByte,System.Boolean)">
            <summary>
            Writes a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="val">The value.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.Write(System.UInt32,System.UInt32,System.Boolean,System.Boolean)">
            <summary>
            Writes a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="val">if set to <c>true</c> [value].</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.Write(System.Int32,System.Int32,System.Int32,System.Byte[],System.Boolean)">
            <summary>
            Writes the specified variable handle.
            </summary>
            <param name="variableHandle">The variable handle.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length.</param>
            <param name="data">The data.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.Write(System.UInt32,System.UInt32,System.Int32,System.Void*,System.Boolean)">
            <summary>
            Writes a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="length">The length.</param>
            <param name="data">The data.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.Write(System.UInt32,System.UInt32,System.String,System.Int32,System.Text.Encoding,System.Boolean)">
            <summary>
            Writes a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="val">The value.</param>
            <param name="characters">The characters.</param>
            <param name="encoding">The encoding.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.Write(System.UInt32,System.UInt32,System.Int32,System.Int32,System.Byte[],System.Boolean)">
            <summary>
            Writes the data / Value to the specified address.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length.</param>
            <param name="data">The data.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.WriteAny(System.UInt32,System.UInt32,System.Object,System.Boolean)">
            <summary>
            Writes a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="value">The value.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.WriteAny(System.UInt32,System.UInt32,System.Object,System.Int32[],System.Boolean)">
            <summary>
            Writes a value.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="value">The value.</param>
            <param name="args">The arguments.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.WriteAny(System.Int32,System.Object,System.Int32[],System.Boolean)">
            <summary>
            Writes a value.
            </summary>
            <param name="variableHandle">The variable handle.</param>
            <param name="value">The value.</param>
            <param name="args">The arguments.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.WriteAny(System.Int32,System.Object,System.Boolean)">
            <summary>
            Writes a value.
            </summary>
            <param name="variableHandle">The variable handle.</param>
            <param name="value">The value.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.WriteString(System.UInt32,System.UInt32,System.String,System.Int32,System.Text.Encoding,System.Boolean)">
            <summary>
            Writes the string (Potentially unsafe!)
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="str">The string.</param>
            <param name="characters">The characters.</param>
            <param name="encoding">The encoding.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>System.String.</returns>
            <exception cref="T:System.NotImplementedException"></exception>
            <remarks>ATTENTION: Potentially this method is unsafe because following data can be overwritten
            after the string symbol. Please be sure to specify the string length lower than the string size
            reserved within the process image!</remarks>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.WriteString(System.Int32,System.String,System.Int32,System.Text.Encoding,System.Boolean)">
            <summary>
            Writes the string (Potentially unsafe!)
            </summary>
            <param name="variableHandle">The variable handle.</param>
            <param name="str">The string.</param>
            <param name="characters">The characters.</param>
            <param name="encoding">The encoding.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>System.String.</returns>
            <exception cref="T:System.NotImplementedException"></exception>
            <remarks>ATTENTION: Potentially this method is unsafe because following data can be overwritten
            after the string symbol. Please be sure to specify the string length lower than the string size
            reserved within the process image!</remarks>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.OnConnected">
            <summary>
            Called when the Communication has been established.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.OnDisconnected">
            <summary>
            Called when the communication is shutdown.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.AdsRawInterceptor.InjectError(TwinCAT.Ads.AdsErrorCode,System.Boolean)">
            <summary>
            Injects an error (for unit testing purposes)
            </summary>
            <param name="error">The error.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsSyncPort.ClientCycle">
            <summary>
            Gets or sets a value indicating whether Notifications should be polled from the Client side.
            </summary>
            <value><c>true</c> if [client cycle]; otherwise, <c>false</c>.</value>
            <exception cref="T:TwinCAT.Ads.AdsException">Cannot change ClientCycle value while notifications are active.</exception>
            <exclude/>
            <remarks>The ClientCycle moves the creation of Notifications from the Server side to the clients side.
            That means that a Timer (synchronous or asynchronous (BackgroundThread)) will trigger on the client side
            to poll the registered Notification/Variable handles for their values. The polling is done optimized by a
            SumRead command.
            
            If ClientCycle is set to false, the ADS that has been addressed writes the data cyclically
            to the TcAdsClient object. The smallest possible time is the cycle time of the ADS device.
            For the PLC, this is the task cycle time. The cycle time can be handled in 1 ms steps.
            If you enter 0 ms as the cycle time, then the data is sent to the TcAdsClient object with
            every cycle of the ADS device task.
            If ClientCycle is set to true, the TcAdsClient object polls the variables cyclically.
            The timer that initiates the read / write runs in Windows NT/2000 user mode, which means
            that the time behavior strongly depends on the loading of the system.
            Under CE Systems this property is set to <b>TRUE</b> by default.
            Full .NET Framework has a default of <b>FALSE</b>.
             
            The ClientCycle has the following advantages/disadvantages:
            
            Advantages:
            <list type="bullet">
            <item><description>Advantages</description></item>
            <item><description>Can be faster on slow WindowsCE targets to create notifications.</description></item>
            <item><description>More notifications are supported.</description></item>
            <item><description>Realtime is less affected.</description></item>
            </list>
            
            Disadvantages:
            <list type="bullet">
            <item><description>On (non-CE) targets slower than ServerCycle notifications (standard)</description></item>
            <item><description>An extra network round trip for the SumRead polling.</description></item>
            <item>Notification Timing strongly depends on the workload of the (client) system</item>
            </list>
            This is only a workaround for CE targets and a large number of Notifications that cannot be supported from
            ServerCycle notifications (standard).
            </remarks>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcAdsSyncPort.SymbolPathEncoding">
            <summary>
            Gets the SymbolPath encoding of the addressed target system project
            </summary>
            <value>The symbol path encoding.</value>
        </member>
        <member name="M:TwinCAT.Ads.Internal.TcAdsSyncPort.ReadHandleByName(System.UInt32,System.UInt32,System.String,System.Boolean,System.UInt32@)">
            <summary>
            Reads the name of the handle by name.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="wrValue">The wr value.</param>
            <param name="bThrowAdsException">if set to <c>true</c> [b throw ads exception].</param>
            <param name="rdValue">The rd value.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.TcAdsSyncPort.InjectError(TwinCAT.Ads.AdsErrorCode,System.Boolean)">
            <summary>
            Injects an error (for unit testing purposes)
            </summary>
            <param name="error">The error.</param>
            <param name="throwAdsException">if set to <c>true</c> [throw ads exception].</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Internal.TcAdsSyncPort.InjectSymbolVersionChanged">
            <summary>
            Injection of an SymbolVersionChanged event (just for Unit-Testing purposes)
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Internal.TcAdsSyncPort.CreateNotificationMngt">
            <summary>
            Creates the Notification management class
            </summary>
            <returns>NotificationMngt.</returns>
            <remarks>The Notification Management needs a different handling on windows CE devices.
            The Server side Notifications have poor performance on specific CE Targets (CX 9000, ref RichardK). Therefore
            a simulation of Notifications will be implemented on client side.
            </remarks>
        </member>
        <member name="T:TwinCAT.Ads.Internal.TcLocalSystem">
            <summary>
            Class TcLocalSystem. This class cannot be inherited.
            </summary>
            <seealso cref="T:TwinCAT.Ads.Internal.TcAdsDllWrapper" />
        </member>
        <member name="F:TwinCAT.Ads.Internal.TcLocalSystem._routerNotificationInterval">
            <summary>
            The interval of the <see cref="T:TwinCAT.Ads.Internal.ThreadTimer"/> 
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.TcLocalSystem._routerPort">
            <summary>
            Indicates, that a router port is opened (using the ADS Router protocol instead of TCP/IP)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.TcLocalSystem._routerNotificationsRegistered">
            <summary>
            Indicates, that router notifications are registered (only when using the ADS Router protocol)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Internal.TcLocalSystem._routerNotificationTimer">
            <summary>
            Router Notification Timer
            </summary>
            <remarks>Polls the RouterNotifications in intervals specified by TcLocalSystem._interval.
            This can be a a <see cref="T:TwinCAT.Ads.Internal.WindowsFormTimer"/> (CE Platform) or a <see cref="T:TwinCAT.Ads.Internal.ThreadTimer"/> (all other platforms) 
            </remarks>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcLocalSystem.NetId">
            <summary>
            Gets the net identifier.
            </summary>
            <value>The net identifier.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcLocalSystem.Port">
            <summary>
            Gets the port.
            </summary>
            <value>The port.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcLocalSystem.RouterNotificationsRegistered">
            <summary>
            Gets a value indicating whether router notifications are available.
            </summary>
            <value><c>true</c> if [router notifications registered]; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.Internal.TcLocalSystem.RouterState">
            <summary>
            Gets the state of the router.
            </summary>
            <value>The state of the router.</value>
        </member>
        <member name="M:TwinCAT.Ads.Internal.TcLocalSystem.UpdateRouterState">
            <summary>
            Updates the state of the router.
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.ResMan">
            <summary>
            Resource Manager (static)
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.ResMan.GetString(System.String,TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Gets the error string of the specified <see cref="T:TwinCAT.Ads.AdsErrorCode"/>.
            </summary>
            <param name="message">The message.</param>
            <param name="adsErrorCode">The ads error code.</param>
            <returns>System.String.</returns>
        </member>
        <member name="P:TwinCAT.Ads.ResMan.ResourceManager">
            <summary>
            Gets the (internal) resource manager.
            </summary>
            <value>The resource manager.</value>
        </member>
        <member name="M:TwinCAT.Ads.ResMan.GetString(System.String)">
            <summary>
            Gets the string.
            </summary>
            <param name="name">The name.</param>
            <returns>System.String.</returns>
        </member>
        <member name="T:TwinCAT.Ads.AdsTimeoutSetter">
            <summary>
            Helper class for overwrite the Timeout on TcAdsClient temporarily.
            </summary>
            <seealso cref="T:System.IDisposable" />
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.AdsTimeoutSetter.#ctor(TwinCAT.IConnection,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.AdsTimeoutSetter"/> class.
            </summary>
            <param name="connection">The connection.</param>
            <param name="timeout">The timeout.</param>
            <exception cref="T:System.ArgumentNullException">client</exception>
        </member>
        <member name="M:TwinCAT.Ads.AdsTimeoutSetter.Finalize">
            <summary>
            Finalizes an instance of the <see cref="T:TwinCAT.Ads.AdsTimeoutSetter"/> class.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsTimeoutSetter._disposed">
            <summary>
            Disposed flag
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AdsTimeoutSetter.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AdsTimeoutSetter.Dispose(System.Boolean)">
            <summary>
            Releases unmanaged and - optionally - managed resources.
            </summary>
            <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
        </member>
        <member name="T:TwinCAT.Ads.FailFastHandlerResetter">
            <summary>
            Class FailFastHandlerResetter.
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.FailFastHandlerResetter.Reset(TwinCAT.Ads.AdsConnection)">
            <summary>
            Resets the <see cref="T:TwinCAT.Ads.IFailFastHandler"/> for the specified connection.
            </summary>
            <param name="connection">The connection.</param>
            <exception cref="T:System.ArgumentNullException">connection</exception>
            <remarks>This can be used to reset the FailFast errors state before timeout.
            </remarks>
        </member>
        <member name="T:TwinCAT.Ads.PreventConnectionRejectedError">
            <summary>
            Helper class for preventing ConnectionRejected Errors (preventing the Error Trip on WSA_ConnRefused
            </summary>
            <exclude/>
            <seealso cref="T:System.IDisposable" />
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.PreventConnectionRejectedError.#ctor(TwinCAT.Ads.AdsConnection)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.AdsTimeoutSetter"/> class.
            </summary>
            <param name="connection">The connection.</param>
            <exception cref="T:System.ArgumentNullException">client</exception>
        </member>
        <member name="M:TwinCAT.Ads.PreventConnectionRejectedError.Finalize">
            <summary>
            Finalizes an instance of the <see cref="T:TwinCAT.Ads.AdsTimeoutSetter"/> class.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.PreventConnectionRejectedError._disposed">
            <summary>
            Disposed flag
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.PreventConnectionRejectedError.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.PreventConnectionRejectedError.Dispose(System.Boolean)">
            <summary>
            Releases unmanaged and - optionally - managed resources.
            </summary>
            <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
        </member>
        <member name="T:TwinCAT.Ads.AdsSessionProvider">
            <summary>
            ADS Session Provider class.
            </summary>
            <seealso cref="T:TwinCAT.SessionProvider`3" />
            <Exclude/>
        </member>
        <member name="M:TwinCAT.Ads.AdsSessionProvider.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.AdsSessionProvider"/> class.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.AdsSessionProvider.Name">
            <summary>
            Gets the name of the SessionProvider
            </summary>
            <value>The name.</value>
        </member>
        <member name="M:TwinCAT.Ads.AdsSessionProvider.Create(System.Object,TwinCAT.ISessionSettings)">
            <summary>
            Creates the Session with address and communication settings.
            </summary>
            <param name="address">The address.</param>
            <param name="settings">The settings.</param>
            <returns>ISession.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsSessionProvider.Create(TwinCAT.Ads.AmsAddress,TwinCAT.Ads.SessionSettings)">
            <summary>
            Creates the specified address.
            </summary>
            <param name="address">The address.</param>
            <param name="settings">The settings.</param>
            <returns>S.</returns>
        </member>
        <member name="T:TwinCAT.Ads.SumCommand.ISumCommand">
            <summary>
            Interface for SumCommands (Combined commands)
            </summary>
            <remarks>
            ADS offers powerful and fast communication to exchange any kind of information. It's possible to read single variables
            or complete arrays and structures with each one single ADS-API call.
            The <see cref="T:TwinCAT.Ads.SumCommand.ISumCommand">ADS Sum Command</see> command offers to read with one singale ADS call multiple variables
            which are not structured within a linear memory.
            As a result the ADS caller application (like scada Systems etc.) can extremly speed up cyclic polling :
            Sample :
            <list type="bullet">
            <item><description>Until now : Polling 4000 single variables which are not in a linear area (like array / structure / fixed PLC address ) would cause 4000 single Ads-ReadReq with each 1-2 ms protocol time.
            As a result the scanning of these variables take 4000ms-8000ms.</description></item>
            <item><description>New Ads-Command allows to read multiple variables with one single ADS-ReadReq : 4000 single variables are handled with e.g. 8 single Ads-ReadReq (each call requesting 500 variables) with each 1-2 ms protocol time.
            As a result the scanning of these variables take just few 10ms.</description></item>
            </list>
            <b>REQUIREMENTS AND IMPORTANT LIMITATIONS:</b>
            Note that ADS is just a transport layer, but there could be important side effects. So read this requirements and take care on limitations:
            <list type="bullet">
            <item>
            <term><b>Version of target ADS Device</b></term>
            <description> - ADS itself is just the transport layer, but the requested ADS device has to support the ADS-Command.</description>
            </item>
            <item>
            <term><b>Bytes length of requested data</b></term>
            <description> - Requesting a large list of values from variables is fine, but the requested data of the Ads-response (the data-byte-length) have to pass the AMS Router (size by default a 2048kb)
            So the caller has to limit the requested variables based on calculation of requested data-byte-length.</description>
            </item>
            <item>
            <term><b>Number of Sub-ADS calls : Highly recommended to max. 500 !</b></term>
            <description> - If the PLC is processing one ADS request, it will completely work on this single ADS request BEFORE starting neyt PLC cycle.
            As a result one single ADS request with 200.000 sub-Ads-requests would cause that PLC would collect and copy 200.000 variables into one single ADS response, before starting next PLC.
            So this large number of ads-sub-commands will jitter the PLC execution !
            <b>We highly recommend to not request more than 500 Ads-Sub commands</b></description>
            </item>
            </list>
            </remarks>
        </member>
        <member name="P:TwinCAT.Ads.SumCommand.ISumCommand.Result">
            <summary>
            Gets teh <see cref="T:TwinCAT.Ads.AdsErrorCode"/> of the main SumCommand ADS Request
            </summary>
            <value>The result.</value>
        </member>
        <member name="P:TwinCAT.Ads.SumCommand.ISumCommand.SubResults">
            <summary>
            Gets the sub results of the single Sub Requests.
            </summary>
            <value>The sub results.</value>
        </member>
        <member name="P:TwinCAT.Ads.SumCommand.ISumCommand.Executed">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.Ads.SumCommand.ISumCommand"/> was already executed.
            </summary>
            <value><c>true</c> if executed; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.SumCommand.ISumCommand.Succeeded">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.Ads.SumCommand.ISumCommand"/> is succeeded.
            </summary>
            <value><c>true</c> if succeeded; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.SumCommand.ISumCommand.Failed">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.Ads.SumCommand.ISumCommand"/> failed.
            </summary>
            <value><c>true</c> if failed; otherwise, <c>false</c>.</value>
        </member>
        <member name="T:TwinCAT.Ads.SumCommand.SumCommand">
            <summary>
            Abstract base class for ADS Sum Commands.
            </summary>
            <exclude/>
        </member>
        <member name="T:TwinCAT.Ads.SumCommand.SumCommand.SumCommandMode">
            <summary>
            Enum SumCommandMode
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.SumCommand.SumCommand.SumCommandMode.Read">
            <summary>
            Sum Read command
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.SumCommand.SumCommand.SumCommandMode.Write">
            <summary>
            Sum Write command
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.SumCommand.SumCommand.SumCommandMode.ReadWrite">
            <summary>
            Sum ReadWrite command
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.SumCommand.SumCommand.SumCommandMode.ReadEx">
            <summary>
            ReadEx
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.SumCommand.SumCommand.SumCommandMode.ReadEx2">
            <summary>
            ReadEx2
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.SumCommand.SumCommand.SumCommandMode.AddDeviceNotification">
            <summary>
            AddDeviceNotification
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.SumCommand.SumCommand.SumCommandMode.DeleteDeviceNotification">
            <summary>
            Delete Device Notification
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.SumCommand.SumCommand.SumAccessMode">
            <summary>
            Enum SumAccessMode
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.SumCommand.SumCommand.SumAccessMode.IndexGroupIndexOffset">
            <summary>
            Access by IndexGroup / IndexOffset
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.SumCommand.SumCommand.SumAccessMode.ValueByHandle">
            <summary>
            Accesses a value by handle
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.SumCommand.SumCommand.SumAccessMode.ValueByName">
            <summary>
            Access a value by name
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.SumCommand.SumCommand.SumAccessMode.AquireHandleByName">
            <summary>
            Obsolete
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.SumCommand.SumCommand.SumAccessMode.AcquireHandleByName">
            <summary>
            Acquire handle by name
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.SumCommand.SumCommand.SumAccessMode.ReleaseHandle">
            <summary>
            Release handle
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.SumCommand.SumCommand.connection">
            <summary>
            The connection used for communication.
            </summary>
            <remarks>This can be the <seealso cref="T:TwinCAT.Ads.AdsConnection"/> or <see cref="T:TwinCAT.Ads.TcAdsClient"/> object.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumCommand.calcReadLength">
            <summary>
            Calculates the length of the complete read Stream (all Read data)
            </summary>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumCommand.calcWriteLength">
            <summary>
            Calculates the length of the complete write stream (all written data)
            </summary>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumCommand.MarshalSumReadHeader(System.UInt32,System.UInt32,System.Int32,System.IO.BinaryWriter)">
            <summary>
            Marshals the header information for a single Sum entity object (for a sum read)
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="bytes">The byte size of the date to Read or Write</param>
            <param name="writer">The writer.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumCommand.MarshalSumWriteHeader(System.UInt32,System.UInt32,System.Int32,System.IO.BinaryWriter)">
            <summary>
            Marshals the header information for a single Sum entity object (for a sum write)
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="bytes">The byte size of the date to Read or Write</param>
            <param name="writer">The writer.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumCommand.MarshalSumReadWriteHeader(System.UInt32,System.UInt32,System.Int32,System.Int32,System.IO.BinaryWriter)">
            <summary>
            Marshals the header information for a single Sum entity object (for a sum read/write)
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="readBytes">The read bytes.</param>
            <param name="writeBytes">The write bytes.</param>
            <param name="writer">The writer.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="F:TwinCAT.Ads.SumCommand.SumCommand.sumEntities">
            <summary>
            LIst of single entities that build up the SumCommand
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.SumCommand.SumCommand.mode">
            <summary>
            Sum Access Mode
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.SumCommand.SumCommand.commandMode">
            <summary>
            Sum Command Mode
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.SumCommand.SumCommand.ig">
            <summary>
            IndexGroup Used by the SumCommand
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.SumCommand.SumCommand.result">
            <summary>
            Sum command main result.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.SumCommand.SumCommand.Result">
            <summary>
            Gets the <see cref="T:TwinCAT.Ads.AdsErrorCode" /> of the main SumCommand ADS Request
            </summary>
            <value>The result.</value>
        </member>
        <member name="F:TwinCAT.Ads.SumCommand.SumCommand.subResults">
            <summary>
            Sum Command sub results.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.SumCommand.SumCommand.SubResults">
            <summary>
            Gets the sub results of the single Sub Requests.
            </summary>
            <value>The sub results.</value>
        </member>
        <member name="F:TwinCAT.Ads.SumCommand.SumCommand.executed">
            <summary>
            Indicates, that the <see cref="T:TwinCAT.Ads.SumCommand.SumCommand"/> has executed already one time.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.SumCommand.SumCommand.Executed">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.Ads.SumCommand.ISumCommand" /> was already executed.
            </summary>
            <value><c>true</c> if executed; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.SumCommand.SumCommand.Succeeded">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.Ads.SumCommand.ISumCommand" /> is succeeded.
            </summary>
            <value><c>true</c> if succeeded; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.SumCommand.SumCommand.Failed">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.Ads.SumCommand.ISumCommand" /> faled.
            </summary>
            <value><c>true</c> if failed; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumCommand.#ctor(TwinCAT.Ads.IAdsConnection,System.Collections.Generic.IList{TwinCAT.Ads.SumCommand.SumDataEntity},TwinCAT.Ads.SumCommand.SumCommand.SumCommandMode,TwinCAT.Ads.SumCommand.SumCommand.SumAccessMode)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SumCommand.SumCommand" /> class.
            </summary>
            <param name="connection">The TcAdsClient or AdsConnection.</param>
            <param name="sumEntities">The sym information.</param>
            <param name="accessMode">The access mode.</param>
            <param name="readWriteMode">The read write mode.</param>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumCommand.#ctor(TwinCAT.Ads.IAdsConnection,TwinCAT.Ads.SumCommand.SumCommand.SumCommandMode,TwinCAT.Ads.SumCommand.SumCommand.SumAccessMode)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SumCommand.SumCommand"/> class.
            </summary>
            <param name="connection">The connection.</param>
            <param name="commandMode">The command mode.</param>
            <param name="readWriteMode">The access mode.</param>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumCommand.Execute(System.Collections.Generic.IList{System.Byte[]},System.Collections.Generic.IList{System.Byte[]}@,System.Int32[]@,TwinCAT.Ads.AdsErrorCode[]@)">
            <summary>
            Executes the sum Command.
            </summary>
            <param name="writeData">The data to write.</param>
            <param name="readData">The data to read.</param>
            <param name="readDataSizes">ReadDataSizes (only in ReadWrite mode).</param>
            <param name="returnCodes">Return Codes.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumCommand.OnWriteSumEntityData(TwinCAT.Ads.SumCommand.SumDataEntity,System.IO.BinaryWriter)">
            <summary>
            Marshals (writes) a single entitiy.
            </summary>
            <param name="entity">Single entity description.</param>
            <param name="writer">The writer.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumCommand.OnReadReturnData(System.IO.BinaryReader,System.Collections.Generic.IList{System.Byte[]}@,System.Int32[]@,TwinCAT.Ads.AdsErrorCode[]@)">
            <summary>
            Unmarshals (reads) the result from the Reader.
            </summary>
            <param name="reader">The reader.</param>
            <param name="readData">The read data.</param>
            <param name="readDataSizes">The read data sizes.</param>
            <param name="returnCodes">The return codes.</param>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumCommand.OnWriteValueData(System.Collections.Generic.IList{System.Byte[]},System.IO.BinaryWriter)">
            <summary>
            Called when the write data has to be marshalled to the writer.
            </summary>
            <param name="writeData">The write data.</param>
            <param name="writer">The writer.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="T:TwinCAT.Ads.SumCommand.SumCommandWrapper`1">
            <summary>
            SumCommand Adapter object to wrap inner SumCommands.
            </summary>
            <typeparam name="T"></typeparam>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumCommandWrapper`1.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SumCommand.SumCommandWrapper`1"/> class.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.SumCommand.SumCommandWrapper`1.innerCommand">
            <summary>
            The inner sum command.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.SumCommand.SumCommandWrapper`1.Result">
            <summary>
            Gets teh <see cref="T:TwinCAT.Ads.AdsErrorCode" /> of the main SumCommand ADS Request
            </summary>
            <value>The result.</value>
        </member>
        <member name="P:TwinCAT.Ads.SumCommand.SumCommandWrapper`1.SubResults">
            <summary>
            Gets the sub results of the single Sub Requests.
            </summary>
            <value>The sub results.</value>
        </member>
        <member name="P:TwinCAT.Ads.SumCommand.SumCommandWrapper`1.Executed">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.Ads.SumCommand.ISumCommand" /> was already executed.
            </summary>
            <value><c>true</c> if executed; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.SumCommand.SumCommandWrapper`1.Succeeded">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.Ads.SumCommand.ISumCommand" /> is succeeded.
            </summary>
            <value><c>true</c> if succeeded; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.SumCommand.SumCommandWrapper`1.Failed">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.Ads.SumCommand.ISumCommand" /> failed.
            </summary>
            <value><c>true</c> if failed; otherwise, <c>false</c>.</value>
        </member>
        <member name="T:TwinCAT.Ads.SumCommand.SumRead">
            <summary>
            The ADS SumRead Command.
            </summary>
            <remarks>Reads the data as Raw list of byte[].</remarks>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumRead.#ctor(TwinCAT.Ads.IAdsConnection,System.Collections.Generic.IList{TwinCAT.Ads.SumCommand.SumDataEntity},TwinCAT.Ads.SumCommand.SumCommand.SumAccessMode)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SumCommand.SumRead" /> class.
            </summary>
            <param name="connection">The TcAdsClient or AdsConnection.</param>
            <param name="sumEntities">The sym information.</param>
            <param name="readWriteMode">The read write mode.</param>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumRead.#ctor(TwinCAT.Ads.IAdsConnection,TwinCAT.Ads.SumCommand.SumCommand.SumAccessMode)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SumCommand.SumRead" /> class.
            </summary>
            <param name="connection">The TcAdsClient or AdsConnection.</param>
            <param name="readWriteMode">The read write mode.</param>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumRead.calcReadLength">
            <summary>
            Calculates the length of the read Stream.
            </summary>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumRead.calcWriteLength">
            <summary>
            Calculates the length of the write stream.
            </summary>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumRead.TryReadRaw(System.Collections.Generic.IList{System.Byte[]}@,TwinCAT.Ads.AdsErrorCode[]@)">
            <summary>
            Try Read
            </summary>
            <param name="readData">The read data.</param>
            <param name="returnCodes">The return codes.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumRead.ReadRaw">
            <summary>
            Reads the values (as list of byte arrays)
            </summary>
            <returns>IList&lt;System.Byte[]&gt;.</returns>
            <exception cref="T:TwinCAT.Ads.AdsSumCommandException">SumRead failed!</exception>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumRead.OnReadReturnData(System.IO.BinaryReader,System.Collections.Generic.IList{System.Byte[]}@,System.Int32[]@,TwinCAT.Ads.AdsErrorCode[]@)">
            <summary>
            Unmarshals (reads) the result from the Reader.
            </summary>
            <param name="reader">The reader.</param>
            <param name="readData">The read data.</param>
            <param name="readDataSizes">The read data sizes.</param>
            <param name="returnCodes">The return codes.</param>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumRead.OnWriteSumEntityData(TwinCAT.Ads.SumCommand.SumDataEntity,System.IO.BinaryWriter)">
            <summary>
            Marshals (writes) a single entitiy.
            </summary>
            <param name="entity">Single entity description.</param>
            <param name="writer">The writer.</param>
            <returns>System.Int32.</returns>
            <exception cref="T:System.NotSupportedException"></exception>
        </member>
        <member name="T:TwinCAT.Ads.SumCommand.SumWrite">
            <summary>
            ADS Sum Write Command.
            </summary>
            <remarks>Write data is raw array of byte[].</remarks>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumWrite.#ctor(TwinCAT.Ads.IAdsConnection,System.Collections.Generic.IList{TwinCAT.Ads.SumCommand.SumDataEntity},TwinCAT.Ads.SumCommand.SumCommand.SumAccessMode)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SumCommand.SumWrite" /> class.
            </summary>
            <param name="connection">The TcAdsClient or AdsConnection.</param>
            <param name="sumEntities">The sym information.</param>
            <param name="readWriteMode">The read write mode.</param>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumWrite.#ctor(TwinCAT.Ads.IAdsConnection,TwinCAT.Ads.SumCommand.SumCommand.SumAccessMode)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SumCommand.SumWrite" /> class.
            </summary>
            <param name="connection">The TcAdsClient or AdsConnection.</param>
            <param name="readWriteMode">The read write mode.</param>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumWrite.calcReadLength">
            <summary>
            Calculates the length of the read Stream.
            </summary>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumWrite.calcWriteLength">
            <summary>
            Calculates the length of the write stream.
            </summary>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumWrite.TryWriteRaw(System.Collections.Generic.IList{System.Byte[]},TwinCAT.Ads.AdsErrorCode[]@)">
            <summary>
            Tries to write the data in raw list of byte arrays.
            </summary>
            <param name="writeData">The write data.</param>
            <param name="returnCodes">The return codes.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumWrite.WriteRaw(System.Collections.Generic.IList{System.Byte[]})">
            <summary>
            Writes the data in form of raw list of byte arrays.
            </summary>
            <param name="writeData">The write data.</param>
            <exception cref="T:TwinCAT.Ads.AdsSumCommandException">SumWriteCommand failed!</exception>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumWrite.OnWriteSumEntityData(TwinCAT.Ads.SumCommand.SumDataEntity,System.IO.BinaryWriter)">
            <summary>
            Marshals (writes) a single entitiy.
            </summary>
            <param name="entity">Single entity description.</param>
            <param name="writer">The writer.</param>
            <returns>System.Int32.</returns>
            <exception cref="T:System.NotSupportedException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumWrite.OnReadReturnData(System.IO.BinaryReader,System.Collections.Generic.IList{System.Byte[]}@,System.Int32[]@,TwinCAT.Ads.AdsErrorCode[]@)">
            <summary>
            Unmarshals (reads) the result from the Reader.
            </summary>
            <param name="reader">The reader.</param>
            <param name="readData">The read data.</param>
            <param name="readDataSizes">The read data sizes.</param>
            <param name="returnCodes">The return codes.</param>
        </member>
        <member name="T:TwinCAT.Ads.SumCommand.SumReadWrite">
            <summary>
            Ads SumReadWrite Command.
            </summary>
            Read/Write value data is expected as already marshalled list of byte[].
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumReadWrite.#ctor(TwinCAT.Ads.IAdsConnection,System.Collections.Generic.IList{TwinCAT.Ads.SumCommand.SumDataEntity},TwinCAT.Ads.SumCommand.SumCommand.SumAccessMode)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SumCommand.SumReadWrite" /> class.
            </summary>
            <param name="connection">The TcAdsClient or AdsConnection.</param>
            <param name="sumEntities">The sym information.</param>
            <param name="readWriteMode">The read write mode.</param>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumReadWrite.calcReadLength">
            <summary>
            Calculates the length of the read Stream.
            </summary>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumReadWrite.calcWriteLength">
            <summary>
            Calculates the length of the write stream.
            </summary>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumReadWrite.TryReadWriteRaw(System.Collections.Generic.IList{System.Byte[]},System.Collections.Generic.IList{System.Byte[]}@,TwinCAT.Ads.AdsErrorCode[]@)">
            <summary>
            Tries the read write.
            </summary>
            <param name="writeData">The write data.</param>
            <param name="readData">The read data.</param>
            <param name="returnCodes">The return codes.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumReadWrite.ReadWriteRaw(System.Collections.Generic.IList{System.Byte[]})">
            <summary>
            Reads/Writes the data in Raw form (as list of byte arrays)
            </summary>
            <param name="writeData">The write data.</param>
            <returns>IList&lt;System.Byte[]&gt;.</returns>
            <exception cref="T:TwinCAT.Ads.AdsSumCommandException">SumReadWriteCommand failed!</exception>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumReadWrite.OnWriteSumEntityData(TwinCAT.Ads.SumCommand.SumDataEntity,System.IO.BinaryWriter)">
            <summary>
            Marshals (writes) a single entitiy.
            </summary>
            <param name="entity">Single entity description.</param>
            <param name="writer">The writer.</param>
            <returns>System.Int32.</returns>
            <exception cref="T:System.NotSupportedException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumReadWrite.OnReadReturnData(System.IO.BinaryReader,System.Collections.Generic.IList{System.Byte[]}@,System.Int32[]@,TwinCAT.Ads.AdsErrorCode[]@)">
            <summary>
            Unmarshals (reads) the result from the Reader.
            </summary>
            <param name="reader">The reader.</param>
            <param name="readData">The read data.</param>
            <param name="readDataSizes">The read data sizes.</param>
            <param name="returnCodes">The return codes.</param>
        </member>
        <member name="T:TwinCAT.Ads.SumCommand.SumSymbolCommand`1">
            <summary>
            Base class that implements SumAccess for a set of <see cref="T:TwinCAT.TypeSystem.ISymbol"/> objects. (abstract)
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.SumCommand.SumSymbolCommand`1.connection">
            <summary>
            The connection
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumSymbolCommand`1.#ctor(TwinCAT.Ads.IAdsConnection,System.Collections.Generic.IList{TwinCAT.TypeSystem.ISymbol})">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SumCommand.SumSymbolCommand`1"/> class.
            </summary>
            <param name="connection">The TcAdsClient or AdsConnection</param>
            <param name="symbols">The symbols to access.</param>
        </member>
        <member name="F:TwinCAT.Ads.SumCommand.SumSymbolCommand`1.mode">
            <summary>
            The Value access mode
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.SumCommand.SumSymbolCommand`1.symbols">
            <summary>
            The symbols
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumSymbolCommand`1.CreateSumEntityInfos">
            <summary>
            Creates the information list.
            </summary>
            <returns>IList&lt;SumSymbolInfo&gt;.</returns>
        </member>
        <member name="P:TwinCAT.Ads.SumCommand.SumSymbolCommand`1.UnwrappedSymbols">
            <summary>
            Gets the unwrapped symbols (Decoupled from DynamicSymbols)
            </summary>
            <value>The unwrapped symbols.</value>
        </member>
        <member name="P:TwinCAT.Ads.SumCommand.SumSymbolCommand`1.ValueAccessor">
            <summary>
            Gets the value accessor.
            </summary>
            <value>The value accessor.</value>
        </member>
        <member name="T:TwinCAT.Ads.SumCommand.SumSymbolRead">
            <summary>
            Symbolic ADS Sum read access
            </summary>
            <remarks>The <see cref="T:TwinCAT.Ads.SumCommand.SumSymbolRead"/> implements symbolic read access with automatic (dynamic) value marshalling.
            The advantage of the symbolic access is (in contrast to the handle access classes <see cref="T:TwinCAT.Ads.SumCommand.SumHandleRead"/>,<see cref="T:TwinCAT.Ads.SumCommand.SumHandleWrite"/>)
            that all type information is available when using this ADS Sum Command. The disadvantage is, that the Symbolic information must be loaded beforehand, see examples.
            </remarks>
            <example>
            <code language="C#" title="Usage of SumSymbolRead/SumSymbolWrite with AdsSession" source="..\Samples\Sample.TwinCATAds\SumCommandSymbols.cs" region="CODE_SAMPLE_SUMCOMMANDBYSESSION"/>
            </example>
            <example>
            <code language="C#" title="Usage of SumSymbolRead/SumSymbolWrite with TcAdsClient" source="..\Samples\Sample.TwinCATAds\SumCommandSymbols.cs" region="CODE_SAMPLE_SUMCOMMANDBYCLIENT"/>
            </example>
            <seealso cref="T:TwinCAT.Ads.SumCommand.ISumCommand"/>
            <seealso cref="T:TwinCAT.Ads.SumCommand.SumSymbolWrite"/>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumSymbolRead.#ctor(TwinCAT.Ads.IAdsConnection,System.Collections.Generic.IList{TwinCAT.TypeSystem.ISymbol})">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SumCommand.SumSymbolRead"/> class.
            </summary>
            <param name="connection">The TcAdsClient or ADS Connection object</param>
            <param name="symbols">The symbols to read</param>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumSymbolRead.CreateSumEntityInfos">
            <summary>
            Creates the information list.
            </summary>
            <returns>IList&lt;SumSymbolInfo&gt;.</returns>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumSymbolRead.TryRead(System.Object[]@,TwinCAT.Ads.AdsErrorCode[]@)">
            <summary>
            Tries to read the specified symbols.
            </summary>
            <remarks>The returned values are automatically marshalled to their appropriate .NET types.
            </remarks>
            <param name="values">The values.</param>
            <param name="returnCodes">The return codes.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumSymbolRead.Read">
            <summary>
            Reads the Values.
            </summary>
            <remarks>The return values are automatically marshalled to their appropriate .NET types.
            </remarks>
            <returns>System.Object[].</returns>
            <exception cref="T:TwinCAT.Ads.AdsSumCommandException">SumSymbolRead failed!</exception>
        </member>
        <member name="T:TwinCAT.Ads.SumCommand.SumSymbolWrite">
            <summary>
            Class for ADS Sum symbolic Write Access.
            </summary>
            <remarks>The <see cref="T:TwinCAT.Ads.SumCommand.SumSymbolWrite"/> implements symbolic write access with automatic (dynamic) value marshalling.
            The advantage of the symbolic access is (in contrast to the handle access classes <see cref="T:TwinCAT.Ads.SumCommand.SumHandleRead"/>,<see cref="T:TwinCAT.Ads.SumCommand.SumHandleWrite"/>)
            that all type information is available when using this ADS Sum Command. The disadvantage is, that the Symbolic information must be loaded beforehand, see examples.
            </remarks>
            <example>
            <code language="C#" title="Usage of SumSymbolRead/SumSymbolWrite with AdsSession" source="..\Samples\Sample.TwinCATAds\SumCommandSymbols.cs" region="CODE_SAMPLE_SUMCOMMANDBYSESSION"/>
            </example>
            <example>
            <code language="C#" title="Usage of SumSymbolRead/SumSymbolWrite with TcAdsClient" source="..\Samples\Sample.TwinCATAds\SumCommandSymbols.cs" region="CODE_SAMPLE_SUMCOMMANDBYCLIENT"/>
            </example>
            <seealso cref="T:TwinCAT.Ads.SumCommand.ISumCommand"/>
            <seealso cref="T:TwinCAT.Ads.SumCommand.SumSymbolWrite"/>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumSymbolWrite.#ctor(TwinCAT.Ads.IAdsConnection,System.Collections.Generic.IList{TwinCAT.TypeSystem.ISymbol})">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SumCommand.SumSymbolWrite"/> class.
            </summary>
            <param name="connection">The TcAdsClient or ADS Connection object</param>
            <param name="symbols">The symbols to read</param>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumSymbolWrite.CreateSumEntityInfos">
            <summary>
            Creates the information list.
            </summary>
            <returns>IList&lt;SumSymbolInfo&gt;.</returns>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumSymbolWrite.TryWrite(System.Object[],TwinCAT.Ads.AdsErrorCode[]@)">
            <summary>
            Tries the write.
            </summary>
            <remarks>The written values will be marshalled automatically to their appropriate ADS types.
            </remarks>
            <param name="values">The values.</param>
            <param name="returnCodes">The return codes.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumSymbolWrite.Write(System.Object[])">
            <summary>
            Writes the specified values.
            </summary>
            <remarks>The values will be marshalled automatically to their appropriate ADS types.
            </remarks>
            <param name="values">The values.</param>
            <exception cref="T:TwinCAT.Ads.AdsSumCommandException">SumSymbolWrite failed!</exception>
        </member>
        <member name="T:TwinCAT.Ads.SumCommand.SumCreateHandles">
            <summary>
            SumCommand for getting variable handles by a set of InstancePaths
            </summary>
            <example>
            <code language="C#" title="Usage of Sum commands with handles (CreateHandles, Read, Write, ReleaseHandles)" source="..\Samples\Sample.TwinCATAds\SumCommandSymbols.cs" region="CODE_SAMPLE_SUMCOMMANDBYHANDLE"/>
            </example>
            <seealso cref="T:TwinCAT.Ads.SumCommand.ISumCommand"/>
            <seealso cref="T:TwinCAT.Ads.SumCommand.SumReleaseHandles"/>
            <seealso cref="T:TwinCAT.Ads.SumCommand.SumHandleRead"/>
            <seealso cref="T:TwinCAT.Ads.SumCommand.SumHandleWrite"/>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumCreateHandles.#ctor(TwinCAT.Ads.IAdsConnection,System.Collections.Generic.IList{System.String})">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SumCommand.SumCreateHandles"/> class.
            </summary>
            <param name="connection">The connection.</param>
            <param name="instancePaths">The instance paths.</param>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumCreateHandles.#ctor(TwinCAT.Ads.IAdsConnection,System.String[])">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SumCommand.SumCreateHandles"/> class.
            </summary>
            <param name="connection">The connection.</param>
            <param name="instancePaths">The instance paths.</param>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumCreateHandles.CreateSumEntityInfos">
            <summary>
            Creates the sum entity infos.
            </summary>
            <returns>IList&lt;SumDataEntityInfo&gt;.</returns>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumCreateHandles.TryCreateHandles(System.UInt32[]@,TwinCAT.Ads.AdsErrorCode[]@)">
            <summary>
            Tries to create the Handles.
            </summary>
            <param name="handles">The handles.</param>
            <param name="returnCodes">The return codes.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumCreateHandles.TryCreateHandles(System.String[]@,System.UInt32[]@,TwinCAT.Ads.AdsErrorCode[]@)">
            <summary>
            Tries to create the variable handles.
            </summary>
            <param name="instancePaths">The symbol path specifiers.</param>
            <param name="handles">The handles.</param>
            <param name="returnCodes">The return codes.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumCreateHandles.TryCreateHandles(TwinCAT.Ads.SumCommand.ISumHandleCollection@)">
            <summary>
            Tries to create the Handles.
            </summary>
            <param name="handles">The handles.</param>
            <returns>AdsErrorCode.</returns>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumCreateHandles.CreateHandles">
            <summary>
            Creates the ADS handles.
            </summary>
            <returns>System.UInt32[].</returns>
            <exception cref="T:TwinCAT.Ads.AdsSumCommandException">SumGetHandlesCommand failed!</exception>
        </member>
        <member name="T:TwinCAT.Ads.SumCommand.SumAddNotifications">
            <summary>
            SumCommand for registering Notifications (Not implemented in TwinCAT yet)
            </summary>
            <seealso cref="T:TwinCAT.Ads.SumCommand.ISumCommand"/>
            <seealso cref="T:TwinCAT.Ads.SumCommand.SumReleaseHandles"/>
            <seealso cref="T:TwinCAT.Ads.SumCommand.SumHandleRead"/>
            <seealso cref="T:TwinCAT.Ads.SumCommand.SumHandleWrite"/>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.SumCommand.SumAddNotifications._settings">
            <summary>
            Dictionary Handle --> Notification Length (Variable Symbol Byte Size)
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumAddNotifications.#ctor(TwinCAT.Ads.IAdsConnection,System.UInt32[],System.Int32[],TwinCAT.Ads.NotificationSettings,TwinCAT.Ads.AdsStream)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SumCommand.SumCreateHandles" /> class.
            </summary>
            <param name="connection">The connection.</param>
            <param name="variableHandles">The variable handles.</param>
            <param name="lengths">The lengths.</param>
            <param name="settings">The settings.</param>
            <param name="stream">The stream.</param>
            <exception cref="T:System.ArgumentNullException">
            connection
            or
            variableHandles
            or
            lengths
            </exception>
            <exception cref="T:System.ArgumentException">Handles/lenghts mismatch!</exception>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumAddNotifications.CreateSumEntityInfos">
            <summary>
            Creates the sum entity infos.
            </summary>
            <returns>IList&lt;SumDataEntityInfo&gt;.</returns>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumAddNotifications.calcReadLength">
            <summary>
            Calculates the length of the read Stream.
            </summary>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumAddNotifications.calcWriteLength">
            <summary>
            Calculates the length of the write stream.
            </summary>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumAddNotifications.TryCreateHandles(System.UInt32[]@,TwinCAT.Ads.AdsErrorCode[]@)">
            <summary>
            Tries to create the Handles.
            </summary>
            <param name="handles">The handles.</param>
            <param name="returnCodes">The return codes.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumAddNotifications.TryCreateHandles(TwinCAT.Ads.SumCommand.ISumHandleCollection@)">
            <summary>
            Tries to create the Handles.
            </summary>
            <param name="handles">The handles.</param>
            <returns>AdsErrorCode.</returns>
            <exclude/>
        </member>
        <member name="T:TwinCAT.Ads.SumCommand.SumDeleteNotifications">
            <summary>
            SumCommand for Deleting Notifications (Not implemented in TwinCAT yet)
            </summary>
            <seealso cref="T:TwinCAT.Ads.SumCommand.ISumCommand"/>
            <seealso cref="T:TwinCAT.Ads.SumCommand.SumReleaseHandles"/>
            <seealso cref="T:TwinCAT.Ads.SumCommand.SumHandleRead"/>
            <seealso cref="T:TwinCAT.Ads.SumCommand.SumHandleWrite"/>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumDeleteNotifications.#ctor(TwinCAT.Ads.IAdsConnection,System.UInt32[])">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SumCommand.SumCreateHandles" /> class.
            </summary>
            <param name="connection">The connection.</param>
            <param name="notificationHandles">The notification handles.</param>
            <exception cref="T:System.ArgumentNullException">
            connection
            or
            variableHandles
            or
            lengths
            </exception>
            <exception cref="T:System.ArgumentException">Handles/lenghts mismatch!</exception>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumDeleteNotifications.calcReadLength">
            <summary>
            Calculates the length of the read Stream.
            </summary>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumDeleteNotifications.calcWriteLength">
            <summary>
            Calculates the length of the write stream.
            </summary>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumDeleteNotifications.TryReleaseHandles(TwinCAT.Ads.AdsErrorCode[]@)">
            <summary>
            Tries to Release the Handles
            </summary>
            <param name="returnCodes">The return codes.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumDeleteNotifications.ReleaseHandles">
            <summary>
            Releases the handles.
            </summary>
            <exception cref="T:TwinCAT.Ads.AdsSumCommandException">SumReleaseHandlesCommand failed!</exception>
        </member>
        <member name="T:TwinCAT.Ads.SumCommand.SumHandleEntry">
            <summary>
            Class SumHandleEntry.
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.SumCommand.SumHandleEntry.handle">
            <summary>
            The handle
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.SumCommand.SumHandleEntry.Handle">
            <summary>
            Gets the handle.
            </summary>
            <value>The handle.</value>
        </member>
        <member name="F:TwinCAT.Ads.SumCommand.SumHandleEntry.errorCode">
            <summary>
            The error code
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.SumCommand.SumHandleEntry.ErrorCode">
            <summary>
            Gets the error code.
            </summary>
            <value>The error code.</value>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumHandleEntry.#ctor(System.UInt32,TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SumCommand.SumHandleEntry"/> class.
            </summary>
            <param name="handle">The handle.</param>
            <param name="errorCode">The error code.</param>
        </member>
        <member name="T:TwinCAT.Ads.SumCommand.SumHandleInstancePathEntry">
            <summary>
            Class SumHandleEntry.
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.SumCommand.SumHandleInstancePathEntry.InstancePath">
            <summary>
            Gets the instance path.
            </summary>
            <value>The instance path.</value>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumHandleInstancePathEntry.#ctor(System.String,System.UInt32,TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SumCommand.SumHandleEntry"/> class.
            </summary>
            <param name="instancePath">The instance path.</param>
            <param name="handle">The handle.</param>
            <param name="errorCode">The error code.</param>
        </member>
        <member name="T:TwinCAT.Ads.SumCommand.SumNotificationHandleEntry">
            <summary>
            Class SumHandleEntry.
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.SumCommand.SumNotificationHandleEntry.NotificationHandle">
            <summary>
            Gets the instance path.
            </summary>
            <value>The instance path.</value>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumNotificationHandleEntry.#ctor(System.UInt32,System.UInt32,TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SumCommand.SumHandleEntry" /> class.
            </summary>
            <param name="handle">The handle.</param>
            <param name="notificationHandle">The notification handle.</param>
            <param name="errorCode">The error code.</param>
        </member>
        <member name="T:TwinCAT.Ads.SumCommand.ISumHandleCollection">
            <summary>
            Interface ISumHandleCollection
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.SumCommand.ISumHandleCollection.ValidHandles">
            <summary>
            Gets the valid handles (Handles that could be registered)
            </summary>
            <value>The valid handles.</value>
        </member>
        <member name="T:TwinCAT.Ads.SumCommand.SumHandleList">
            <summary>
            Class SumHandleList.
            </summary>
            <seealso cref="T:TwinCAT.Ads.SumCommand.ISumHandleCollection" />
            <exclude/>
        </member>
        <member name="T:TwinCAT.Ads.SumCommand.SumHandleRead">
            <summary>
            Read (primitive, Any) values by Handle SumCommand.
            </summary>
            <remarks>This is an ADS Sum Command to access values by handle information. It is always used in combination with <seealso cref="T:TwinCAT.Ads.SumCommand.SumCreateHandles"/> and <seealso cref="T:TwinCAT.Ads.SumCommand.SumReleaseHandles"/>.
            By design (and in contrast to the symbolic access in <see cref="T:TwinCAT.Ads.SumCommand.SumSymbolRead"/>, <see cref="T:TwinCAT.Ads.SumCommand.SumSymbolWrite"/>) this access method can act only with ADS ANY Type (Primitive) values (disadvantage).
            The Advantage is, that no symbolic information must be loaded before accessing the values, see samples:
            </remarks>
            <example>
            <code language="C#" title="Usage of Sum commands with handles (CreateHandles, Read, Write, ReleaseHandles)" source="..\Samples\Sample.TwinCATAds\SumCommandSymbols.cs" region="CODE_SAMPLE_SUMCOMMANDBYHANDLE"/>
            </example>
            <seealso cref="T:TwinCAT.Ads.SumCommand.ISumCommand"/>
            <seealso cref="T:TwinCAT.Ads.SumCommand.SumReleaseHandles"/>
            <seealso cref="T:TwinCAT.Ads.SumCommand.SumReleaseHandles"/>
            <seealso cref="T:TwinCAT.Ads.SumCommand.SumHandleWrite"/>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumHandleRead.#ctor(TwinCAT.Ads.IAdsConnection,System.Collections.Generic.IDictionary{System.UInt32,System.Type},System.Boolean,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SumCommand.SumHandleRead"/> class (Only for internal use).
            </summary>
            <param name="connection">The connection.</param>
            <param name="handleTypeDict">The handle type dictionary.</param>
            <param name="unicode">if set to <c>true</c> [unicode].</param>
            <param name="strlen">The strlen.</param>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumHandleRead.#ctor(TwinCAT.Ads.IAdsConnection,System.UInt32[],System.Type[])">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SumCommand.SumHandleRead"/> class.
            </summary>
            <param name="connection">The connection.</param>
            <param name="serverHandles">The server Handles</param>
            <param name="valueTypes">The value types (ANY/Primitive .NET types only)</param>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumHandleRead.#ctor(TwinCAT.Ads.IAdsConnection,System.UInt32[],System.Type[],System.Boolean,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SumCommand.SumHandleRead"/> class.
            </summary>
            <param name="connection">The connection.</param>
            <param name="serverHandles">The handles.</param>
            <param name="valueTypes">The value types (ANY/Primitive .NET types only)</param>
            <param name="unicode">if set to <c>true</c> use unicode access.</param>
            <param name="strlen">Default (fixed) string len.</param>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumHandleRead.TryRead(System.Object[]@,TwinCAT.Ads.AdsErrorCode[]@)">
            <summary>
            Tries to read the values of the <seealso cref="T:TwinCAT.Ads.SumCommand.SumHandleRead"/>.
            </summary>
            <param name="values">The values.</param>
            <param name="returnCodes">The return codes.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumHandleRead.Read">
            <summary>
            Reads the values.
            </summary>
            <returns>System.Object[].</returns>
            <exception cref="T:TwinCAT.Ads.AdsSumCommandException">SumAnyReadByHandleCommand failed!</exception>
        </member>
        <member name="T:TwinCAT.Ads.SumCommand.SumHandleWrite">
            <summary>
            Write any (primitive) values by Handle SumCommand.
            </summary>
            <remarks>This is an ADS Sum Command to access values by handle information. It is always used in combination with <seealso cref="T:TwinCAT.Ads.SumCommand.SumCreateHandles"/> and <seealso cref="T:TwinCAT.Ads.SumCommand.SumReleaseHandles"/>.
            By design (and in contrast to the symbolic access in <see cref="T:TwinCAT.Ads.SumCommand.SumSymbolRead"/>, <see cref="T:TwinCAT.Ads.SumCommand.SumSymbolWrite"/>) this access method can act only with ADS ANY Type (Primitive) values (disadvantage).
            The Advantage is, that no symbolic information must be loaded before accessing the values, see samples:
            </remarks>
            <example>
            <code language="C#" title="Usage of Sum commands with handles (CreateHandles, Read, Write, ReleaseHandles)" source="..\Samples\Sample.TwinCATAds\SumCommandSymbols.cs" region="CODE_SAMPLE_SUMCOMMANDBYHANDLE"/>
            </example>
            <seealso cref="T:TwinCAT.Ads.SumCommand.ISumCommand"/>
            <seealso cref="T:TwinCAT.Ads.SumCommand.SumReleaseHandles"/>
            <seealso cref="T:TwinCAT.Ads.SumCommand.SumReleaseHandles"/>
            <seealso cref="T:TwinCAT.Ads.SumCommand.SumHandleRead"/>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumHandleWrite.#ctor(TwinCAT.Ads.IAdsConnection,System.Collections.Generic.IDictionary{System.UInt32,System.Type})">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SumCommand.SumHandleWrite"/> class.
            </summary>
            <param name="connection">The connection.</param>
            <param name="handleTypeDict">The handle type dictionary.</param>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumHandleWrite.#ctor(TwinCAT.Ads.IAdsConnection,System.UInt32[],System.Type[])">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SumCommand.SumHandleWrite" /> class.
            </summary>
            <param name="connection">The connection.</param>
            <param name="serverHandles">The handles.</param>
            <param name="valueTypes">The value types (ANY/Primitive .NET types only)</param>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumHandleWrite.TryWrite(System.Object[],TwinCAT.Ads.AdsErrorCode[]@)">
            <summary>
            Tries to write the values.
            </summary>
            <param name="values">The values (ANY/Primitive types only).</param>
            <param name="returnCodes">The return codes.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumHandleWrite.Write(System.Object[])">
            <summary>
            Writes the values to the Symbols.
            </summary>
            <param name="values">The Values (Any primitive types only):</param>
            <exception cref="T:TwinCAT.Ads.AdsSumCommandException">SumAnyWriteByHandleCommand failed!</exception>
        </member>
        <member name="T:TwinCAT.Ads.SumCommand.SumReleaseHandles">
            <summary>
            Release Handles SumCommand.
            </summary>
            <remarks>Releases the specified ADS handles. Usually used in conjunction with the <see cref="T:TwinCAT.Ads.SumCommand.SumCreateHandles"/> and the <see cref="T:TwinCAT.Ads.SumCommand.SumHandleRead"/> / <see cref="T:TwinCAT.Ads.SumCommand.SumHandleWrite"/> commands.
            </remarks>
            <example>
            <code language="C#" title="Usage of Sum commands with handles (CreateHandles, Read, Write, ReleaseHandles)" source="..\Samples\Sample.TwinCATAds\SumCommandSymbols.cs" region="CODE_SAMPLE_SUMCOMMANDBYHANDLE"/>
            </example>
            <seealso cref="T:TwinCAT.Ads.SumCommand.ISumCommand"/>
            <seealso cref="T:TwinCAT.Ads.SumCommand.SumCreateHandles"/>
            <seealso cref="T:TwinCAT.Ads.SumCommand.SumHandleRead"/>
            <seealso cref="T:TwinCAT.Ads.SumCommand.SumHandleWrite"/>
        </member>
        <member name="F:TwinCAT.Ads.SumCommand.SumReleaseHandles._connection">
            <summary>
            The connection
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.SumCommand.SumReleaseHandles._serverHandles">
            <summary>
            The handles to release.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumReleaseHandles.#ctor(TwinCAT.Ads.IAdsConnection,System.UInt32[])">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SumCommand.SumReleaseHandles"/> class.
            </summary>
            <param name="connection">The connection.</param>
            <param name="serverHandles">The handles.</param>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumReleaseHandles.CreateSumEntityInfos">
            <summary>
            Creates the sum entity infos.
            </summary>
            <returns>IList&lt;SumDataEntityInfo&gt;.</returns>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumReleaseHandles.TryReleaseHandles(TwinCAT.Ads.AdsErrorCode[]@)">
            <summary>
            Tries to Release the Handles
            </summary>
            <param name="returnCodes">The return codes.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumReleaseHandles.ReleaseHandles">
            <summary>
            Releases the handles.
            </summary>
            <exception cref="T:TwinCAT.Ads.AdsSumCommandException">SumReleaseHandlesCommand failed!</exception>
        </member>
        <member name="T:TwinCAT.Ads.SumCommand.SumDataEntity">
            <summary>
            Class SumDataEntityInfo.
            </summary>
            <remarks>The DataEntity describes a single data entity that is part of the Sum Command.</remarks>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.SumCommand.SumDataEntity.readLength">
            <summary>
            Entity read length
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.SumCommand.SumDataEntity.ReadLength">
            <summary>
            Read length of the data entity in the context of the sum command
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.SumCommand.SumDataEntity.writeLength">
            <summary>
            Entity write length
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.SumCommand.SumDataEntity.WriteLength">
            <summary>
            Gets the Write length of the data entity in the context of the sum command.
            </summary>
            <value>The length of the write.</value>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumDataEntity.#ctor(System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SumCommand.SumDataEntity"/> class.
            </summary>
            <param name="readLength">Length of the read.</param>
            <param name="writeLength">Length of the write.</param>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumDataEntity.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SumCommand.SumDataEntity"/> class.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.SumDataEntity.SetWriteLength(System.Int32)">
            <summary>
            Sets the length of the write.
            </summary>
            <param name="length">The length.</param>
            <remarks>This is used in the case, when the size of the data is not known upfront (e.g. strings), that is only
            available during runtime.</remarks>
        </member>
        <member name="T:TwinCAT.Ads.SumCommand.IgIoSumEntity">
            <summary>
            SumDataEntity with IndexGroup IndexOffset access.
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.SumCommand.IgIoSumEntity.IndexGroup">
            <summary>
            The index group
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.SumCommand.IgIoSumEntity.IndexOffset">
            <summary>
            The index offset
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.IgIoSumEntity.#ctor(System.UInt32,System.UInt32,System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SumCommand.IgIoSumEntity"/> class.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="readLength">Length of the read.</param>
            <param name="writeLength">Length of the write.</param>
        </member>
        <member name="T:TwinCAT.Ads.SumCommand.IgIoSumReadEntity">
            <summary>
            SumDataEntity IndexGroup IndexOffset Read access.
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.IgIoSumReadEntity.#ctor(System.UInt32,System.UInt32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SumCommand.IgIoSumReadEntity"/> class.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="readLength">Length of the read.</param>
        </member>
        <member name="T:TwinCAT.Ads.SumCommand.IgIoSumWriteEntity">
            <summary>
            SumDataEntity IndexGroup IndexOffset Write access.
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.IgIoSumWriteEntity.#ctor(System.UInt32,System.UInt32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SumCommand.IgIoSumWriteEntity"/> class.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="writeLength">Length of the write.</param>
        </member>
        <member name="T:TwinCAT.Ads.SumCommand.NotificationHandleSumEntity">
            <summary>
            SumDataEntity Handle access
            </summary>
            <exclude/>
        </member>
        <member name="T:TwinCAT.Ads.SumCommand.HandleSumEntity">
            <summary>
            SumDataEntity Handle access
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.SumCommand.HandleSumEntity.Handle">
            <summary>
            The ADS handle
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.SumCommand.HandleSumEntity.Converter">
            <summary>
            The Primitive Type converter
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.HandleSumEntity.#ctor(System.UInt32,System.Int32,System.Int32,TwinCAT.TypeSystem.PrimitiveTypeConverter)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SumCommand.HandleSumEntity" /> class.
            </summary>
            <param name="handle">The handle.</param>
            <param name="readLength">Length of the read.</param>
            <param name="writeLength">Length of the write.</param>
            <param name="converter">The converter.</param>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.HandleSumEntity.#ctor(System.UInt32,TwinCAT.TypeSystem.PrimitiveTypeConverter)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SumCommand.HandleSumEntity" /> class.
            </summary>
            <param name="handle">The handle.</param>
            <param name="converter">The converter.</param>
        </member>
        <member name="T:TwinCAT.Ads.SumCommand.HandleSumReadAnyEntity">
            <summary>
            SumDataEntity Handle access (read by handle and Primitive/Any type)
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.SumCommand.HandleSumReadAnyEntity.TypeSpec">
            <summary>
            Primitive (Any) type that can be marshalled via <see cref="T:TwinCAT.TypeSystem.PrimitiveTypeConverter"/>
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.HandleSumReadAnyEntity.#ctor(System.UInt32,System.Type,TwinCAT.TypeSystem.PrimitiveTypeConverter)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SumCommand.HandleSumReadAnyEntity" /> class.
            </summary>
            <param name="handle">The handle.</param>
            <param name="tp">The tp.</param>
            <param name="converter">The converter.</param>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.HandleSumReadAnyEntity.#ctor(System.UInt32,System.Int32,TwinCAT.TypeSystem.PrimitiveTypeConverter)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SumCommand.HandleSumReadAnyEntity"/> class.
            </summary>
            <param name="handle">The handle.</param>
            <param name="strLen">Length of the string.</param>
            <param name="converter">The converter.</param>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.HandleSumReadAnyEntity.#ctor(System.UInt32,System.Type,TwinCAT.TypeSystem.AnyTypeSpecifier,TwinCAT.TypeSystem.PrimitiveTypeConverter)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SumCommand.HandleSumReadAnyEntity"/> class.
            </summary>
            <param name="handle">The handle.</param>
            <param name="arrayType">Type of the array.</param>
            <param name="anyType">Any type.</param>
            <param name="converter">The converter.</param>
            <exclude/>
        </member>
        <member name="T:TwinCAT.Ads.SumCommand.HandleSumWriteAnyEntity">
            <summary>
            SumDataEntity Handle access (write by handle and Primitive/Any type)
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.SumCommand.HandleSumWriteAnyEntity.Type">
            <summary>
            Primitive (Any) type that can be marshalled via <see cref="T:TwinCAT.TypeSystem.PrimitiveTypeConverter"/>
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.HandleSumWriteAnyEntity.#ctor(System.UInt32,System.Type,TwinCAT.TypeSystem.PrimitiveTypeConverter)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SumCommand.HandleSumWriteAnyEntity" /> class.
            </summary>
            <param name="handle">The handle.</param>
            <param name="tp">The tp.</param>
            <param name="converter">The converter.</param>
        </member>
        <member name="T:TwinCAT.Ads.SumCommand.InstancePathSumEntity">
            <summary>
            SumDataEntity InstancePath access (Read/Write by Instance Path)
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.SumCommand.InstancePathSumEntity.InstancePath">
            <summary>
            The instance path
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.InstancePathSumEntity.#ctor(System.String,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SumCommand.InstancePathSumEntity"/> class.
            </summary>
            <param name="instancePath">The instance path.</param>
            <param name="readLength">Length of the read.</param>
        </member>
        <member name="M:TwinCAT.Ads.SumCommand.InstancePathSumEntity.GetWriteBytes">
            <summary>
            Gets the read bytes.
            </summary>
            <returns>System.Byte[].</returns>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.AdsSymbolServer">
            <summary>
            Symbol Server object
            </summary>
            <seealso cref="T:TwinCAT.TypeSystem.ISymbolServer" />
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.AdsSymbolServer.#ctor(TwinCAT.Ads.AdsSession)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.AdsSymbolServer"/> class.
            </summary>
            <param name="session">The session.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.AdsSymbolServer.OnCreateLoader">
            <summary>
            Creates the symbol loader
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.AdsSymbolServer.createLoader">
            <summary>
            Creates the loader.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.AdsSymbolServer.DataTypes">
            <summary>
            Gets the data types.
            </summary>
            <value>The data types.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.AdsSymbolServer.Symbols">
            <summary>
            Gets the symbols.
            </summary>
            <value>The symbols.</value>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.AdsNotificationCache">
            <summary>
            Class caches the currently registered Notification handlers.
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.AdsNotificationCache.NotificationSymbolInfo">
            <summary>
            Notification info object
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.AdsNotificationCache.NotificationSymbolInfo.Symbol">
            <summary>
            Symbol
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.AdsNotificationCache.NotificationSymbolInfo.NotificationType">
            <summary>
            Notification type
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.AdsNotificationCache.NotificationSymbolInfo.Handle">
            <summary>
            Notification handle
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.AdsNotificationCache.NotificationSymbolInfo.Settings">
            <summary>
            Notification settings
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.AdsNotificationCache.NotificationSymbolInfo.#ctor(TwinCAT.TypeSystem.ISymbol,System.Int32,TwinCAT.ValueAccess.SymbolNotificationType,TwinCAT.Ads.NotificationSettings)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.AdsNotificationCache.NotificationSymbolInfo"/> class.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="handle">The handle.</param>
            <param name="notificationType">Type of the notification.</param>
            <param name="settings">The settings.</param>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.AdsNotificationCache._sync">
            <summary>
            Sync object
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.AdsNotificationCache._notificationHandleDict">
            <summary>
            Notification Handle --> Symbol
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.AdsNotificationCache._notificationSymbolDict">
            <summary>
            Symbol --> Notification Handle
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.AdsNotificationCache.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.AdsNotificationCache"/> class.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.AdsNotificationCache.GetLargestSymbolSize">
            <summary>
            Gets the largest symbol size in bytes that is inside this <see cref="T:TwinCAT.Ads.TypeSystem.AdsNotificationCache"/>
            </summary>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.AdsNotificationCache.GetNotificationType(TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Gets the type of the notification.
            </summary>
            <param name="symbol">The symbol.</param>
            <returns>SymbolNotificationType.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.AdsNotificationCache.Update(TwinCAT.TypeSystem.ISymbol,TwinCAT.ValueAccess.SymbolNotificationType,TwinCAT.Ads.NotificationSettings)">
            <summary>
            Updates the specified symbol notification.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="type">The type.</param>
            <param name="settings">The settings.</param>
            <exception cref="T:System.ArgumentException">Symbol is not registered for Notifications!</exception>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.AdsNotificationCache.Add(TwinCAT.TypeSystem.ISymbol,System.Int32,TwinCAT.ValueAccess.SymbolNotificationType,TwinCAT.Ads.NotificationSettings)">
            <summary>
            Adds the specified symbol notification
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="handle">The handle.</param>
            <param name="notificationType">Type of the notification.</param>
            <param name="settings">The settings.</param>
            <exception cref="T:System.ArgumentException">Symbol already registered!</exception>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.AdsNotificationCache.Remove(TwinCAT.TypeSystem.ISymbol,TwinCAT.ValueAccess.SymbolNotificationType)">
            <summary>
            Removes the specified symbol notification.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="notificationType">Type of the notification.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.AdsNotificationCache.Remove(TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Removes all Symbol notifications for the specified symbol.
            </summary>
            <param name="symbol">The symbol.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.AdsNotificationCache.TryGetNotificationHandle(TwinCAT.TypeSystem.ISymbol,System.Int32@)">
            <summary>
            Tries to get the notification handle.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="handle">The handle.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.AdsNotificationCache.TryGetRegisteredNotificationSettings(TwinCAT.TypeSystem.ISymbol,TwinCAT.Ads.NotificationSettings@)">
            <summary>
            Tries to get the notification settings.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="settings">The settings.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.AdsNotificationCache.Contains(TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Determines whether this <see cref="T:TwinCAT.Ads.TypeSystem.AdsNotificationCache"/> has a registered notification for the symbol.
            </summary>
            <param name="symbol">The symbol.</param>
            <returns><c>true</c> if [contains] [the specified symbol]; otherwise, <c>false</c>.</returns>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.AdsBinder">
            <summary>
            Class AdsTypeBinder. This class cannot be inherited.
            </summary>
            <seealso cref="T:TwinCAT.Ads.TypeSystem.IAdsBinder" />
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.AdsBinder.ImageBaseAddress">
            <summary>
            Gets the <see cref="T:TwinCAT.Ads.AmsAddress" /> of the Process Image
            </summary>
            <value>The address.</value>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.SymbolFactory">
            <summary>
            Symbol factory (static objects) (for internal use only)
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.SymbolFactory.#ctor(System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.SymbolFactory" /> class (for internal use only)
            </summary>
            <param name="nonCachedArrayElements">if set to <c>true</c> [non cached array elements].</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.SymbolFactory.OnCreateArrayElement(System.Int32[],TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.IArrayType)">
            <summary>
            Handler function creating a new Array Element Symbol.
            </summary>
            <param name="currentIndex">Index of the current.</param>
            <param name="parent">The parent.</param>
            <param name="arrayType">Resolved array type.</param>
            <returns>ISymbol.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.SymbolFactory.createArrayElement(System.Int32[],System.Boolean,TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.IArrayType)">
            <summary>
            Creates the array element.
            </summary>
            <param name="currentIndex">Index of the current.</param>
            <param name="oversample">if set to <c>true</c> [oversample].</param>
            <param name="parent">The parent.</param>
            <param name="arrayType">Resolved array type.</param>
            <returns>ISymbol.</returns>
            <exception cref="T:System.ArgumentNullException">parent</exception>
            <exception cref="T:System.ArgumentNullException">arrType
            or
            parent</exception>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.SymbolFactory.createArrayElement(System.Int32[],System.Boolean,TwinCAT.TypeSystem.ISymbol,TwinCAT.Ads.TypeSystem.ArrayType,TwinCAT.Ads.TypeSystem.DataType)">
            <summary>
            Creates an Array element instance.
            </summary>
            <param name="currentIndex">Indices of the array element</param>
            <param name="oversample">Oversampling indicator.</param>
            <param name="parent">The parent instance (here the array instance)</param>
            <param name="arrType">Array type.</param>
            <param name="elementType">The element type.</param>
            <returns>Symbol.</returns>
            <exception cref="T:System.NotSupportedException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.SymbolFactory.CreateOversamplingElement(TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Creates the oversampling array Element.
            </summary>
            <param name="parent">Array Instance.</param>
            <returns>ISymbol.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.SymbolFactory.OnCreateFieldInstance(TwinCAT.TypeSystem.IField,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Handler function creating a new <see cref="T:TwinCAT.TypeSystem.IStructInstance" /> member
            </summary>
            <param name="field">The field.</param>
            <param name="parent">The parent.</param>
            <returns>ISymbol.</returns>
            <exception cref="T:System.ArgumentNullException">
            member
            or
            parent
            </exception>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.SymbolFactory.OnCreateStruct(TwinCAT.TypeSystem.ISymbolInfo,TwinCAT.TypeSystem.IStructType,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Handler function creating the struct symbol
            </summary>
            <param name="entry">The entry.</param>
            <param name="structType">Type of the structure.</param>
            <param name="parent">The parent.</param>
            <returns>IStructInstance.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.SymbolFactory.OnCreateUnion(TwinCAT.TypeSystem.ISymbolInfo,TwinCAT.TypeSystem.IUnionType,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Handler function creating the union symbol
            </summary>
            <param name="entry">The entry.</param>
            <param name="unionType">Type of the union.</param>
            <param name="parent">The parent.</param>
            <returns>IUnionInstance.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.SymbolFactory.OnCreateArrayInstance(TwinCAT.TypeSystem.ISymbolInfo,TwinCAT.TypeSystem.IArrayType,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Handler function creating an ArrayInstance
            </summary>
            <param name="entry">The symbol INfo.</param>
            <param name="type">The type.</param>
            <param name="parent">The parent.</param>
            <returns>IArrayInstance.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.SymbolFactory.OnCreateAlias(TwinCAT.TypeSystem.ISymbolInfo,TwinCAT.TypeSystem.IAliasType,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Handler function creating the alias symbol
            </summary>
            <param name="entry">The entry.</param>
            <param name="aliasType">The Alias type.</param>
            <param name="parent">The parent.</param>
            <returns>IStructInstance.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.SymbolFactory.OnCreatePointerInstance(TwinCAT.TypeSystem.ISymbolInfo,TwinCAT.TypeSystem.IPointerType,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Called when [create pointer instance].
            </summary>
            <param name="entry">The entry.</param>
            <param name="pointerType">Type of the pointer.</param>
            <param name="parent">The parent.</param>
            <returns>IPointerInstance.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.SymbolFactory.OnCreateReferenceInstance(TwinCAT.TypeSystem.ISymbolInfo,TwinCAT.TypeSystem.IReferenceType,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Handler function creating a ReferenceInstance symbol.
            </summary>
            <param name="entry">The entry.</param>
            <param name="referenceType">Type of the reference.</param>
            <param name="parent">The parent.</param>
            <returns>IReferenceInstance.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.SymbolFactory.OnCreateString(TwinCAT.TypeSystem.ISymbolInfo,TwinCAT.TypeSystem.IStringType,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Handler function creating a String Type
            </summary>
            <param name="entry">The entry.</param>
            <param name="stringType">The string dataType.</param>
            <param name="parent">The parent.</param>
            <returns>ISymbol.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.SymbolFactory.OnCreatePrimitive(TwinCAT.TypeSystem.ISymbolInfo,TwinCAT.TypeSystem.IDataType,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Handler function creating a Primitive Symbol
            </summary>
            <param name="entry">The entry.</param>
            <param name="dataType">Type of the data.</param>
            <param name="parent">The parent.</param>
            <returns>ISymbol.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.SymbolFactory.OnCreateReference(TwinCAT.TypeSystem.IPointerType,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Handler function creating a new Reference Instance.
            </summary>
            <param name="type">The type.</param>
            <param name="parent">The parent.</param>
            <returns>ISymbol.</returns>
            <exception cref="T:System.ArgumentNullException">
            type
            or
            parent
            </exception>
            <exception cref="T:System.ArgumentNullException">type
            or
            parent</exception>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.SymbolFactory.OnCreateVirtualStruct(System.String,System.String,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Handler function creating a new Virtual Struct
            </summary>
            <param name="instanceName">Name of the instance.</param>
            <param name="instancePath">The instance path.</param>
            <param name="parent">The parent.</param>
            <returns>ISymbol.</returns>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.IContextMaskProvider">
            <summary>
            Interface IContextMaskProvider
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.IContextMaskProvider.ContextMask">
            <summary>
            Gets the context mask.
            </summary>
            <value>The context mask.</value>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.Symbol">
            <summary>
            Symbol class
            </summary>
            <seealso cref="T:TwinCAT.Ads.TypeSystem.Instance" />
            <seealso cref="T:TwinCAT.TypeSystem.IValueSymbol" />
            <seealso cref="T:TwinCAT.TypeSystem.IValueAnySymbol" />
            <seealso cref="T:TwinCAT.TypeSystem.IValueAccessorProvider" />
            <seealso cref="T:TwinCAT.TypeSystem.ISymbolFactoryServicesProvider" />
            <seealso cref="T:TwinCAT.TypeSystem.IHierarchicalSymbol" />
            <seealso cref="T:TwinCAT.TypeSystem.ISymbolValueChangeNotify" />
            <seealso cref="T:TwinCAT.Ads.TypeSystem.IContextMaskProvider" />
            <seealso cref="T:TwinCAT.TypeSystem.IInstanceInternal" />
            <seealso cref="T:TwinCAT.TypeSystem.ISymbolInternal" />
            <seealso cref="T:TwinCAT.Ads.TypeSystem.IAdsSymbol" />
            <remarks>A Symbol is a (named) memory object within the Process Image with a fixed address indicated by Index Group and Index Offset.
            Symbols can optionally be addressed by instance path and are bound to a specific <see cref="T:TwinCAT.Ads.TypeSystem.DataType" />.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.#ctor(TwinCAT.Ads.Internal.AdsSymbolEntry,TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.ISymbolFactoryServices)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.Symbol" /> class.
            </summary>
            <param name="entry">The entry.</param>
            <param name="parent">The parent.</param>
            <param name="factoryServices">The factory services.</param>
            <exception cref="T:System.ArgumentNullException">
            entry
            or
            factoryServices
            </exception>
            <exception cref="T:System.ArgumentNullException">entry
            or
            resolver
            or
            factoryServices</exception>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.OnBound(TwinCAT.TypeSystem.IBinder)">
            <summary>
            Called when the <see cref="T:TwinCAT.Ads.TypeSystem.Symbol"/> is bound.
            </summary>
            <param name="binder">The binder.</param>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.OnSetInstanceName(System.String)">
            <summary>
            Sets a new InstanceName InstancePath
            </summary>
            <param name="instanceName">Instance name.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.#ctor(TwinCAT.Ads.Internal.AdsSymbolEntry,TwinCAT.TypeSystem.IDataType,TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.ISymbolFactoryServices)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.Symbol" /> class.
            </summary>
            <param name="entry">The entry.</param>
            <param name="type">The type.</param>
            <param name="parent">The parent.</param>
            <param name="factoryServices">The factory services.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.#ctor(TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.IDataType,System.String,System.Int32,TwinCAT.TypeSystem.ISymbolFactoryServices)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.Symbol" /> class.
            </summary>
            <param name="parent">The parent.</param>
            <param name="type">The type.</param>
            <param name="instanceName">Name of the instance.</param>
            <param name="fieldOffset">The field offset.</param>
            <param name="factoryServices">The factory services.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.#ctor(System.UInt32,System.UInt32,TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.IDataType,System.String,System.String,TwinCAT.TypeSystem.ISymbolFactoryServices)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.Symbol" /> class.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="parent">The parent.</param>
            <param name="type">The type.</param>
            <param name="instanceName">Name of the instance.</param>
            <param name="instancePath">The instance path.</param>
            <param name="factoryServices">The factory services.</param>
            <exception cref="T:System.ArgumentNullException">factoryServices</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">instanceName</exception>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.#ctor(System.String,TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.ISymbolFactoryServices)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.Symbol" /> class.
            </summary>
            <param name="instanceName">Name of the instance.</param>
            <param name="parent">The parent.</param>
            <param name="factoryServices">The factory services.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.#ctor(System.String,System.String,TwinCAT.TypeSystem.ISymbolFactoryServices)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.Symbol" /> class.
            </summary>
            <param name="instanceName">Name of the instance.</param>
            <param name="instancePath">The instance path.</param>
            <param name="factoryServices">The factory services.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.#ctor(TwinCAT.Ads.TypeSystem.Member,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.Symbol"/> class which represents an instance of <see cref="T:TwinCAT.Ads.TypeSystem.Member"/>
            </summary>
            <param name="member">The member.</param>
            <param name="parent">The parent (<see cref="T:TwinCAT.TypeSystem.IStructInstance"/> or <see cref="T:TwinCAT.TypeSystem.IAliasInstance"/>) of this member instance symbol.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.getSymbolFlags(TwinCAT.TypeSystem.ISymbol,TwinCAT.Ads.TypeSystem.Field)">
            <summary>
            Gets the symbol flags.
            </summary>
            <param name="structParent">The structure parent.</param>
            <param name="subSymbol">The sub symbol.</param>
            <returns>AdsSymbolFlags.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.getSymbolFlags(TwinCAT.TypeSystem.ISymbol,TwinCAT.Ads.TypeSystem.DataType)">
            <summary>
            Gets the symbol flags.
            </summary>
            <param name="arrayParent">The array parent.</param>
            <param name="elementType">Type of the element.</param>
            <returns>AdsSymbolFlags.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.#ctor(System.Int32[],System.Boolean,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.Symbol" /> class.
            </summary>
            <param name="indices">The indices.</param>
            <param name="oversampleElement">Indicates, that is Symbol is the virtual oversampling element.</param>
            <param name="parent">The parent (Can be IArrayInstance or IAliasInstance)</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.Equals(System.Object)">
            <summary>
            Equals
            </summary>
            <param name="obj">The object to compare with the current object.</param>
            <returns><c>true</c> if the specified <see cref="T:System.Object" /> is equal to this instance; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.op_Equality(TwinCAT.Ads.TypeSystem.Symbol,TwinCAT.Ads.TypeSystem.Symbol)">
            <summary>
            Operator==
            </summary>
            <param name="o1">The o1.</param>
            <param name="o2">The o2.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.op_Inequality(TwinCAT.Ads.TypeSystem.Symbol,TwinCAT.Ads.TypeSystem.Symbol)">
            <summary>
            Implements the != operator.
            </summary>
            <param name="o1">The o1.</param>
            <param name="o2">The o2.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.GetHashCode">
            <summary>
            Gets the HashCode of the Address
            </summary>
            <returns>A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.</returns>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.Symbol.factoryServices">
            <summary>
            The Symbol Factory Services
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Symbol.FactoryServices">
            <summary>
            Gets the factory services.
            </summary>
            <value>The factory services.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Symbol.ValueAccessor">
            <summary>
            Gets the value accessor.
            </summary>
            <value>The value accessor.</value>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.calcAccess(TwinCAT.TypeSystem.ISymbol,TwinCAT.Ads.TypeSystem.Member,System.UInt32@,System.UInt32@)">
            <summary>
            Calculates the access.
            </summary>
            <param name="parent">The parent.</param>
            <param name="member">The member.</param>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.calcBitAccess(TwinCAT.TypeSystem.ISymbol,TwinCAT.Ads.TypeSystem.Member,System.UInt32@,System.UInt32@)">
            <summary>
            (Re)Calculates the IndexGroup and Index Offset from Byte/Access To BitAccess or for TCom Pid masking
            </summary>
            <param name="parent">The parent Symbol</param>
            <param name="member">The member.</param>
            <param name="indexGroup">The index group result</param>
            <param name="indexOffset">The index offset result</param>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.Symbol._notificationSettings">
            <summary>
            Notification Settings
            </summary>
            <value>The notification settings.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Symbol.NotificationSettings">
            <summary>
            Gets or sets the notification settings.
            </summary>
            <value>The notification settings.</value>
            <remarks>The <see cref="P:TwinCAT.Ads.TypeSystem.Symbol.NotificationSettings"/> will be inherited from <see cref="P:TwinCAT.Ads.TypeSystem.Symbol.Parent"/> if the setting is not overwritten.
            If the Root Symbol also doesn't contain the settings, then the <see cref="P:TwinCAT.Ads.TypeSystem.IAdsSymbolLoader.DefaultNotificationSettings"/> will be returned.</remarks>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.Symbol.parent">
            <summary>
            The parent Symbol
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Symbol.Parent">
            <summary>
            Gets the parent Symbol
            </summary>
            <value>The parent.</value>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.SetParent(TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Sets the parent symbol.
            </summary>
            <param name="parent">The parent.</param>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.Symbol.indexGroup">
            <summary>
            The index group
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Symbol.IndexGroup">
            <summary>
            Gets the index group of the Symbol
            </summary>
            <value>
            The index group.
            </value>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.Symbol.indexOffset">
            <summary>
            The index offset
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Symbol.IndexOffset">
            <summary>
            Gets the index offset of the Symbol
            </summary>
            <value>
            The index offset.
            </value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Symbol.Name">
            <summary>
            Gets the name.
            </summary>
            <value>
            The name.
            </value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Symbol.Type">
            <summary>
            Gets the type.
            </summary>
            <value>
            The type.
            </value>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.Symbol.instancePath">
            <summary>
            The instance path
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Symbol.InstancePath">
            <summary>
            Gets the relative / absolute access path to the instance (with periods (.))
            </summary>
            <value>
            The instance path.
            </value>
            <remarks>
            If this path is relative or absolute depends on the context. <see cref="T:TwinCAT.TypeSystem.IMember" /> are using relative paths, <see cref="T:TwinCAT.TypeSystem.ISymbol" />s are using absolute ones.
            </remarks>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.ToString">
            <summary>
            Returns a <see cref="T:System.String" /> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String" /> that represents this instance.
            </returns>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.Symbol.imageBaseAddress">
            <summary>
            The image base address
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Symbol.ImageBaseAddress">
            <summary>
            Gets the <see cref="T:TwinCAT.Ads.AmsAddress" /> of the Process Image
            </summary>
            <value>
            The address.
            </value>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.Symbol.subSymbols">
            <summary>
            Weak reference to SubSymbols
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.OnCreateSubSymbols(TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Creates the sub symbols collection.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Symbol.SubSymbols">
            <summary>
            Gets the SubSymbols of the <see cref="T:TwinCAT.TypeSystem.ISymbol" />
            </summary>
            <remarks>
            Used for Array, Struct, Pointer and Reference instances. Otherwise empty
            </remarks>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Symbol.SubSymbolsInternal">
            <summary>
            Gets the SubSymbols Collection (internal variant)
            </summary>
            <value>The sub symbols internal.</value>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.OnGetSubSymbols">
            <summary>
            Handler function getting the SubSymbols
            </summary>
            <returns>ISymbolCollection.</returns>
            <remarks>
            The default case is, that the SubSymbols are cached via WeakReferences
            </remarks>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Symbol.SubSymbolCount">
            <summary>
            Gets the number of SubSymbols
            </summary>
            <value>The Number of SubSymbols.</value>
            <remarks>If the <see cref="P:TwinCAT.Ads.TypeSystem.Symbol.SubSymbols"/> collection is not generated yet (WeakReference),
            then this method is less memory and cpu consuming to use for just determining the
            the number of child symbols (instead of using SubSymbols.Count)/></remarks>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.OnGetSubSymbolCount">
            <summary>
            Handler function determining the SubSymbolCode (optimized)
            </summary>
            <returns>System.Int32.</returns>
            <remarks>If the SubSymbols WeakReference is avaliable, we take that one for determining the Count as optimization.
            </remarks>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Symbol.SubSymbolsCreated">
            <summary>
            Gets a value indicating whether [sub symbols created].
            </summary>
            <value><c>true</c> if [sub symbols created]; otherwise, <c>false</c>.</value>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.CreateSubSymbols(TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Creates the sub symbols.
            </summary>
            <param name="parent">The parent.</param>
            <returns>SymbolCollection.</returns>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Symbol.IsDereferencedReference">
            <summary>
            Gets or sets a value indicating whether an ancestor is a dereferenced Reference
            </summary>
            <value><c>true</c> if this instance is ancestor is reference; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Symbol.IsDereferencedPointer">
            <summary>
            Gets or sets a value indicating whether an ancestor is a dereferenced Pointer
            </summary>
            <value><c>true</c> if this instance is ancestor is pointer; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.ReadRawValue">
            <summary>
            Reads the raw value of the <see cref="T:TwinCAT.TypeSystem.IValueSymbol" /> (Ads Read / Write)
            </summary>
            <returns>System.Byte[].</returns>
            <value>The raw value.</value>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.ReadRawValue(System.Int32)">
            <summary>
            Reads the raw value of the <see cref="T:TwinCAT.TypeSystem.IValueSymbol" /> (Ads Read / Write)
            </summary>
            <returns>System.Byte[].</returns>
            <value>The raw value.</value>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.WriteRawValue(System.Byte[])">
            <summary>
            Writes the raw value of the <see cref="T:TwinCAT.TypeSystem.IValueSymbol" /> (Ads Read / Write)
            </summary>
            <param name="value">The value.</param>
            <value>The raw value.</value>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.WriteRawValue(System.Byte[],System.Int32)">
            <summary>
            Writes the raw value of the <see cref="T:TwinCAT.TypeSystem.IValueSymbol" /> (Ads Read / Write)
            </summary>
            <param name="value">The value.</param>
            <param name="timeout">The timeout.</param>
            <value>The raw value.</value>
            <remarks>A negative timeout indicates that the Default Timeout for the communication will be used.
            0 means timeout is switched off.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.OnWriteRawValue(System.Byte[],System.Int32)">
            <summary>
            Handler function for writing the RawValue
            </summary>
            <param name="value">The value.</param>
            <param name="timeout">The timeout.</param>
            <exception cref="T:TwinCAT.CannotAccessVirtualSymbolException"></exception>
            <exception cref="T:TwinCAT.Ads.SymbolException"></exception>
            <exception cref="T:TwinCAT.Ads.SymbolException"></exception>
            <exception cref="T:TwinCAT.Ads.AdsErrorException"></exception>
            <exception cref="T:TwinCAT.Ads.AdsSymbolException"></exception>
            <exception cref="T:TwinCAT.Ads.AdsErrorException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.OnReadRawValue(System.Int32)">
            <summary>
            Handler function for reading the raw value
            </summary>
            <returns>System.Byte[].</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException"></exception>
            <exception cref="T:TwinCAT.Ads.AdsErrorException"></exception>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.Symbol._rawValueChanged">
            <summary>
            RawValueChanged delegate
            </summary>
        </member>
        <member name="E:TwinCAT.Ads.TypeSystem.Symbol.RawValueChanged">
            <summary>
            Occurs when the RawValue of the <see cref="T:TwinCAT.TypeSystem.IValueSymbol" /> has changed.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.Symbol._valueChanged">
            <summary>
            ValueChanged delegate.
            </summary>
        </member>
        <member name="E:TwinCAT.Ads.TypeSystem.Symbol.ValueChanged">
            <summary>
            Occurs when the (Primitive) value of the <see cref="T:TwinCAT.TypeSystem.IValueSymbol" /> has changed.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.Symbol.accessRights">
            <summary>
            The access rights
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Symbol.AccessRights">
            <summary>
            Gets the access rights.
            </summary>
            <value>The access rights.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Symbol.Connection">
            <summary>
            Gets the connection that produces values for this <see cref="T:TwinCAT.TypeSystem.IValueSymbol"/>
            </summary>
            <value>The connection object.</value>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.ReadValue">
            <summary>
            Reads the Value of the <see cref="T:TwinCAT.TypeSystem.IValueSymbol" />
            </summary>
            <returns>System.Object.</returns>
            <value>The value.</value>
            <remarks>Calling on primitive types, a call of this method will return the primitive value.
            On complex types (structures and arrays) it depends on the <see cref="T:TwinCAT.TypeSystem.ISymbolLoader" /> settings what will happen.
            In non dynamic modes: the raw byte Array will be returned,
            in dynamic mode: A Value will be created on the fly.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.ReadValue(System.Int32)">
            <summary>
            Reads the Value of the <see cref="T:TwinCAT.TypeSystem.IValueSymbol" />
            </summary>
            <param name="timeout">The timeout in ms.</param>
            <returns>System.Object.</returns>
            <value>The value.</value>
            <remarks>Calling on primitive types, a call of this method will return the primitive value.
            On complex types (structures and arrays) it depends on the <see cref="T:TwinCAT.TypeSystem.ISymbolLoader" /> settings what will happen.
            In non dynamic modes: the raw byte Array will be returned,
            in dynamic mode: A Value will be created on the fly.
            A negative timeout indicates that the Default Timeout for the communication will be used.
            0 means timeout is switched off.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.TryReadValue(System.Int32,System.Object@)">
            <summary>
            Reads the Value of the <see cref="T:TwinCAT.TypeSystem.IValueSymbol" />
            </summary>
            <param name="timeout">The timeout in ms.</param>
            <param name="value">The read value.</param>
            <returns>The error Code..</returns>
            <remarks>Calling on primitive types, a call of this method will return the primitive value.
            On complex types (structures and arrays) it depends on the <see cref="T:TwinCAT.TypeSystem.ISymbolLoader" /> settings what will happen.
            In non dynamic modes: the raw byte Array will be returned,
            in dynamic mode: A Value will be created on the fly.
            A negative timeout indicates that the Default Timeout for the communication will be used.
            0 means timeout is switched off.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.WriteValue(System.Object)">
            <summary>
            Writes the Value of the <see cref="T:TwinCAT.TypeSystem.IValueSymbol" />
            </summary>
            <param name="value">The value.</param>
            <remarks>Calling on primitive types, a call of this method will directly write this Value.
            On complex types (structs and arrays) it depends on the <see cref="T:TwinCAT.TypeSystem.ISymbolLoader" /> settings what will happen.
            In non dynamic modes: Only byte Arrays (of correct size) can be written)
            in dynamic mode: A Value that represents the value will be accepted also.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.TryWriteValue(System.Object,System.Int32)">
            <summary>
            Writes the Value of the <see cref="T:TwinCAT.TypeSystem.IValueSymbol" />
            </summary>
            <param name="value">The value.</param>
            <param name="timeout">The timeout in ms.</param>
            <returns>The error code.</returns>
            <remarks>Calling on primitive types, a call of this method will directly write this Value.
            On complex types (structs and arrays) it depends on the <see cref="T:TwinCAT.TypeSystem.ISymbolLoader" /> settings what will happen.
            In non dynamic modes: Only byte Arrays (of correct size) can be written)
            in dynamic mode: A Value that represents the value will be accepted also. A negative timeout indicates that the Default
            Timeout for the communication will be used.
            0 means timeout is switched off.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.WriteValue(System.Object,System.Int32)">
            <summary>
            Writes the Value of the <see cref="T:TwinCAT.TypeSystem.IValueSymbol" />
            </summary>
            <param name="value">The value.</param>
            <param name="timeout">The timeout in ms.</param>
            <remarks>Calling on primitive types, a call of this method will directly write this Value.
            On complex types (structs and arrays) it depends on the <see cref="T:TwinCAT.TypeSystem.ISymbolLoader" /> settings what will happen.
            In non dynamic modes: Only byte Arrays (of correct size) can be written)
            in dynamic mode: A Value that represents the value will be accepted also. A negative timeout indicates that the Default
            Timeout for the communication will be used.
            0 means timeout is switched off.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.OnWriteValue(System.Object,System.Int32)">
            <summary>
            Handler function for writing the dynamic value
            </summary>
            <param name="value">The value.</param>
            <param name="timeout">The timeout.</param>
            <exception cref="T:TwinCAT.CannotAccessVirtualSymbolException"></exception>
            <exception cref="T:TwinCAT.Ads.AdsSymbolException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.OnTryWriteValue(System.Object,System.Int32)">
            <summary>
            Handler function for writing the dynamic value
            </summary>
            <param name="value">The value.</param>
            <param name="timeout">The timeout.</param>
            <exception cref="T:TwinCAT.CannotAccessVirtualSymbolException"></exception>
            <exception cref="T:TwinCAT.Ads.AdsSymbolException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.EnsureRights(TwinCAT.TypeSystem.SymbolAccessRights)">
            <summary>
            Ensures that the AccessRights are matched.
            </summary>
            <param name="requested">The requested rights.</param>
            <exception cref="T:TwinCAT.InsufficientAccessRights"></exception>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.OnReadValue(System.Int32)">
            <summary>
            Handler function for reading the dynamic value.
            </summary>
            <returns>The Value</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.OnTryReadValue(System.Int32,System.Object@)">
            <summary>
            Handler function for reading the dynamic value.
            </summary>
            <returns>The Value</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.ReadAnyValue(System.Type)">
            <summary>
            Reads the value of this <see cref="T:TwinCAT.TypeSystem.IValueSymbol">Value</see> into a new created instance of the managed type
            </summary>
            <param name="managedType">The tp.</param>
            <returns>Read value (System.Object).</returns>
            <seealso cref="M:TwinCAT.TypeSystem.IValueAnySymbol.WriteAnyValue(System.Object)" />
            <seealso cref="M:TwinCAT.TypeSystem.IValueAnySymbol.UpdateAnyValue(System.Object@)"/>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.ReadAnyValue(System.Type,System.Int32)">
            <summary>
            Reads the value of this <see cref="T:TwinCAT.TypeSystem.IValueSymbol">Value</see> into a new created instance of the managed type
            </summary>
            <param name="managedType">The tp.</param>
            <param name="timeout">The timeout in ms.</param>
            <returns>Read value (System.Object).</returns>
            <seealso cref="M:TwinCAT.TypeSystem.IValueAnySymbol.WriteAnyValue(System.Object)" />
            <seealso cref="M:TwinCAT.TypeSystem.IValueAnySymbol.UpdateAnyValue(System.Object@)" />
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.UpdateAnyValue(System.Object@)">
            <summary>
            Reads the value of this <see cref="T:TwinCAT.TypeSystem.IValueSymbol">Value</see> into the specified managed value.
            </summary>
            <param name="managedObject">The managed object.</param>
            <returns>Read value (System.Object).</returns>
            <seealso cref="M:TwinCAT.TypeSystem.IValueAnySymbol.ReadAnyValue(System.Type)"/>
            <seealso cref="M:TwinCAT.TypeSystem.IValueAnySymbol.WriteAnyValue(System.Object)"/>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.UpdateAnyValue(System.Object@,System.Int32)">
            <summary>
            Reads the value of this <see cref="T:TwinCAT.TypeSystem.IValueSymbol">Value</see> into the specified managed value.
            </summary>
            <param name="managedObject">The managed object.</param>
            <param name="timeout">The timeout.</param>
            <returns>Read value (System.Object).</returns>
            <seealso cref="M:TwinCAT.TypeSystem.IValueAnySymbol.ReadAnyValue(System.Type)" />
            <seealso cref="M:TwinCAT.TypeSystem.IValueAnySymbol.WriteAnyValue(System.Object)" />
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.WriteAnyValue(System.Object)">
            <summary>
            Writes the value represented by the managed value to this <see cref="T:TwinCAT.TypeSystem.IValueSymbol">Value</see>
            </summary>
            <param name="managedValue">The managed value.</param>
            <seealso cref="M:TwinCAT.TypeSystem.IValueAnySymbol.ReadAnyValue(System.Type)"/>.
            <seealso cref="M:TwinCAT.TypeSystem.IValueAnySymbol.UpdateAnyValue(System.Object@)"/>.
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.WriteAnyValue(System.Object,System.Int32)">
            <summary>
            Writes the value represented by the managed value to this <see cref="T:TwinCAT.TypeSystem.IValueSymbol">Value</see>
            </summary>
            <param name="managedValue">The managed value.</param>
            <param name="timeout">The timeout in ms.</param>
            <seealso cref="M:TwinCAT.TypeSystem.IValueAnySymbol.ReadAnyValue(System.Type)" />.
            <seealso cref="M:TwinCAT.TypeSystem.IValueAnySymbol.UpdateAnyValue(System.Object@)" />.
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Symbol.IsPrimitiveType">
            <summary>
            Gets a value indicating whether this instance is primitive.
            </summary>
            <value>
                <c>true</c> if this instance is primitive; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Symbol.IsContainerType">
            <summary>
            Gets a value indicating whether the Symbols datatype is a Container type.
            </summary>
            <value><c>true</c> if this instance is container type; otherwise, <c>false</c>.</value>
            <seealso cref="P:TwinCAT.TypeSystem.IDataType.Category" />
            <remarks>Container Types are all types that contain SubElements like
            <list type="bullet"><item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Array" /></description></item><item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Pointer" /></description></item><item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Union" /></description></item><item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Struct" /></description></item><item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Function" /></description></item><item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.FunctionBlock" /></description></item><item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Program" /></description></item></list>
            and the <see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Alias" /> and <see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Reference" /> types, if they have a container type as base type.</remarks>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Symbol.IsRecursive">
            <summary>
            Gets a value indicating whether this instance is recursive.
            </summary>
            <value><c>true</c> if this instance is recursive; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.getParentList">
            <summary>
            Gets the parent list.
            </summary>
            <returns>List&lt;ISymbol&gt;.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.TwinCAT#TypeSystem#ISymbolValueChangeNotify#OnRawValueChanged(TwinCAT.TypeSystem.RawValueChangedArgs)">
            <summary>
            Called when the RawValue has been changed (firing RawValueChanged event).
            </summary>
            <param name="args">The arguments.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.TwinCAT#TypeSystem#ISymbolValueChangeNotify#OnValueChanged(TwinCAT.TypeSystem.ValueChangedArgs)">
            <summary>
            Called when the Value has been changed (firing ValueChanged event).
            </summary>
            <param name="args">The arguments.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Symbol.Unwrap(TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Gets the Unwrapped Symbol
            </summary>
            <param name="symbol">The symbol.</param>
            <returns>The unwrapped symbol if dynamically wrapped, the original symbol otherwise.</returns>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.VirtualStructInstance">
            <summary>
            Class VirtualStructInstance.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.VirtualStructInstance.#ctor(System.String,System.String,TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.ISymbolFactoryServices)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.VirtualStructInstance" /> class.
            </summary>
            <param name="instanceName">Name of the instance.</param>
            <param name="instancePath">The instance path.</param>
            <param name="parent">The parent.</param>
            <param name="services">The services.</param>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.VirtualStructInstance._virtualMembers">
            <summary>
            Virtual members (used as SubSymbols)
            </summary>
            <remarks>These virtual members are stored as full reference that they are
            not lost over time.
            /// </remarks>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.VirtualStructInstance.AddMember(TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.IVirtualStructInstance)">
            <summary>
            Adds the member.
            </summary>
            <param name="memberInstance">The member instance.</param>
            <param name="parent">The parent struct instance. Usually the this pointer.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.VirtualStructInstance.OnCreateSubSymbols(TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Called when the SubSymbols are (re)created)
            </summary>
            <param name="parentInstance">The parent instance.</param>
            <returns>TwinCAT.TypeSystem.SymbolCollection.</returns>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.VirtualStructInstance.BitSize">
            <summary>
            Gets the size of the <see cref="T:TwinCAT.Ads.TypeSystem.Instance" /> in bits.
            </summary>
            <value>The size of the bit.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.VirtualStructInstance.HasValue">
            <summary>
            Gets a value indicating whether this instance has a value.
            </summary>
            <value><c>true</c> if this instance has value; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.VirtualStructInstance.TryResolveType">
            <summary>
            Tries to resolve the <see cref="T:TwinCAT.TypeSystem.IDataType" />.
            </summary>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
            <exclude />
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.UnionInstance">
            <summary>
            Class representing a Union Instance
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.UnionInstance.#ctor(TwinCAT.Ads.Internal.AdsSymbolEntry,TwinCAT.TypeSystem.IUnionType,TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.ISymbolFactoryServices)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.UnionInstance" /> class.
            </summary>
            <param name="entry">The entry.</param>
            <param name="type">The type.</param>
            <param name="parent">The parent.</param>
            <param name="factoryServices">The factory services.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.UnionInstance.#ctor(System.String,TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.ISymbolFactoryServices)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.UnionInstance" /> class.
            </summary>
            <param name="instanceName">Name of the instance.</param>
            <param name="parent">The parent.</param>
            <param name="factoryServices">The factory services.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.UnionInstance.#ctor(System.String,System.String,TwinCAT.TypeSystem.ISymbolFactoryServices)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.UnionInstance" /> class.
            </summary>
            <param name="instanceName">Name of the instance.</param>
            <param name="instancePath">The instance path.</param>
            <param name="factoryServices">The factory services.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.UnionInstance.#ctor(TwinCAT.Ads.TypeSystem.Member,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.UnionInstance"/> class.
            </summary>
            <param name="member">The member.</param>
            <param name="parent">The parent of this member instance symbol.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.UnionInstance.#ctor(System.Int32[],System.Boolean,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.UnionInstance"/> class.
            </summary>
            <param name="currentIndex">Index of the current.</param>
            <param name="oversample">if set to <c>true</c> [oversample].</param>
            <param name="parent">The parent.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.UnionInstance.#ctor(TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.IUnionType,System.String,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.UnionInstance" /> class.
            </summary>
            <param name="parent">The parent.</param>
            <param name="type">The type.</param>
            <param name="instanceName">Name of the instance.</param>
            <param name="fieldOffset">The field offset.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.UnionInstance.OnCreateSubSymbols(TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Called when [create sub symbols].
            </summary>
            <param name="parentInstance">The parent instance.</param>
            <returns>SymbolCollection.</returns>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.UnionInstance.FieldInstances">
            <summary>
            Gets the member instances of the <see cref="T:TwinCAT.TypeSystem.IStructInstance">Struct Instance</see>.
            </summary>
            <value>The member instances.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.UnionInstance.IsPrimitiveType">
            <summary>
            Gets a value indicating whether this instance is primitive.
            </summary>
            <value><c>true</c> if this instance is primitive; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.UnionInstance.IsContainerType">
            <summary>
            Gets a value indicating whether this Symbol is a container/complex type.
            </summary>
            <value><c>true</c> if this instance is container type; otherwise, <c>false</c>.</value>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.StructInstance">
            <summary>
            Class representing a Struct Instance
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.StructInstance.#ctor(TwinCAT.Ads.Internal.AdsSymbolEntry,TwinCAT.TypeSystem.IStructType,TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.ISymbolFactoryServices)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.StructInstance" /> class.
            </summary>
            <param name="entry">The entry.</param>
            <param name="type">The type.</param>
            <param name="parent">The parent.</param>
            <param name="factoryServices">The factory services.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.StructInstance.#ctor(System.String,TwinCAT.TypeSystem.ISymbol,System.Int32,TwinCAT.TypeSystem.ISymbolFactoryServices)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.StructInstance" /> class.
            </summary>
            <param name="instanceName">Name of the instance.</param>
            <param name="parent">The parent.</param>
            <param name="fieldOffset">The field offset.</param>
            <param name="factoryServices">The factory services.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.StructInstance.#ctor(System.String,System.String,TwinCAT.TypeSystem.ISymbolFactoryServices)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.StructInstance" /> class.
            </summary>
            <param name="instanceName">Name of the instance.</param>
            <param name="instancePath">The instance path.</param>
            <param name="factoryServices">The factory services.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.StructInstance.#ctor(TwinCAT.Ads.TypeSystem.Member,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.StructInstance"/> class.
            </summary>
            <param name="member">The member.</param>
            <param name="parent">The parent (<see cref="T:TwinCAT.TypeSystem.IStructInstance"/> or <see cref="T:TwinCAT.TypeSystem.IAliasInstance"/>) of this member instance symbol.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.StructInstance.#ctor(System.Int32[],System.Boolean,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.StructInstance"/> class.
            </summary>
            <param name="currentIndex">Index of the current.</param>
            <param name="oversample">if set to <c>true</c> [oversample].</param>
            <param name="parent">The parent.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.StructInstance.#ctor(TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.IStructType,System.String,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.StructInstance" /> class.
            </summary>
            <param name="parent">The parent.</param>
            <param name="type">The type.</param>
            <param name="instanceName">Name of the instance.</param>
            <param name="fieldOffset">The field offset.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.StructInstance.OnCreateSubSymbols(TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Called when [create sub symbols].
            </summary>
            <param name="parentInstance">The parent instance.</param>
            <returns>SymbolCollection.</returns>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.StructInstance.MemberInstances">
            <summary>
            Gets the member instances of the <see cref="T:TwinCAT.TypeSystem.IStructInstance">Struct Instance</see>.
            </summary>
            <value>The member instances.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.StructInstance.IsPrimitiveType">
            <summary>
            Gets a value indicating whether this instance is primitive.
            </summary>
            <value><c>true</c> if this instance is primitive; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.StructInstance.IsContainerType">
            <summary>
            Gets a value indicating whether this Symbol is a container/complex type.
            </summary>
            <value><c>true</c> if this instance is container type; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.StructInstance.HasRpcMethods">
            <summary>
            Gets a value indicating whether this instance has RPC methods
            </summary>
            <value><c>true</c> if this instance has RPC methods; otherwise, <c>false</c>.</value>
            <remarks>If the struct instance supports RPC Methods, then the instance class is also
            supporting <see cref="T:TwinCAT.TypeSystem.IRpcStructInstance" />.</remarks>
            <seealso cref="T:TwinCAT.TypeSystem.IRpcStructInstance"/>
            <seealso cref="T:TwinCAT.TypeSystem.IRpcMethod"/>
            <seealso cref="T:TwinCAT.TypeSystem.IRpcMethodParameter"/>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.RpcStructInstance">
            <summary>
            Struct Instance with RPC Methods
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.RpcStructInstance.#ctor(System.Int32[],System.Boolean,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.RpcStructInstance" /> class.
            </summary>
            <param name="currentIndex">Index of the current.</param>
            <param name="oversample">Indicates, that the oversample Symbol is to be created.</param>
            <param name="arrayInstance">The array instance.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.RpcStructInstance.#ctor(TwinCAT.Ads.TypeSystem.Member,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.RpcStructInstance"/> class.
            </summary>
            <param name="typedMember">The typed member.</param>
            <param name="parent">The parent (<see cref="T:TwinCAT.TypeSystem.IStructInstance"/> or <see cref="T:TwinCAT.TypeSystem.IAliasInstance"/>) of this member instance symbol.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.RpcStructInstance.#ctor(TwinCAT.Ads.Internal.AdsSymbolEntry,TwinCAT.Ads.TypeSystem.RpcStructType,TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.ISymbolFactoryServices)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.RpcStructInstance" /> class.
            </summary>
            <param name="entry">The entry.</param>
            <param name="structRpcCallable">The structure RPC callable.</param>
            <param name="parent">The parent.</param>
            <param name="services">The services.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.RpcStructInstance.#ctor(TwinCAT.TypeSystem.ISymbol,TwinCAT.Ads.TypeSystem.StructType,System.String,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.RpcStructInstance" /> class.
            </summary>
            <param name="parent">The parent.</param>
            <param name="type">The type.</param>
            <param name="instanceName">Name of the instance.</param>
            <param name="fieldOffset">The field offset.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.RpcStructInstance.InvokeRpcMethod(System.String,System.Object[])">
            <summary>
            Invokes the specified method.
            </summary>
            <param name="methodName">Name of the method.</param>
            <param name="inParameters">The IN parameters or NULL.</param>
            <returns>The return value of the RPC Method</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">methodName</exception>
            <exception cref="T:System.ArgumentException">The parameters are not matching the method prototype.;parameters</exception>
            <example>
              <code language="ST" title="RPC Method definition and implementation">
            (* Declaration *)
            {attribute 'TcRpcEnable'}
            METHOD RpcMethod1 : INT
            VAR_INPUT
            i1 : INT;
            END_VAR
            (* Implementation *)
            RpcMethod1 := i1 + 1;
            </code>
            </example>
            <remarks>To indicate a PLC Method for remote ads access, the attribute 'TcRpcEnable' must be declared on
            the method declaration (see example).</remarks>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.RpcStructInstance.TryInvokeRpcMethod(System.String,System.Object[],System.Object@)">
            <summary>
            Tries to invoke the specified method.
            </summary>
            <param name="methodName">Name of the method.</param>
            <param name="inParameters">The arguments.</param>
            <param name="result">The result.</param>
            <returns><c>true</c> if the call succeeds, <c>false</c> otherwise.</returns>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.RpcStructInstance.TryInvokeRpcMethod(TwinCAT.TypeSystem.IRpcMethod,System.Object[],System.Object@)">
            <summary>
            Tries to invoke the specified method.
            </summary>
            <param name="method">The method.</param>
            <param name="inParameters">The arguments.</param>
            <param name="result">The result.</param>
            <returns><c>true</c> if the call succeeds, <c>false</c> otherwise.</returns>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.RpcStructInstance.TryInvokeRpcMethod(TwinCAT.TypeSystem.IRpcMethod,System.Object[],TwinCAT.TypeSystem.AnyTypeSpecifier[],TwinCAT.TypeSystem.AnyTypeSpecifier,System.Object[]@,System.Object@)">
            <summary>
            Invokes the specified RPC Method
            </summary>
            <param name="method">The method.</param>
            <param name="args">The arguments.</param>
            <param name="outSpecifiers">The ANYTYPE out specifiers.</param>
            <param name="resultSpecifier">The ANYTYPE result specifiers.</param>
            <param name="outParameters">The out parameters.</param>
            <param name="result">The result.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.RpcStructInstance.RpcMethods">
            <summary>
            Gets the Method descriptions for the <see cref="T:TwinCAT.TypeSystem.IRpcCallableType" />
            </summary>
            <value>The methods.</value>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.AliasInstance">
            <summary>
            Class AliasInstance.
            </summary>
            <seealso cref="T:TwinCAT.Ads.TypeSystem.Symbol" />
            <seealso cref="T:TwinCAT.TypeSystem.IAliasInstance" />
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.AliasInstance.#ctor(TwinCAT.Ads.Internal.AdsSymbolEntry,TwinCAT.TypeSystem.IAliasType,TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.ISymbolFactoryServices)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.AliasInstance" /> class.
            </summary>
            <param name="entry">The entry.</param>
            <param name="type">The type.</param>
            <param name="parent">The parent.</param>
            <param name="factoryServices">The factory services.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.AliasInstance.#ctor(TwinCAT.Ads.TypeSystem.Member,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.ReferenceInstance" /> class.
            </summary>
            <param name="member">The member.</param>
            <param name="parent">The parent (<see cref="T:TwinCAT.TypeSystem.IStructInstance"/> or <see cref="T:TwinCAT.TypeSystem.IAliasInstance"/>) of this member instance symbol.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.AliasInstance.#ctor(System.Int32[],System.Boolean,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.ReferenceInstance"/> class.
            </summary>
            <param name="currentIndex">Index of the current.</param>
            <param name="oversample">Indicates, that the oversample Symbol is to be created.</param>
            <param name="parent">The parent.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.AliasInstance.#ctor(TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.IAliasType,System.String,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.ReferenceInstance" /> class.
            </summary>
            <param name="parent">The parent.</param>
            <param name="type">The type.</param>
            <param name="instanceName">Name of the instance.</param>
            <param name="fieldOffset">The field offset.</param>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.AliasInstance.IsPrimitiveType">
            <summary>
            Gets a value indicating whether this instance is primitive.
            </summary>
            <value><c>true</c> if this instance is primitive; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.AliasInstance.IsContainerType">
            <summary>
            Gets a value indicating whether this Symbol is a container/complex type.
            </summary>
            <value><c>true</c> if this instance is container type; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.AliasInstance.OnCreateSubSymbols(TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Creates the sub symbols collection.
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.ReferenceInstance">
            <summary>
            Reference instance.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ReferenceInstance.#ctor(TwinCAT.Ads.Internal.AdsSymbolEntry,TwinCAT.TypeSystem.IReferenceType,TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.ISymbolFactoryServices)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.ReferenceInstance" /> class.
            </summary>
            <param name="entry">The entry.</param>
            <param name="type">The type.</param>
            <param name="parent">The parent.</param>
            <param name="factoryServices">The factory services.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ReferenceInstance.#ctor(TwinCAT.Ads.TypeSystem.Member,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.ReferenceInstance" /> class.
            </summary>
            <param name="member">The member.</param>
            <param name="parent">The parent (<see cref="T:TwinCAT.TypeSystem.IStructInstance"/> or <see cref="T:TwinCAT.TypeSystem.IAliasInstance"/>) of this member instance symbol.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ReferenceInstance.#ctor(System.Int32[],System.Boolean,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.ReferenceInstance"/> class.
            </summary>
            <param name="currentIndex">Index of the current.</param>
            <param name="oversample">Indicates, that the oversample Symbol is to be created.</param>
            <param name="parent">The parent.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ReferenceInstance.#ctor(TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.IReferenceType,System.String,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.ReferenceInstance" /> class.
            </summary>
            <param name="parent">The parent.</param>
            <param name="type">The type.</param>
            <param name="instanceName">Name of the instance.</param>
            <param name="fieldOffset">The field offset.</param>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ReferenceInstance.IsPrimitiveType">
            <summary>
            Gets a value indicating whether this instance is primitive.
            </summary>
            <value><c>true</c> if this instance is primitive; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ReferenceInstance.IsContainerType">
            <summary>
            Gets a value indicating whether this Symbol is a container/complex type.
            </summary>
            <value><c>true</c> if this instance is container type; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ReferenceInstance.ResolvedCategory">
            <summary>
            Gets the Category of the Referenced Symbol.
            </summary>
            <value>The resolved category.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ReferenceInstance.ReferencedType">
            <summary>
            Gets the referenced type
            </summary>
            <value>The type of the referenced type</value>
            <remarks>This is no complete resolvement, only the next level. The referenced type can be a reference again.</remarks>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ReferenceInstance.ResolvedType">
            <summary>
            Gets the (completely) resolved type
            </summary>
            <value>The type of the resolved symbol</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ReferenceInstance.ResolvedByteSize">
            <summary>
            Get the ByteSize of the (completely) resolved Symbol
            </summary>
            <value>The size of the resolved byte.</value>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ReferenceInstance.OnCreateSubSymbols(TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Creates the sub symbols collection.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ReferenceInstance.TwinCAT#TypeSystem#IReferenceInstanceAccess#TryGetElement(System.Int32[],TwinCAT.TypeSystem.ISymbol@)">
            <summary>
            Tries to get the array element (only in case of ResolvedCategory ARRAY)
            </summary>
            <param name="indices">The indices.</param>
            <param name="symbol">The found Array element symbol (out-parameter).</param>
            <returns>true if found, false if the indices specifiers is out-of-range.</returns>
            <exception cref="T:System.ArgumentNullException">indices</exception>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.StringInstance">
            <summary>
            Pointer Instance
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.StringInstance.#ctor(TwinCAT.Ads.Internal.AdsSymbolEntry,TwinCAT.TypeSystem.IStringType,TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.ISymbolFactoryServices)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.StringInstance" /> class.
            </summary>
            <param name="entry">The entry.</param>
            <param name="type">The type.</param>
            <param name="parent">The parent.</param>
            <param name="factoryServices">The factory services.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.StringInstance.#ctor(System.Int32[],System.Boolean,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.StringInstance"/> class.
            </summary>
            <param name="currentIndex">Index of the current.</param>
            <param name="oversample">Indicates, that the oversample Symbol is to be created.</param>
            <param name="parent">The parent.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.StringInstance.#ctor(TwinCAT.Ads.TypeSystem.Member,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.StringInstance"/> class.
            </summary>
            <param name="member">The member.</param>
            <param name="parent">The parent (<see cref="T:TwinCAT.TypeSystem.IStructInstance"/> or <see cref="T:TwinCAT.TypeSystem.IAliasInstance"/>) of this member instance symbol.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.StringInstance.#ctor(TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.IStringType,System.String,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.StringInstance" /> class.
            </summary>
            <param name="parent">The parent.</param>
            <param name="type">The type.</param>
            <param name="instanceName">Name of the instance.</param>
            <param name="fieldOffset">The field offset.</param>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.StringInstance.Encoding">
            <summary>
            Gets the encoding of the String (Encoding.Default (STRING) or Encoding.UNICODE (WSTRING))
            </summary>
            <value>The encoding.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.StringInstance.IsFixedLength">
            <summary>
            Gets a value indicating whether this instance is fixed length.
            </summary>
            <value><c>true</c> if this instance is fixed length; otherwise, <c>false</c>.</value>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.PointerInstance">
            <summary>
            Pointer Instance
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.PointerInstance.#ctor(TwinCAT.Ads.Internal.AdsSymbolEntry,TwinCAT.TypeSystem.IPointerType,TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.ISymbolFactoryServices)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.ReferenceInstance" /> class.
            </summary>
            <param name="entry">The entry.</param>
            <param name="type">The type.</param>
            <param name="parent">The parent.</param>
            <param name="factoryServices">The factory services.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.PointerInstance.#ctor(System.Int32[],System.Boolean,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.PointerInstance"/> class.
            </summary>
            <param name="currentIndex">Index of the current.</param>
            <param name="oversample">Indicates, that the oversample Symbol is to be created.</param>
            <param name="parent">The parent.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.PointerInstance.#ctor(TwinCAT.Ads.TypeSystem.Member,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.PointerInstance"/> class.
            </summary>
            <param name="member">The member.</param>
            <param name="parent">The parent (<see cref="T:TwinCAT.TypeSystem.IStructInstance"/> or <see cref="T:TwinCAT.TypeSystem.IAliasInstance"/>) of this member instance symbol.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.PointerInstance.#ctor(TwinCAT.TypeSystem.ISymbol,TwinCAT.Ads.TypeSystem.PointerType,System.String,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.PointerInstance" /> class.
            </summary>
            <param name="parent">The parent.</param>
            <param name="type">The type.</param>
            <param name="instanceName">Name of the instance.</param>
            <param name="fieldOffset">The field offset.</param>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.PointerInstance.IsPrimitiveType">
            <summary>
            Gets a value indicating whether this instance is primitive.
            </summary>
            <value><c>true</c> if this instance is primitive; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.PointerInstance.IsContainerType">
            <summary>
            Gets a value indicating whether this Symbol is a container/complex type.
            </summary>
            <value><c>true</c> if this instance is container type; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.PointerInstance.OnCreateSubSymbols(TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Creates the sub symbols collection.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.PointerInstance.Reference">
            <summary>
            Gets the resolved reference of Pointer / Reference
            </summary>
            <value>The reference.</value>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.OversamplingArrayInstance">
            <summary>
            Class OversamplingArrayInstance.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.OversamplingArrayInstance.#ctor(System.Int32[],System.Boolean,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.ArrayInstance" /> class.
            </summary>
            <param name="currentIndex">Index of the current.</param>
            <param name="oversample">Oversampling instance.</param>
            <param name="parent">The parent.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.OversamplingArrayInstance.#ctor(TwinCAT.Ads.Internal.AdsSymbolEntry,TwinCAT.TypeSystem.IArrayType,TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.ISymbolFactoryServices)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.ArrayInstance" /> class.
            </summary>
            <param name="entry">The entry.</param>
            <param name="type">The type.</param>
            <param name="parent">The parent.</param>
            <param name="factoryServices">The factory services.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.OversamplingArrayInstance.#ctor(TwinCAT.Ads.TypeSystem.Member,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.ArrayInstance"/> class.
            </summary>
            <param name="member">The member.</param>
            <param name="parent">The parent (<see cref="T:TwinCAT.TypeSystem.IStructInstance"/> or <see cref="T:TwinCAT.TypeSystem.IAliasInstance"/>) of this member instance symbol.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.OversamplingArrayInstance.#ctor(TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.IArrayType,System.String,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.OversamplingArrayInstance" /> class.
            </summary>
            <param name="parent">The parent.</param>
            <param name="type">The type.</param>
            <param name="instanceName">Name of the instance.</param>
            <param name="fieldOffset">The field offset.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.OversamplingArrayInstance.OnCreateSubSymbols(TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Creates the sub symbols collection.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.OversamplingArrayInstance.TryGetOversamplingElement(TwinCAT.TypeSystem.ISymbol@)">
            <summary>
            Tries to get the oversampling element
            </summary>
            <param name="symbol">The symbol.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.OversamplingArrayInstance.OversamplingElement">
            <summary>
            Gets the oversampling element.
            </summary>
            <value>The oversampling element.</value>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.OversamplingArrayInstance.OnGetElements">
            <summary>
            Get the Elements Collection (SubItems without Virtual oversampling element)
            </summary>
            <returns>ReadOnlySymbolCollection.</returns>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.ArrayInstance">
            <summary>
            Implementation of the <see cref="T:TwinCAT.TypeSystem.IArrayInstance"/>.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ArrayInstance.#ctor(TwinCAT.Ads.Internal.AdsSymbolEntry,TwinCAT.TypeSystem.IArrayType,TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.ISymbolFactoryServices)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.ArrayInstance" /> class.
            </summary>
            <param name="entry">The entry.</param>
            <param name="type">The type.</param>
            <param name="parent">The parent.</param>
            <param name="factoryServices">The factory services.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ArrayInstance.#ctor(TwinCAT.Ads.TypeSystem.Member,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.ArrayInstance"/> class.
            </summary>
            <param name="member">The member.</param>
            <param name="parent">The parent (<see cref="T:TwinCAT.TypeSystem.IStructInstance"/> or <see cref="T:TwinCAT.TypeSystem.IAliasInstance"/>) of this member instance symbol.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ArrayInstance.#ctor(System.Int32[],System.Boolean,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.ArrayInstance" /> class.
            </summary>
            <param name="currentIndex">Index of the current.</param>
            <param name="oversample">Oversampling instance.</param>
            <param name="parent">The parent.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ArrayInstance.#ctor(TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.IArrayType,System.String,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.ArrayInstance" /> class.
            </summary>
            <param name="parent">The parent.</param>
            <param name="type">The type.</param>
            <param name="instanceName">Name of the instance.</param>
            <param name="fieldOffset">The field offset.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ArrayInstance.OnAccessSubSymbols">
            <summary>
            Handler function is called, when SubSymbols (the elements) are called.
            </summary>
            <remarks>
            </remarks>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ArrayInstance.OnCreateSubSymbols(TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Creates the sub symbols collection.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ArrayInstance.Elements">
            <summary>
            Gets the contained Array Elements as read only collection.
            </summary>
            <value>The elements.</value>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ArrayInstance.OnGetElements">
            <summary>
            Handler function getting the SubElements of the Array.
            </summary>
            <returns>ReadOnlySymbolCollection.</returns>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ArrayInstance.Item(System.Int32[])">
            <summary>
            Gets the <see cref="T:TwinCAT.TypeSystem.ISymbol"/> with the specified indices.
            </summary>
            <param name="indices">The indices.</param>
            <returns>ISymbol.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">indices</exception>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ArrayInstance.TryGetElement(System.Int32[],TwinCAT.TypeSystem.ISymbol@)">
            <summary>
            Tries to get the array element
            </summary>
            <param name="indices">The indices.</param>
            <param name="symbol">The found Array element symbol (out-parameter).</param>
            <returns>true if found, false if the indices specifiers is out-of-range.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ArrayInstance.TryGetElement(System.Collections.Generic.IList{System.Int32[]},TwinCAT.TypeSystem.ISymbol@)">
            <summary>
            Tries to get the array element with the specified indices (jagged array support).
            </summary>
            <param name="jaggedIndices">The jagged indices list.</param>
            <param name="symbol">The symbol.</param>
            <returns>true if found, false if the jagged indices specifiers is out-of-range.</returns>
            <exception cref="T:System.ArgumentNullException">jaggedIndices</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">jaggedIndices</exception>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ArrayInstance.JaggedLevel">
            <summary>
            Gets the jagged level.
            </summary>
            <value>The jagged level.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ArrayInstance.IsContainerType">
            <summary>
            Gets a value indicating whether this Symbol is a container/complex type.
            </summary>
            <value><c>true</c> if this instance is container type; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ArrayInstance.IsPrimitiveType">
            <summary>
            Gets a value indicating whether this instance is primitive.
            </summary>
            <value><c>true</c> if this instance is primitive; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ArrayInstance.Dimensions">
            <summary>
            Gets the dimensions as read only collection.
            </summary>
            <value>The dimensions.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ArrayInstance.ElementType">
            <summary>
            Gets the type of the contained elements.
            </summary>
            <value>The type of the element.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ArrayInstance.IsOversampled">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.Ads.TypeSystem.ArrayInstance"/> is oversampled.
            </summary>
            <value><c>true</c> if this instance is oversampled; otherwise, <c>false</c>.</value>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.IArrayInstanceVariableSize">
            <summary>
            Interface IAnySizeArrayInstance
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.IArrayInstanceVariableSize.TryUpdateDimensions">
            <summary>
            Updates the dimensions of this VariableSize Array
            </summary>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.IArrayInstanceVariableSize.TryReadLengthIs(System.Int32[]@)">
            <summary>
            Reads the dynamic Dim Lengths of the AnySize Array.
            </summary>
            <param name="lengthIsValue">The dynamic dimension lengths.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.IArrayInstanceVariableSize.DynamicDimLengths">
            <summary>
            Gets the Array of Dynamic Dim Lengths (cached).
            </summary>
            <value>The dynamic dim lengths.</value>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.DimensionCollectionExtension.FillDynamicDimensions(TwinCAT.TypeSystem.ReadOnlyDimensionCollection,System.Int32,System.Int32[],System.Int32@)">
            <summary>
            Creates a new DimensionCollection from unconcrete dynamic dimensions
            </summary>
            <param name="dynamicDimensions">The dims.</param>
            <param name="index">Starting index within the dynamic lengths.</param>
            <param name="dynamicLengths">The dynamic lengths.</param>
            <param name="dynamicDimensionCount">The amount of patched dimensions.</param>
            <returns>The Patched / Real / Online Dimension collection.</returns>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.ArrayTypeVariableSize">
            <summary>
            Variable / Dynamic / AnySize Array Type.
            Implements the <see cref="T:TwinCAT.Ads.TypeSystem.ArrayType" />
            </summary>
            <seealso cref="T:TwinCAT.Ads.TypeSystem.ArrayType" />
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.ArrayTypeVariableSize._rootDynamic">
            <summary>
            Root dynamic instance.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ArrayTypeVariableSize.#ctor(TwinCAT.Ads.TypeSystem.ArrayType,System.Int32,TwinCAT.Ads.TypeSystem.IArrayInstanceVariableSize)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.ArrayTypeVariableSize"/> class.
            </summary>
            <param name="type">The dynamic/original type.</param>
            <param name="dynamicParameterOffset">The dynamic parameter offset.</param>
            <param name="rootDynamic">The root dynamic instance.</param>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.ArrayTypeVariableSize._dynamicParameterOffset">
            <summary>
            Offset within the DynamicDimLengths (necessary for jagged arrays)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.ArrayTypeVariableSize._dynamicParameterCount">
            <summary>
            Number of used dynamic Dimensions
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ArrayTypeVariableSize.DynamicParameterCount">
            <summary>
            Number of used dynamic Dimensions.
            </summary>
            <value>The dynamic parameter count.</value>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.ArrayInstanceVariableSize">
            <summary>
            Class AnySizeArrayInstance.
            Implements the <see cref="T:TwinCAT.Ads.TypeSystem.ArrayInstance" />
            </summary>
            <remarks>This ArrayInstance type is used for so called 'AnySize' arrays. That means
            array instances that referenced by pointers that are marked with the 'TcArraySize' attribute.
            The field reference in the attribute is used to specify the size of the referenced Array dynamically
            during runtime.
            </remarks>
            <seealso cref="T:TwinCAT.Ads.TypeSystem.ArrayInstance" />
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ArrayInstanceVariableSize.#ctor(TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.IArrayType,System.String,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.ArrayInstance" /> class.
            </summary>
            <param name="parent">The parent.</param>
            <param name="type">The type.</param>
            <param name="instanceName">Name of the instance.</param>
            <param name="fieldOffset">The field offset.</param>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ArrayInstanceVariableSize.ParentPointer">
            <summary>
            Gets the parent pointer Symbol
            </summary>
            <value>The parent pointer.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ArrayInstanceVariableSize.TcArraySizeFieldName">
            <summary>
            Gets the name of the 'TcArrayLengthIs' field
            </summary>
            <value>The name of the tc array size field.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ArrayInstanceVariableSize.ParentStruct">
            <summary>
            Gets the parent structure.
            </summary>
            <value>The parent structure.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ArrayInstanceVariableSize.LengthIsSymbol">
            <summary>
            Gets the 'LengthIs' symbol
            </summary>
            <value>The array size symbol.</value>
            <remarks>This can be symbol of an Primitive value (e.g INT, for one index) or
            an Array of primtive values (e.g. ARRAY OF INT) </remarks>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ArrayInstanceVariableSize.OnGetSubSymbols">
            <summary>
            Handler function getting the SubSymbols
            </summary>
            <returns>ISymbolCollection.</returns>
            <remarks>
            The SubSymbols are determined instead of the WeakReference Cache of the base implementation.
            </remarks>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ArrayInstanceVariableSize.OnGetSubSymbolCount">
            <summary>
            Handler function determining the SubSymbolCode (optimized)
            </summary>
            <returns>System.Int32.</returns>
            <exclude />
            <remarks>This overload enforces that, the SubSymbolCount will be recreated on access, and not be cached as coded
            in the base implementation.</remarks>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.ArrayInstanceVariableSize._cachedDimLengths">
            <summary>
            The cached dim lengths
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ArrayInstanceVariableSize.DynamicDimLengths">
            <summary>
            Gets the Array of Dynamic Dim Lengths (cached).
            </summary>
            <value>The dynamic dim lengths.</value>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ArrayInstanceVariableSize.TryReadLengthIs(System.Int32[]@)">
            <summary>
            Tries to read TcLengthIs symbol, that is referenced by this <see cref="T:TwinCAT.Ads.TypeSystem.ArrayInstanceVariableSize"/> array.
            </summary>
            <param name="lengthIsValue">The length is value.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ArrayInstanceVariableSize.OnGetSize">
            <summary>
            Handler function getting the size of the <see cref="T:TwinCAT.Ads.TypeSystem.Instance" />
            </summary>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ArrayInstanceVariableSize.OnAccessSubSymbols">
            <summary>
            Handler function is called, when SubSymbols (the elements) are called.
            </summary>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
            <exclude />
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.ArrayInstanceVariableSize._dynamicTypeRead">
            <summary>
            Indicates, that the dynamic type was read at least one time.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ArrayInstanceVariableSize.TryUpdateDimensions">
            <summary>
            Updates the dimensions of this VariableSize Array
            </summary>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ArrayInstanceVariableSize.OnReadRawValue(System.Int32)">
            <summary>
            Handler function for reading the raw value
            </summary>
            <param name="timeout">The timeout.</param>
            <returns>System.Byte[].</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ArrayInstanceVariableSize.OnReadValue(System.Int32)">
            <summary>
            Handler function for reading the dynamic value.
            </summary>
            <param name="timeout">The timeout.</param>
            <returns>The Value</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ArrayInstanceVariableSize.OnWriteRawValue(System.Byte[],System.Int32)">
            <summary>
            Handler function for writing the RawValue
            </summary>
            <param name="value">The value.</param>
            <param name="timeout">The timeout.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ArrayInstanceVariableSize.OnWriteValue(System.Object,System.Int32)">
            <summary>
            Handler function for writing the dynamic value
            </summary>
            <param name="value">The value.</param>
            <param name="timeout">The timeout.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ArrayInstanceVariableSize.TryResolveType">
            <summary>
            Tries to resolve the <see cref="T:TwinCAT.TypeSystem.IDataType" />.
            </summary>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ArrayInstanceVariableSize.TryGetElement(System.Int32[],TwinCAT.TypeSystem.ISymbol@)">
            <summary>
            Tries to get the array element
            </summary>
            <param name="indices">The indices.</param>
            <param name="symbol">The found Array element symbol (out-parameter).</param>
            <returns>true if found, false if the indices specifiers is out-of-range.</returns>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.SymbolIterator">
            <summary>
            Iterator class for enumerations of <see cref="T:TwinCAT.TypeSystem.ISymbol">Symbols</see>.
            </summary>
            <remarks>This iterator class can be used to iterate over collections of symbol trees (root symbols + sub symbols).
            By constructor the user can choose if the iterator works recursively within the symbol
            tree and optionally a filter function to select only specific symbols (predicate).
            </remarks>
            <example>
            The following example shows how to determine, browse and filter symbols.
            <code language="C#" title="Browsing and filtering Symbols" source="..\Samples\TwinCAT.ADS.NET_Samples\01_ADS.NET_ReadWriteFlag\Form1.cs" region="CODE_SAMPLE_SYMBOLBROWSER" />
            </example>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.SymbolIterator.#ctor(TwinCAT.TypeSystem.Generic.IInstanceCollection{TwinCAT.TypeSystem.ISymbol},System.Func{TwinCAT.TypeSystem.ISymbol,System.Boolean})">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.SymbolIterator" /> class.
            </summary>
            <param name="symbols">The symbol collection.</param>
            <param name="predicate">The predicate / filter function</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.SymbolIterator.#ctor(System.Collections.Generic.IEnumerable{TwinCAT.TypeSystem.ISymbol},System.Boolean,System.Func{TwinCAT.TypeSystem.ISymbol,System.Boolean})">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.SymbolIterator" /> class.
            </summary>
            <param name="symbols">The symbol collection.</param>
            <param name="recurse">if set to <c>true</c>, the iterator works recursively over all subsymbols.</param>
            <param name="predicate">The predicate / filter function.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.SymbolIterator.#ctor(TwinCAT.TypeSystem.Generic.IInstanceCollection{TwinCAT.TypeSystem.ISymbol})">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.SymbolIterator"/> class.
            </summary>
            <param name="symbols">The symbol collection</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.SymbolIterator.#ctor(System.Collections.Generic.IEnumerable{TwinCAT.TypeSystem.ISymbol},System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.SymbolIterator"/> class.
            </summary>
            <param name="symbols">The symbol enumeration.</param>
            <param name="recurse">if set to <c>true</c>, the iterator works recursively over all subsymbols.</param>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.IAdsBinder">
            <summary>
            Interface IAdsTypeBinder
            </summary>
            <seealso cref="T:TwinCAT.TypeSystem.IBinder" />
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.IAdsBinder.ImageBaseAddress">
            <summary>
            Gets the <see cref="T:TwinCAT.Ads.AmsAddress" /> of the Process Image
            </summary>
            <value>The address.</value>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.CategoryConverter">
            <summary>
            Category converter
            </summary>
            <remarks>Converts the <see cref="T:TwinCAT.TypeSystem.DataTypeCategory"/> from <see cref="T:TwinCAT.Ads.AdsDatatypeId"/>
            and vice versa.</remarks>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.CategoryConverter.FromId(TwinCAT.Ads.AdsDatatypeId)">
            <summary>
            Converts to <see cref="T:TwinCAT.TypeSystem.DataTypeCategory"/> from <see cref="T:TwinCAT.Ads.AdsDatatypeId"/>.
            </summary>
            <param name="id">The identifier.</param>
            <returns>DataTypeCategory.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.CategoryConverter.FromId(TwinCAT.Ads.AdsDatatypeId,System.String)">
            <summary>
            Converts the <see cref="T:TwinCAT.TypeSystem.DataTypeCategory"/> from <see cref="T:TwinCAT.Ads.AdsDatatypeId"/> and typename.
            </summary>
            <param name="id">The identifier.</param>
            <param name="typeName">Name of the type.</param>
            <returns>DataTypeCategory.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.CategoryConverter.FromType(TwinCAT.Ads.ITcAdsDataType)">
            <summary>
            Converts the <see cref="T:TwinCAT.Ads.ITcAdsDataType"/> to <see cref="T:TwinCAT.TypeSystem.DataTypeCategory"/>.
            </summary>
            <param name="type">The type.</param>
            <returns>DataTypeCategory.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.CategoryConverter.FromCategory(TwinCAT.TypeSystem.DataTypeCategory)">
            <summary>
            Converts the <see cref="T:TwinCAT.TypeSystem.DataTypeCategory"/> to the <see cref="T:TwinCAT.Ads.AdsDatatypeId"/>.
            </summary>
            <param name="cat">The cat.</param>
            <returns>AdsDatatypeId.</returns>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.BitMappingType">
            <summary>
            Helper Data Type to implement Bit mapping types.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.BitMappingType.#ctor(System.String,System.Int32,System.Type)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.BitMappingType"/> class.
            </summary>
            <param name="name">The name.</param>
            <param name="bitSize">The size of the type in bits.</param>
            <param name="dotnetType">Type of the dotnet.</param>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.PrimitiveType">
            <summary>
            Class PrimitiveType.
            </summary>
            <seealso cref="T:TwinCAT.Ads.TypeSystem.DataType" />
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.PrimitiveType.#ctor(System.String,TwinCAT.Ads.AdsDatatypeId,System.Int32,TwinCAT.TypeSystem.PrimitiveTypeFlags,System.Type)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.PrimitiveType" /> class.
            </summary>
            <param name="name">The name.</param>
            <param name="dataTypeId">The data type identifier.</param>
            <param name="byteSize">Size of the byte.</param>
            <param name="flags">The flags.</param>
            <param name="dotnetType">Type of the dotnet.</param>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.PrimitiveType.PrimitiveFlags">
            <summary>
            Indicates types of different PrimitiveTypes with flags.
            </summary>
            <value>The primitive flags.</value>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.PlatformBoundType">
            <summary>
            Platform bound types.
            </summary>
            <remarks>These are <see cref="T:TwinCAT.Ads.TypeSystem.PrimitiveType">Primitive types</see> like (UXINT, XINT, XWORD, PWORD) whose size is dependant of the target platform (4 or 8 bytes).
            </remarks>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.PlatformBoundType.#ctor(System.String,System.Int32,System.Type)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.PrimitiveType" /> class.
            </summary>
            <param name="name">The name.</param>
            <param name="byteSize">Size of the byte.</param>
            <param name="dotnetType">Type of the dotnet.</param>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.PlatformBoundType.#ctor(TwinCAT.Ads.Internal.AdsDataTypeEntry)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.PlatformBoundType"/> class.
            </summary>
            <param name="entry">The entry.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">entry</exception>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.PlatformBoundType.OnBound(TwinCAT.TypeSystem.IBinder)">
            <summary>
            Called when this <see cref="T:TwinCAT.Ads.TypeSystem.DataType" /> is bound via the type binder.
            </summary>
            <param name="binder">The binder.</param>
            <exclude/>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.RpcMethod">
            <summary>
            RPC Method Description
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.RpcMethod.#ctor(TwinCAT.Ads.Internal.AdsMethodEntry)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.IRpcMethod"/> class.
            </summary>
            <param name="entry">The entry.</param>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.RpcMethod._name">
            <summary>
            The name of the method
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.RpcMethod.Name">
            <summary>
            Gets the name of the method
            </summary>
            <value>The name.</value>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.RpcMethod._parameters">
            <summary>
            Method parameters.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.RpcMethod.Parameters">
            <summary>
            Gets all parameters (In, Out and ref parameters) of the <see cref="T:TwinCAT.TypeSystem.IRpcMethod">.</see>
            </summary>
            <value>The parameters.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.RpcMethod.InParameters">
            <summary>
            Gets the In-Parameters of the <see cref="T:TwinCAT.TypeSystem.IRpcMethod" />
            </summary>
            <value>The In- and Ref-Parameters</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.RpcMethod.OutParameters">
            <summary>
            Gets the Out-Parameters of the <see cref="T:TwinCAT.TypeSystem.IRpcMethod" />
            </summary>
            <value>The Out- and Ref-Parameters</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.RpcMethod.ReturnAlignSize">
            <summary>
            Gets the size of the biggest element in bytes for Alignment
            </summary>
            <value>The size of the return align.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.RpcMethod.ReturnType">
            <summary>
            Gets the return type of the <see cref="T:TwinCAT.TypeSystem.IRpcMethod"/>
            </summary>
            <value>Return type or string.Empty.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.RpcMethod.ReturnTypeSize">
            <summary>
            Gets the Byte size of the return type.
            </summary>
            <value>The size of the return type.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.RpcMethod.VTableIndex">
            <summary>
            Gets the V-table index of the method.
            </summary>
            <value>The index of the v table.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.RpcMethod.Comment">
            <summary>
            Gets the Method comment.
            </summary>
            <value>The comment.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.RpcMethod.IsVoid">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.TypeSystem.IRpcMethod" /> has no return parameter
            </summary>
            <value><c>true</c> if this instance is void; otherwise, <c>false</c>.</value>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.RpcMethod.ToString">
            <summary>
            Returns a <see cref="T:System.String" /> that represents this instance.
            </summary>
            <returns>A <see cref="T:System.String" /> that represents this instance.</returns>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.RpcMethodParameter">
            <summary>
            Class RpcMethodParameter.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.RpcMethodParameter._size">
            <summary>
            size of datatype ( in bytes )
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.RpcMethodParameter.Size">
            <summary>
            Gets the size of the <see cref="T:TwinCAT.Ads.TypeSystem.RpcMethodParameter"/>
            </summary>
            <value>The size.</value>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.RpcMethodParameter._alignSize">
            <summary>
            size of biggest element for alignment
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.RpcMethodParameter.AlignSize">
            <summary>
            Gets the size of biggest element for alignment
            </summary>
            <value>The size of the align.</value>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.RpcMethodParameter._dataTypeId">
            <summary>
            adsDataType of symbol (if alias)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.RpcMethodParameter._flags">
            <summary>
            Method Parameter Flags
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.RpcMethodParameter.ParameterFlags">
            <summary>
            Gets the parameter flags.
            </summary>
            <value>The parameter flags.</value>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.RpcMethodParameter._typeGuid">
            <summary>
            Data Type Guid
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.RpcMethodParameter.TypeGuid">
            <summary>
            Gets the Unique identifier of the parameters data type.
            </summary>
            <value>The type unique identifier.</value>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.RpcMethodParameter._lengthParaIndex">
            <summary>
            The _length is para
            </summary>
            <remarks>This field references to the Parameter that defines the length for this
            generic one. Equally to the marshalling attributes of COM (sizeof, length)
            this enables to transport parameter of type (PVOID)
            </remarks>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.RpcMethodParameter.LengthIsParameterIndex">
            <summary>
            Gets the index of the LengthIs parameter (within the MethodParameter List)
            </summary>
            <value>The index of the length is parameter.</value>
            <remarks>This field references to the Parameter that defines the length for this
            generic one. Equally to the marshalling attributes of COM (sizeof, length)
            this enables to transport parameter of type (PVOID)</remarks>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.RpcMethodParameter.HasLengthIsParameter">
            <summary>
            Gets a value indicating whether this instance has a related LengthIs Parameter.
            </summary>
            <value><c>true</c> if this instance has a LengthIs parameter; otherwise, <c>false</c>.</value>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.RpcMethodParameter._name">
            <summary>
            Name of datatype with terminating \0
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.RpcMethodParameter.Name">
            <summary>
            Gets the Parameter Name
            </summary>
            <value>The name.</value>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.RpcMethodParameter._typeName">
            <summary>
            type name of dataitem
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.RpcMethodParameter.TypeName">
            <summary>
            Gets the Data type of the Parameter
            </summary>
            <value>The type.</value>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.RpcMethodParameter._comment">
            <summary>
            Parameter Comment
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.RpcMethodParameter.Comment">
            <summary>
            Gets the Parameter Comment.
            </summary>
            <value>The comment.</value>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.RpcMethodParameter.#ctor(TwinCAT.Ads.Internal.AdsMethodParaInfo)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.RpcMethodParameter"/> class.
            </summary>
            <param name="paraInfo">The para information.</param>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.DataType">
            <summary>
            DataType class
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.DataType.s_idCounter">
            <summary>
            The s_id counter
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.DataType.#ctor(TwinCAT.TypeSystem.DataTypeCategory,TwinCAT.Ads.Internal.AdsDataTypeEntry)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.DataType" /> class.
            </summary>
            <param name="cat">The category</param>
            <param name="entry">The entry.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.DataType.#ctor(System.String,TwinCAT.Ads.AdsDatatypeId,TwinCAT.TypeSystem.DataTypeCategory,System.Int32,System.Type)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.DataType" /> class (Bytes mapping)
            </summary>
            <param name="name">Name of the Data type</param>
            <param name="typeId">DataType category / ID (internal style)</param>
            <param name="cat">Data type category</param>
            <param name="size">The Size of the Data Type in bytes or Bits</param>
            <param name="dotnetType">Associated dot net type.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.DataType.#ctor(System.String,TwinCAT.Ads.AdsDatatypeId,TwinCAT.TypeSystem.DataTypeCategory,System.Int32,System.Type,TwinCAT.Ads.Internal.AdsDataTypeFlags)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.DataType" /> class.
            </summary>
            <param name="name">Name of the Data type</param>
            <param name="typeId">DataType category / ID (internal style)</param>
            <param name="cat">Data type category</param>
            <param name="size">The Size of the Data Type in bits or bytes (depending on bitMapping)</param>
            <param name="dotnetType">Associated dot net type.</param>
            <param name="flags">The flags.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.DataType.#ctor(TwinCAT.Ads.TypeSystem.DataType)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.DataType" /> class (copy Constructor)
            </summary>
            <param name="copy">The copy.</param>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.DataType.id">
            <summary>
            Internal ID of the DataType (non persistent)
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.DataType.Id">
            <summary>
            Gets the ID of the DataType
            </summary>
            <value>The id.</value>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.DataType.dotnetType">
            <summary>
            The corresponding .NET type
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.DataType.ManagedType">
            <summary>
            Gets the corresponding .NET Type if attached.
            </summary>
            <value>Dot net type.</value>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.DataType.resolver">
            <summary>
            The type binder / resolver
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.DataType.ns">
            <summary>
            The namespace
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.DataType.Namespace">
            <summary>
            Gets the namespace string within the <see cref="T:TwinCAT.TypeSystem.IDataType" /> exists.
            </summary>
            <value>The namespace.</value>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.DataType.category">
            <summary>
            Data Type Category
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.DataType.Category">
            <summary>
            Gets the Data Type category
            </summary>
            <value>The category.</value>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.DataType.dataTypeId">
            <summary>
            Data Type category
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.DataType.typeHashValue">
            <summary>
            hashValue of base type / Code Offset to setter Method (typeHashValue or offsSetCode)
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.DataType.TypeHashValue">
            <summary>
            Gets the hashValue of base type / Code Offset to setter Method (typeHashValue or offsSetCode)
            </summary>
            <value>The data type id.</value>
            <exclude />
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.DataType.DataTypeId">
            <summary>
            Gets the DataTypeId <see cref="T:TwinCAT.Ads.AdsDatatypeId" /> (Only for internal use)
            </summary>
            <value>The data type id.</value>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.DataType.size">
            <summary>
            The size of this <see cref="T:TwinCAT.Ads.TypeSystem.DataType" /> in bytes or bits (dependant on <see cref="P:TwinCAT.Ads.TypeSystem.DataType.IsBitType" />)
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.DataType.Size">
            <summary>
            Gets the Size of the <see cref="T:TwinCAT.Ads.TypeSystem.DataType" /> in Bytes
            </summary>
            <value>The size.</value>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.DataType.SetSize(System.Int32,System.Type)">
            <summary>
            Sets the size of the <see cref="T:TwinCAT.Ads.TypeSystem.DataType" />
            </summary>
            <param name="size">The size.</param>
            <param name="managedType">Type of the managed.</param>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.DataType.ByteSize">
            <summary>
            Gets the (aligned) size of of the Type/Instance in Bytes
            </summary>
            <value>The size of the byte.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.DataType.IsByteAligned">
            <summary>
            Indicates that the Size of the Object is Byte aligned (BitSize % 8 == 0)
            </summary>
            <value><c>true</c> if this instance is byte aligned; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.DataType.BitSize">
            <summary>
            Gets the size of the <see cref="T:TwinCAT.Ads.TypeSystem.DataType" /> in bits.
            </summary>
            <value>The size of the bit.</value>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.DataType.name">
            <summary>
            The name of the <see cref="T:TwinCAT.Ads.TypeSystem.DataType" />
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.DataType.Name">
            <summary>
            Gets the name of the Data Type (without namespace)
            </summary>
            <value>The name.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.DataType.FullName">
            <summary>
            Gets the full name of the <see cref="T:TwinCAT.TypeSystem.IDataType" /> (Namespace + Name)
            </summary>
            <value>The full name.</value>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.DataType.comment">
            <summary>
            Additional comment to the <see cref="T:TwinCAT.Ads.TypeSystem.DataType" />
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.DataType.Comment">
            <summary>
            Gets the comment.
            </summary>
            <value>The comment.</value>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.DataType.ResolveType(TwinCAT.TypeSystem.DataTypeResolveStrategy)">
            <summary>
            Resolves the type.
            </summary>
            <param name="type">The type.</param>
            <returns>IDataType.</returns>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.DataType.ToString">
            <summary>
            Returns a <see cref="T:System.String" /> that represents this instance.
            </summary>
            <returns>A <see cref="T:System.String" /> that represents this instance.</returns>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.DataType.IsPrimitive">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.TypeSystem.IDataType" /> is primitive
            </summary>
            <value><c>true</c> if this instance is primitive; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.DataType.IsContainer">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.TypeSystem.IDataType" /> is a container type
            </summary>
            <value><c>true</c> if this instance is container type; otherwise, <c>false</c>.</value>
            <seealso cref="P:TwinCAT.TypeSystem.IDataType.Category" />
            <remarks>Container Types are all types that contain SubElements like
            <list type="bullet"><item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Array" /></description></item><item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Pointer" /></description></item><item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Union" /></description></item><item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Struct" /></description></item><item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Function" /></description></item><item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.FunctionBlock" /></description></item><item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Program" /></description></item></list>
            and the <see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Alias" /> and <see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Reference" /> types, if they have a container type as base type.</remarks>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.DataType.IsReference">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.TypeSystem.IDataType" /> is a reference type
            </summary>
            <value><c>true</c> if this instance is container type; otherwise, <c>false</c>.</value>
            <seealso cref="P:TwinCAT.TypeSystem.IDataType.Category" />
            <remarks>Reference types can be dereferenced.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.DataType.IsReferenceType(TwinCAT.TypeSystem.DataTypeCategory)">
            <summary>
            Determines whether the specified category is a reference type.
            </summary>
            <param name="cat">The data type category.</param>
            <returns><c>true</c> if [is reference type] [the specified cat]; otherwise, <c>false</c>.</returns>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.DataType.IsPointer">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.TypeSystem.IDataType" /> is a pointer type
            </summary>
            <value><c>true</c> if this instance is pointer type; otherwise, <c>false</c>.</value>
            <seealso cref="P:TwinCAT.TypeSystem.IDataType.Category" />
            <remarks>Pointer types can be dereferenced with the '^' operator.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.DataType.IsPointerType(TwinCAT.TypeSystem.DataTypeCategory)">
            <summary>
            Determines whether the specified category is a pointer type.
            </summary>
            <param name="cat">The data type category.</param>
            <returns><c>true</c> if [is pointer type] [the specified cat]; otherwise, <c>false</c>.</returns>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.DataType.flags">
            <summary>
            Flag indicators set to this type.
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.DataType.Flags">
            <summary>
            Gets the Flag indicators set to this type.
            </summary>
            <value>The flags.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.DataType.IsBitType">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.TypeSystem.IDataType" /> is a bit mapping Type
            </summary>
            <value><c>true</c> if this instance is bit mapping subtype; otherwise, <c>false</c>.</value>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.DataType.attributes">
            <summary>
            The attributes
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.DataType.Attributes">
            <summary>
            Gets the attributes of the <see cref="T:TwinCAT.TypeSystem.IDataType" />
            </summary>
            <value>The attributes.</value>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.DataType.Bind(TwinCAT.TypeSystem.IBinder)">
            <summary>
            Registers this instance at the <see cref="T:TwinCAT.TypeSystem.IBinder" />
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.DataType.OnBound(TwinCAT.TypeSystem.IBinder)">
            <summary>
            Called when this <see cref="T:TwinCAT.Ads.TypeSystem.DataType"/> is bound via the type binder.
            </summary>
            <param name="binder">The binder.</param>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.DataType.IsBound">
            <summary>
            Gets a value indicating whether this type is bound.
            </summary>
            <value><c>true</c> if this instance is bound; otherwise, <c>false</c>.</value>
            <exclude/>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.EnumType`1">
            <summary>
            Enum <see cref="T:TwinCAT.Ads.TypeSystem.DataType" />.
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.EnumType`1.#ctor(TwinCAT.Ads.Internal.AdsDataTypeEntry)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.DataType" /> class.
            </summary>
            <param name="entry">The entry.</param>
            <exception cref="T:TwinCAT.Ads.AdsException"></exception>
            <exception cref="T:TwinCAT.Ads.AdsException"></exception>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.EnumType`1._baseTypeId">
            <summary>
            The _base type identifier
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.EnumType`1._baseTypeName">
            <summary>
            The _base type name
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.EnumType`1.BaseTypeName">
            <summary>
            Gets the BaseType name
            </summary>
            <value>The name of the base type.</value>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.EnumType`1._baseType">
            <summary>
            The _base type
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.EnumType`1.BaseType">
            <summary>
            Gets the Base Type
            </summary>
            <value>The type of the base.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.EnumType`1.TwinCAT#TypeSystem#IEnumType#EnumValues">
            <summary>
            Enumeration specification (if enum)
            </summary>
            <value>The enum specification.</value>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.EnumType`1._fields">
            <summary>
            The _fields
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.EnumType`1.GetValues">
            <summary>
            Gets the values of the <see cref="T:TwinCAT.TypeSystem.IEnumType`1" />
            </summary>
            <returns>T[].</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.EnumType`1.GetNames">
            <summary>
            Gets the filed names of the <see cref="T:TwinCAT.TypeSystem.IEnumType`1" />
            </summary>
            <returns>System.String[].</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.EnumType`1.TryParse(System.String,`0@)">
            <summary>
            Tries to parse the Enum Value
            </summary>
            <param name="strValue">Enum value (in string representation).</param>
            <param name="value">The value.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.EnumType`1.Parse(System.String)">
            <summary>
            Parses a name of the <see cref="T:TwinCAT.TypeSystem.IEnumType`1" /> and returns the value (as base type)
            </summary>
            <param name="strValue">Enum Value as string.</param>
            <returns>T.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.EnumType`1.ToString(`0)">
            <summary>
            Returns a <see cref="T:System.String" /> that represents this instance.
            </summary>
            <param name="val">The value.</param>
            <returns>A <see cref="T:System.String" /> that represents this instance.</returns>
            <exception cref="T:System.ArgumentException">val</exception>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.EnumType`1.TwinCAT#TypeSystem#IEnumType#GetValues">
            <summary>
            Gets the values of the <see cref="T:TwinCAT.TypeSystem.IEnumType`1" />
            </summary>
            <returns>T[].</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.EnumType`1.TwinCAT#TypeSystem#IEnumType#Parse(System.String)">
            <summary>
            Parses a name of the <see cref="T:TwinCAT.TypeSystem.IEnumType`1" /> and returns the value (as base type)
            </summary>
            <param name="name">The name.</param>
            <returns>T.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.EnumType`1.ToString(System.Object)">
            <summary>
            Returns a <see cref="T:System.String" /> that represents this instance.
            </summary>
            <param name="val">The value.</param>
            <returns>A <see cref="T:System.String" /> that represents this instance.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.EnumType`1.TwinCAT#TypeSystem#IEnumType#TryParse(System.String,System.Object@)">
            <summary>
            Parses the value from value  name.
            </summary>
            <param name="name">The value name.</param>
            <param name="value">The value.</param>
            <returns><c>true</c> if value name was found, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.EnumType`1.Contains(System.String)">
            <summary>
            Determines whether the enum values contains the specified name
            </summary>
            <param name="name">The name.</param>
            <returns><c>true</c> if contains the value, otherwise, <c>false</c>.</returns>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.EnumType`1.EnumValues">
            <summary>
            Enumeration specification (if enum)
            </summary>
            <value>The enum specification.</value>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.AliasType">
            <summary>
            Alias DataType
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.AliasType.#ctor(TwinCAT.Ads.Internal.AdsDataTypeEntry)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.IAliasType"/> class.
            </summary>
            <param name="entry">The entry.</param>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.AliasType.#ctor(System.String,TwinCAT.Ads.TypeSystem.DataType)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.TypeSystem.IAliasType"/> class.
            </summary>
            <param name="name">The name.</param>
            <param name="baseType">Type of the base.</param>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.AliasType.BaseTypeName">
            <summary>
            Gets the BaseType name
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.AliasType.BaseType">
            <summary>
            Gets the Base Type
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.AliasType.IsPrimitive">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.TypeSystem.IDataType" /> is primitive
            </summary>
            <value>
            <c>true</c> if this instance is primitive; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.AliasType.IsContainer">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.TypeSystem.IDataType" /> is a container type
            </summary>
            <value><c>true</c> if this instance is container type; otherwise, <c>false</c>.</value>
            <seealso cref="P:TwinCAT.TypeSystem.IDataType.Category" />
            <remarks>Container Types are all types that contain SubElements like
            <list type="bullet"><item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Array" /></description></item><item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Pointer" /></description></item><item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Union" /></description></item><item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Struct" /></description></item><item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Function" /></description></item><item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.FunctionBlock" /></description></item><item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Program" /></description></item></list>
            And the <see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Alias" /> types, if they have a container type as base type.</remarks>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.AliasType.ManagedType">
            <summary>
            Gets the corresponding .NET Type if attached.
            </summary>
            <value>Dot net type.</value>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.AliasType.ToString">
            <summary>
            Returns a <see cref="T:System.String" /> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String" /> that represents this instance.
            </returns>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.StringType">
            <summary>
            String DataType
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.StringType.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.StringType"/> class.
            </summary>
            <param name="length">The length.</param>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.StringType.length">
            <summary>
            The length of the <see cref="T:TwinCAT.Ads.TypeSystem.StringType"/>
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.StringType.Length">
            <summary>
            Gets the number of characters within the string.
            </summary>
            <value>
            The length.
            </value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.StringType.IsFixedLength">
            <summary>
            Gets a value indicating whether the string is of fixed length.
            </summary>
            <value><c>true</c> if this instance is fixed length; otherwise, <c>false</c>.</value>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.StringType.Encoding">
            <summary>
            Gets the encoding of the String (Encoding.ASCII (STRING) or Encoding.UNICODE (WSTRING))
            </summary>
            <value>The encoding.</value>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.StringType.ToString">
            <summary>
            Returns a <see cref="T:System.String" /> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String" /> that represents this instance.
            </returns>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.WStringType">
            <summary>
            Represents an Unicode string (Wide string)
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.WStringType.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.WStringType"/> class.
            </summary>
            <param name="length">The length.</param>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.WStringType.length">
            <summary>
            The length of the <see cref="T:TwinCAT.Ads.TypeSystem.WStringType"/>
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.WStringType.Length">
            <summary>
            Gets the number of characters within the string.
            </summary>
            <value>
            The length.
            </value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.WStringType.Encoding">
            <summary>
            Gets the encoding of the String (Encoding.Default (STRING) or Encoding.UNICODE (WSTRING))
            </summary>
            <value>The encoding.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.WStringType.IsFixedLength">
            <summary>
            Gets a value indicating whether the string is of fixed length.
            </summary>
            <value><c>true</c> if this instance is fixed length; otherwise, <c>false</c>.</value>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.WStringType.ToString">
            <summary>
            Returns a <see cref="T:System.String" /> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String" /> that represents this instance.
            </returns>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.UnionType">
            <summary>
            Represents a union type
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.UnionType.#ctor(TwinCAT.Ads.Internal.AdsDataTypeEntry)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.UnionType"/> class.
            </summary>
            <param name="entry">The entry.</param>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.UnionType.OnBound(TwinCAT.TypeSystem.IBinder)">
            <summary>
            Called when this <see cref="T:TwinCAT.Ads.TypeSystem.DataType" /> is bound via the type binder.
            </summary>
            <param name="binder">The binder.</param>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.UnionType._fields">
            <summary>
            The Union Fields
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.UnionType.Fields">
            <summary>
            Gets a read only collection of the <see cref="T:TwinCAT.TypeSystem.IField">Fields</see> of the <see cref="T:TwinCAT.TypeSystem.IUnionType" />.
            </summary>
            <value>
            The members as read only collection.
            </value>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.StructType">
            <summary>
            Represents a struct type
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.StructType.#ctor(TwinCAT.Ads.Internal.AdsDataTypeEntry)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.StructType"/> class.
            </summary>
            <param name="entry">The entry.</param>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.StructType.OnBound(TwinCAT.TypeSystem.IBinder)">
            <summary>
            Called when this <see cref="T:TwinCAT.Ads.TypeSystem.DataType" /> is bound via the type binder.
            </summary>
            <param name="binder">The binder.</param>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.StructType.IsDerived">
            <summary>
            Gets a value indicating whether this instance is derived.
            </summary>
            <value>
            <c>true</c> if this instance is derived; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.StructType.Members">
            <summary>
            Gets a read only collection of the <see cref="T:TwinCAT.TypeSystem.IMember">Members</see> of the <see cref="T:TwinCAT.TypeSystem.IStructType" />.
            </summary>
            <value>
            The members as read only collection.
            </value>
            <remarks>
            If the <see cref="T:TwinCAT.TypeSystem.IStructType" /> is derived, only the extended members are returned. To get
            all supported members down the inheritance chain, use the <see cref="P:TwinCAT.TypeSystem.IStructType.AllMembers" /> property.
            </remarks>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.StructType._baseTypeId">
            <summary>
            ID of the base type of Derived.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.StructType._baseTypeName">
            <summary>
            Base Type Name of the <see cref="T:TwinCAT.Ads.TypeSystem.StructType"/> if derived
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.StructType.BaseTypeName">
            <summary>
            Gets the the Name of the Base class (if derived)
            </summary>
            <value>
            Empty if not derived.
            </value>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.StructType._baseType">
            <summary>
            Base Type of the Struct if derived.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.StructType.BaseType">
            <summary>
            Gets the structs Base Type (Null if not derived).
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.StructType._allMembers">
            <summary>
            All members of this <see cref="T:TwinCAT.Ads.TypeSystem.StructType"/>
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.StructType.AllMembers">
            <summary>
            Gets all members (down the derivation hierarchy)
            </summary>
            <value>
            All members.
            </value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.StructType.HasRpcMethods">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.Ads.TypeSystem.StructType" /> has RPC Methods.
            </summary>
            <value><c>true</c> if this type has methods; otherwise, <c>false</c>.</value>
            <remarks>The DataType (Structure) must be marked with the PlcAttribute 'TcRpcEnable' to enable RpcMethods, otherwise
            RpcMethods are not passed through to the ADS symbolic information.</remarks>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.RpcStructType">
            <summary>
            StructType which is callable by RPC Methods.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.RpcStructType.#ctor(TwinCAT.Ads.Internal.AdsDataTypeEntry)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.RpcStructType"/> class.
            </summary>
            <param name="entry">The entry.</param>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.RpcStructType._rpcMethods">
            <summary>
            RPC Method description
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.RpcStructType.RpcMethods">
            <summary>
            Gets the Method descriptions for the <see cref="T:TwinCAT.TypeSystem.IRpcCallableType" />
            </summary>
            <value>The methods.</value>
            <remarks>The DataType (Structure) must be marked with the PlcAttribute 'TcRpcEnable' to enable RpcMethods, otherwise
            RpcMethods are not passed through to the ADS symbolic information.</remarks>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.RpcStructType.HasRpcMethods">
            <summary>
            Gets a value indicating whether this instance has RPC Methods.
            </summary>
            <value><c>true</c> if this instance has methods; otherwise, <c>false</c>.</value>
            <remarks>The DataType (Structure) must be marked with the PlcAttribute 'TcRpcEnable' to enable RpcMethods, otherwise
            RpcMethods are not passed through to the ADS symbolic information.</remarks>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.ReferenceType">
            <summary>
            Represents a reference type
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ReferenceType.#ctor(System.String,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.ReferenceType"/> class.
            </summary>
            <param name="referencedTypeName">Name of the referenced type.</param>
            <param name="byteSize">The size in bytes (Dependent of the target OS)</param>
            <exception cref="T:System.ArgumentOutOfRangeException">size</exception>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ReferenceType.#ctor(System.String,System.String,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.ReferenceType"/> class.
            </summary>
            <param name="name">The name.</param>
            <param name="referencedTypeName">Name of the referenced type.</param>
            <param name="size">The size.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">size</exception>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ReferenceType.#ctor(TwinCAT.Ads.Internal.AdsDataTypeEntry,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.ReferenceType"/> class.
            </summary>
            <param name="entry">The entry.</param>
            <param name="referencedTypeName">Name of the referenced type.</param>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ReferenceType.OnBound(TwinCAT.TypeSystem.IBinder)">
            <summary>
            Called when this <see cref="T:TwinCAT.Ads.TypeSystem.DataType" /> is bound via the type binder.
            </summary>
            <param name="binder">The binder.</param>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ReferenceType.IsContainer">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.TypeSystem.IDataType" /> is a container type
            </summary>
            <value><c>true</c> if this instance is container type; otherwise, <c>false</c>.</value>
            <seealso cref="P:TwinCAT.TypeSystem.IDataType.Category" />
            <remarks>Container Types are all types that contain SubElements like
            <list type="bullet"><item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Array" /></description></item><item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Pointer" /></description></item><item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Union" /></description></item><item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Struct" /></description></item><item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Function" /></description></item><item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.FunctionBlock" /></description></item><item><description><see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Program" /></description></item></list>
            and the <see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Alias" /> and <see cref="F:TwinCAT.TypeSystem.DataTypeCategory.Reference" /> types, if they have a container type as base type.</remarks>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ReferenceType.IsPrimitive">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.TypeSystem.IDataType" /> is primitive
            </summary>
            <value>
            <c>true</c> if this instance is primitive; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ReferenceType.ManagedType">
            <summary>
            Gets the corresponding .NET Type if attached.
            </summary>
            <value>Dot net type.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ReferenceType.ReferencedType">
            <summary>
            Gets the the referenced type.
            </summary>
            <value>
            The type of the referenced.
            </value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ReferenceType.ResolvedCategory">
            <summary>
            Gets the Category of the (completely) resolved Symbol.
            </summary>
            <value>The resolved category.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ReferenceType.ResolvedByteSize">
            <summary>
            Get the ByteSize of the (completely) resolved Symbol
            </summary>
            <value>The size of the resolved byte.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ReferenceType.ResolvedType">
            <summary>
            Gets the (completely) resolved type
            </summary>
            <value>The type of the resolved symbol</value>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.PointerType">
            <summary>
            Represents a pointer type.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.PointerType.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.PointerType" /> class.
            </summary>
            <param name="referencedTypeName">Name of the referenced type.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">size</exception>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.PointerType.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.PointerType" /> class.
            </summary>
            <param name="name">The name.</param>
            <param name="referencedTypeName">Name of the referenced type.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">size</exception>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.PointerType.#ctor(TwinCAT.Ads.Internal.AdsDataTypeEntry,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.PointerType"/> class.
            </summary>
            <param name="entry">The entry.</param>
            <param name="referencedTypeName">Name of the referenced type.</param>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.PointerType.OnBound(TwinCAT.TypeSystem.IBinder)">
            <summary>
            Called when this <see cref="T:TwinCAT.Ads.TypeSystem.DataType" /> is bound via the type binder.
            </summary>
            <param name="binder">The binder.</param>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.PointerType.ManagedType">
            <summary>
            Gets the corresponding .NET Type if attached.
            </summary>
            <value>Dot net type.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.PointerType.ReferencedType">
            <summary>
            Gets the the referenced type.
            </summary>
            <value>
            The type of the referenced.
            </value>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.SubRangeType`1">
            <summary>
            Represents a SubRangType
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.SubRangeType`1.#ctor(System.String,System.String,System.Int32,`0,`0)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.SubRangeType`1" /> class.
            </summary>
            <param name="name">The name.</param>
            <param name="baseType">Type of the base.</param>
            <param name="size">The size.</param>
            <param name="lowerBound">The lower bound.</param>
            <param name="upperBound">The upper bound.</param>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.SubRangeType`1.ManagedType">
            <summary>
            Gets the corresponding .NET Type if attached.
            </summary>
            <value>Dot net type.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.SubRangeType`1.BaseType">
            <summary>
            Gets the the base type.
            </summary>
            <value>
            The type of the referenced.
            </value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.SubRangeType`1.LowerBound">
            <summary>
            Gets the lower bound.
            </summary>
            <value>
            The lower bound.
            </value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.SubRangeType`1.UpperBound">
            <summary>
            Gets the upper bound.
            </summary>
            <value>
            The lower bound.
            </value>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.Field">
            <summary>
            Represents a field of an Struct/Alias/Union
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Field.#ctor(TwinCAT.Ads.TypeSystem.DataType,TwinCAT.Ads.Internal.AdsFieldEntry)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.Member"/> class.
            </summary>
            <param name="parent">The parent.</param>
            <param name="subEntry">The sub entry.</param>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.Field.parent">
            <summary>
            The parent <see cref="T:TwinCAT.Ads.TypeSystem.StructType"/> of this Member
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Field.ParentType">
            <summary>
            Gets the Parent of this <see cref="T:TwinCAT.TypeSystem.IField" />.
            </summary>
            <value>
            The type of the parent (Alias, Union, Struct)
            </value>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.Member">
            <summary>
            Represents a member of an <see cref="T:TwinCAT.Ads.TypeSystem.StructType"/>
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Member.#ctor(TwinCAT.Ads.TypeSystem.DataType,TwinCAT.Ads.Internal.AdsFieldEntry)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.Member"/> class.
            </summary>
            <param name="parent">The parent.</param>
            <param name="subEntry">The sub entry.</param>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.Member.offset">
            <summary>
            The offset of the <see cref="T:TwinCAT.Ads.TypeSystem.Member"/> within the parent <see cref="T:TwinCAT.Ads.TypeSystem.StructType"/> in bits or bytes.
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Member.Offset">
            <summary>
            Gets the offset of the <see cref="T:TwinCAT.Ads.TypeSystem.Member"/> within the parent <see cref="T:TwinCAT.Ads.TypeSystem.StructType"/> in bits or bytes dependent on <see cref="P:TwinCAT.Ads.TypeSystem.Instance.IsBitType"/>
            </summary>
            <value>
            The offset.
            </value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Member.BitOffset">
            <summary>
            Gets the bit offset.
            </summary>
            <value>The bit offset.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Member.ByteOffset">
            <summary>
            Gets the byte offset.
            </summary>
            <value>The byte offset.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Member.MemberFlags">
            <summary>
            Gets the Field / Member Flags
            </summary>
            <value>The member flags.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Member.TypeHashValue">
            <summary>
            Gets the type hash value (Only for Properties ???)
            </summary>
            <value>The type hash value.</value>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.ArrayType">
            <summary>
            Represents an Array DataType
            </summary>
            <summary>
            DataType class
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ArrayType.#ctor(TwinCAT.Ads.Internal.AdsDataTypeEntry)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.ArrayType"/> class.
            </summary>
            <param name="entry">The entry.</param>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ArrayType.#ctor(System.String,TwinCAT.Ads.TypeSystem.DataType,TwinCAT.TypeSystem.DimensionCollection,TwinCAT.Ads.Internal.AdsDataTypeFlags)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.ArrayType" /> class.
            </summary>
            <param name="typeName">ArrayType name.</param>
            <param name="elementType">Element Type.</param>
            <param name="dims">Dimension specification.</param>
            <param name="flags">The flags.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ArrayType.#ctor(TwinCAT.Ads.TypeSystem.ArrayType)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.ArrayType"/> class.
            </summary>
            <param name="type">The type.</param>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ArrayType.ManagedType">
            <summary>
            Gets the corresponding .NET Type if attached.
            </summary>
            <value>Dot net type.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ArrayType.IsOversampled">
            <summary>
            Gets a value indicating whether this array instance describes an oversampling type.
            </summary>
            <value><c>true</c> if this instance is oversampling; otherwise, <c>false</c>.</value>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.ArrayType.elementTypeName">
            <summary>
            The element type name
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ArrayType.ElementTypeName">
            <summary>
            Gets the name of the element type.
            </summary>
            <value>
            The name of the element type.
            </value>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.ArrayType.elementType">
            <summary>
            The element type
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ArrayType.ElementType">
            <summary>
            Gets the type of the contained elements.
            </summary>
            <value>
            The type of the element.
            </value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ArrayType.IsJagged">
            <summary>
            Gets a value indicating whether this instance is jagged.
            </summary>
            <value><c>true</c> if this instance is jagged; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ArrayType.JaggedLevel">
            <summary>
            Gets the jagged level (Non-Jagged Array have level 1)
            </summary>
            <value>The jagged level.</value>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.ArrayType.elementTypeId">
            <summary>
            The element type id
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.ArrayType._dimensions">
            <summary>
            Dimension information (for arrays)
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ArrayType.Dimensions">
            <summary>
            Gets the dimensions as read only collection.
            </summary>
            <value>
            The dimensions.
            </value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ArrayType.DimensionCount">
            <summary>
            Gets the dimension count.
            </summary>
            <value>
            The dimension count.
            </value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ArrayType.ElementCount">
            <summary>
            Gets the element count.
            </summary>
            <value>
            The element count.
            </value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ArrayType.ElementSize">
            <summary>
            Gets the byte-size of a single element of the array
            </summary>
            <value>The size of the element.</value>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ArrayType.CheckIndices(System.Int32[],TwinCAT.TypeSystem.IArrayType,System.Boolean)">
            <summary>
            Checks the dimensions of the <see cref="T:TwinCAT.Ads.TypeSystem.ArrayType" />
            </summary>
            <param name="indices">Indices</param>
            <param name="arrayType">ArrayType</param>
            <param name="acceptOversampled">if set to <c>true</c> [accept oversampled].</param>
            <exception cref="T:System.ArgumentOutOfRangeException">Indices doesn't match the specified Array type</exception>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ArrayType.AreIndicesValid(System.Int32[],TwinCAT.TypeSystem.IArrayType,System.Boolean)">
            <summary>
            Checks the dimensions of the <see cref="T:TwinCAT.Ads.TypeSystem.ArrayType" />
            </summary>
            <param name="indices">Indices</param>
            <param name="type">ArrayType</param>
            <param name="acceptOversampled">if set to <c>true</c> [accept oversampled].</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ArrayType.CheckIndices(System.Int32[],System.Boolean)">
            <summary>
            Checks the dimensions of the <see cref="T:TwinCAT.Ads.TypeSystem.ArrayType" />
            </summary>
            <param name="indices">Indices</param>
            <param name="acceptOversampled">if set to <c>true</c> [accept oversampled].</param>
            <exception cref="T:System.ArgumentOutOfRangeException">Indices doesn't match the specified Array type</exception>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ArrayType.GetElementPosition(System.Int32[],TwinCAT.TypeSystem.IArrayType)">
            <summary>
            Gets the element position within a flattened multidimensional array / SubSymbols List
            </summary>
            <param name="indices">The indices.</param>
            <param name="type">The type.</param>
            <returns>The Position-Index within the Elements collection of the Array instance.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ArrayType.GetElementPosition(System.Int32[])">
            <summary>
            Gets the element position within a flattened multidimensional array
            </summary>
            <param name="indices">The indices.</param>
            <returns>
            The Position-Index within the Elements collection of the array
            </returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.ArrayType.GetElementOffset(System.Int32[],TwinCAT.TypeSystem.IArrayType)">
            <summary>
            Gets the element offset (bits or bytes, dependent on ElementType.IsBitType)
            </summary>
            <param name="indices">The indices.</param>
            <param name="type">The type.</param>
            <returns></returns>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ArrayType.IsPrimitive">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.TypeSystem.IDataType" /> is primitive
            </summary>
            <value><c>true</c> if this instance is primitive; otherwise, <c>false</c>.</value>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.ISymbolFlagProvider">
            <summary>
            Gives access to the specific Symbol Flags
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ISymbolFlagProvider.Flags">
            <summary>
            Gets the Symbol Flags.
            </summary>
            <value>The flags.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ISymbolFlagProvider.ContextMask">
            <summary>
            Gets the ADS Context Mask
            </summary>
            <value>The context mask.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ISymbolFlagProvider.IsReadOnly">
            <summary>
            Indicates if this instance is read only.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ISymbolFlagProvider.IsPersistent">
            <summary>
            Indicates if this instance is persistent.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ISymbolFlagProvider.IsTcComInterfacePointer">
            <summary>
            Indicates if this instance is a TcComInterfacePointer.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.ISymbolFlagProvider.IsTypeGuid">
            <summary>
            Indicates if this instance has set TypeGuid flag.
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.Instance">
            <summary>
            Instance implementation
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Instance.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.Instance" /> class.
            </summary>
            <exception cref="T:System.ArgumentNullException">resolver</exception>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Instance.#ctor(TwinCAT.Ads.Internal.AdsSymbolEntry)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.Instance"/> class.
            </summary>
            <param name="symbol">The symbol.</param>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Instance.#ctor(TwinCAT.Ads.Internal.AdsFieldEntry)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.Instance"/> class.
            </summary>
            <param name="subEntry">The sub entry.</param>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Instance.Bind(TwinCAT.TypeSystem.IBinder)">
            <summary>
            Binds this bindable object via the specified <see cref="T:TwinCAT.TypeSystem.IBinder" />
            </summary>
            <param name="binder">The binder.</param>
            <exception cref="T:System.ArgumentNullException">binder</exception>
            <exception cref="T:System.ArgumentException"></exception>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Instance.IsBound">
            <summary>
            Gets a value indicating whether this instance is bound.
            </summary>
            <value><c>true</c> if this instance is bound; otherwise, <c>false</c>.</value>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Instance.OnBound(TwinCAT.TypeSystem.IBinder)">
            <summary>
            Called when he <see cref="T:TwinCAT.Ads.TypeSystem.Instance"/> is bound via its instance binder.
            </summary>
            <param name="binder">The binder.</param>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Instance.AlignTypeName(System.String)">
            <summary>
            Aligns the type name
            </summary>
            <param name="typeName">Name of the type.</param>
            <returns>System.String.</returns>
            <exception cref="T:System.ArgumentException">Type name not valid!</exception>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Instance.TwinCAT#TypeSystem#IInstanceInternal#SetInstanceName(System.String)">
            <summary>
            Sets a new instance name.
            </summary>
            <param name="instanceName">Name of the instance.</param>
            <remarks>This can only used as long the Instance is not added to a collection using the type binder classes.</remarks>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Instance.OnSetInstanceName(System.String)">
            <summary>
            Sets a new InstanceName InstancePath
            </summary>
            <param name="instanceName">Instance name.</param>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.Instance.resolver">
            <summary>
            DataType resolver
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Instance.Binder">
            <summary>
            Gets the data type resolver.
            </summary>
            <value>The data type resolver.</value>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.Instance.ns">
            <summary>
            Namespace
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Instance.Namespace">
            <summary>
            Gets the namespace name.
            </summary>
            <value>The namespace.</value>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.Instance.size">
            <summary>
            The Byte size or Bit Size of the instance
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Instance.Size">
            <summary>
            Gets the size of the <see cref="T:TwinCAT.TypeSystem.IDataType" /> in bytes or Bits dependant on <see cref="P:TwinCAT.Ads.TypeSystem.Instance.IsBitType" />
            </summary>
            <value>The size of the bit.</value>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Instance.OnGetSize">
            <summary>
            Handler function getting the size of the <see cref="T:TwinCAT.Ads.TypeSystem.Instance"/>
            </summary>
            <returns>System.Int32.</returns>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.Instance.flags">
            <summary>
            Get the Instance Flags
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Instance.Flags">
            <summary>
            Gets the instance flags.
            </summary>
            <value>The flags.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Instance.ByteSize">
            <summary>
            Gets the (aligned) size of of the Type/Instance in Bytes
            </summary>
            <value>The size of the byte.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Instance.IsByteAligned">
            <summary>
            Indicates that the Size of the Object is Byte aligned (BitSize % 8 == 0)
            </summary>
            <value><c>true</c> if this instance is byte aligned; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Instance.BitSize">
            <summary>
            Gets the size of this <see cref="T:TwinCAT.Ads.TypeSystem.Instance"/> in bits.
            </summary>
            <value>The size of the bit.</value>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.Instance.dataTypeId">
            <summary>
            Instance category
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Instance.DataTypeId">
            <summary>
            Only for internal use (obsolete)
            </summary>
            <value>The datatype.</value>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.Instance.category">
            <summary>
            Instance category
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Instance.Category">
            <summary>
            Gets the the <see cref="T:TwinCAT.TypeSystem.DataTypeCategory"/> of the Instance.
            </summary>
            <value>The category.</value>
            <remarks>Corresponds to the <see cref="P:TwinCAT.TypeSystem.IDataType.Category"/></remarks>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.Instance.typeName">
            <summary>
            Datatype name.
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Instance.TypeName">
            <summary>
            Gets the name of the <see cref="T:TwinCAT.TypeSystem.IDataType">DataType</see> that is used for this <see cref="T:TwinCAT.TypeSystem.IInstance"/>.
            </summary>
            <value>The name of the type.</value>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.Instance.resolvedDataType">
            <summary>
            Resolved / Cached Data Type
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Instance.DataType">
            <summary>
            Gets the <see cref="T:TwinCAT.TypeSystem.IDataType"/> of the <see cref="T:TwinCAT.TypeSystem.IInstance"/>.
            </summary>
            <value>The type of the data.</value>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Instance.TryResolveType">
            <summary>
            Tries to resolve the <see cref="T:TwinCAT.TypeSystem.IDataType" />.
            </summary>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.Instance.comment">
            <summary>
            Instance comment.
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Instance.Comment">
            <summary>
            Gets the comment.
            </summary>
            <value>The comment.</value>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.Instance.instanceName">
            <summary>
            Name of the instance.
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Instance.InstanceName">
            <summary>
            Gets the name of the instance (without periods (.)
            </summary>
            <value>The name of the instance.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Instance.InstancePath">
            <summary>
            Gets the relative / absolute access path to the instance (with periods (.))
            </summary>
            <value>The instance path.</value>
            <remarks>If this path is relative or absolute depends on the context. <see cref="T:TwinCAT.TypeSystem.IMember"/> are using relative paths, <see cref="T:TwinCAT.TypeSystem.ISymbol"/>s are using absolute ones.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Instance.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Instance.HasValue">
            <summary>
            Gets a value indicating whether this instance has a value.
            </summary>
            <value><c>true</c> if this instance has value; otherwise, <c>false</c>.</value>
            <remarks></remarks>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.Instance.staticAddress">
            <summary>
            The static address
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Instance.IsStatic">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.TypeSystem.IInstance" /> is static.
            </summary>
            <value>
              <c>true</c> if this instance is static; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Instance.IsBitType">
            <summary>
            Gets a value indicating whether this instance is not basing on a full DataType but instead of some sort of bit mapping
            </summary>
            <value>
            <c>true</c> if this instance is bit mapping; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Instance.IsReadOnly">
            <summary>
            Indicates if this instance is read only.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Instance.IsPersistent">
            <summary>
            Indicates if this instance is persistent.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Instance.IsTcComInterfacePointer">
            <summary>
            Indicates if this instance is a TcComInterfacePointer.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Instance.IsTypeGuid">
            <summary>
            Indicates if this instance has set TypeGuid flag.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Instance.IsReference">
            <summary>
            Gets a value indicating whether this instance is reference.
            </summary>
            <value><c>true</c> if this instance is reference; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Instance.IsPointer">
            <summary>
            Gets a value indicating whether this instance is reference.
            </summary>
            <value><c>true</c> if this instance is reference; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Instance.ContextMask">
            <summary>
            Gets the context mask of this instance.
            </summary>
            <remarks>The Size of the internal data is 4-Bit</remarks>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.Instance.attributes">
            <summary>
            The attributes
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.Instance.Attributes">
            <summary>
            Gets the Type Attributes.
            </summary>
            <value>The attributes.</value>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Instance.SetContextMask(System.Byte)">
            <summary>
            Sets the context mask.
            </summary>
            <param name="contextMask">The context mask.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">contextMask</exception>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.Instance.ResolveType(TwinCAT.TypeSystem.DataTypeResolveStrategy)">
            <summary>
            Resolves this this DataType (if Alias/Reference)
            </summary>
            <param name="type">The type.</param>
            <returns>Resolved IDataType.</returns>
            <remarks>This interface is used for automatic Resolution of Alias/Reference within symbols.</remarks>
            <exclude/>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.SymbolParser">
            <summary>
            Class parsing Symbols from String or from AdsStream (for internal use only)
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.SymbolParser.ParseSymbols(TwinCAT.Ads.AdsStream,System.Text.Encoding,TwinCAT.TypeSystem.ISymbolFactoryServices)">
            <summary>
            Parses the symbolStream for Symbols (for internal use only)
            </summary>
            <param name="symbolStream">The symbol stream.</param>
            <param name="encoding">The encoding.</param>
            <param name="factoryServices">The factory services.</param>
            <exception cref="T:System.ArgumentNullException">
            symbolStream
            or
            factoryServices
            </exception>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.SymbolParser.ParseSymbol(TwinCAT.Ads.AdsBinaryReader,System.Text.Encoding,TwinCAT.TypeSystem.ISymbolFactoryServices)">
            <summary>
            Parses the symbol.
            </summary>
            <param name="symbolReader">The symbol reader.</param>
            <param name="encoding">The encoding.</param>
            <param name="factoryServices">The factory services.</param>
            <returns>ISymbol.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.SymbolParser.TryParseType(System.String,TwinCAT.TypeSystem.IBinder,TwinCAT.TypeSystem.IDataType@)">
            <summary>
            Tries to parse the Type string.
            </summary>
            <param name="typeName">Type string / name.</param>
            <param name="resolver">The resolver.</param>
            <param name="type">The type.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
            <exception cref="T:System.ArgumentNullException">
            typeName
            or
            resolver
            </exception>
            <exception cref="T:System.ArgumentException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.SymbolParser.ParseTypes(TwinCAT.Ads.AdsStream,System.Text.Encoding,TwinCAT.TypeSystem.IBinder,System.Boolean,TwinCAT.TypeSystem.Generic.DataTypeCollection{TwinCAT.TypeSystem.IDataType})">
            <summary>
            Parses the the data types within the specified stream (for internal use only)
            </summary>
            <param name="dataTypeStream">The data type stream.</param>
            <param name="encoding">The encoding.</param>
            <param name="binder">The type binder.</param>
            <param name="buildInTypesInStream">if set to <c>true</c> base types are contained in stream.</param>
            <param name="buildInTypes">The base types.</param>
            <exception cref="T:TwinCAT.Ads.AdsException">Enum base type mismatch!</exception>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.SymbolParser.ArrayIndexType">
            <summary>
            Enum ArrayIndexType
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.SymbolParser.ArrayIndexType.Standard">
            <summary>
            Standard Array
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.SymbolParser.ArrayIndexType.Jagged">
            <summary>
            Jagged array
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.SymbolParser.ArrayIndexType.Oversample">
            <summary>
            Oversampling array
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.SymbolParser.TryParseArrayElement(System.String,System.String@,System.String@,System.String@,System.Collections.Generic.IList{System.Int32[]}@,TwinCAT.Ads.TypeSystem.SymbolParser.ArrayIndexType@)">
            <summary>
            Tries to parse an Array Instance
            </summary>
            <param name="fullPath">The name with indices string.</param>
            <param name="fullPathWithoutIndexes">The instanceName.</param>
            <param name="instanceName">Name of the instance.</param>
            <param name="indicesStr">The indices string.</param>
            <param name="jaggedIndices">The indices.</param>
            <param name="type">The type.</param>
            <returns><c>true</c> if the string specifies an array instance, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.SymbolParser.TryParseIndices(System.String,System.Collections.Generic.IList{System.Int32[]}@,TwinCAT.Ads.TypeSystem.SymbolParser.ArrayIndexType@)">
            <summary>
            Tries to parse the indices from an indices string.
            </summary>
            <param name="indicesStr">The indices string.</param>
            <param name="jaggedIndices">The jagged indices.</param>
            <param name="type">The type.</param>
            <returns><c>true</c> if the string specifies an array instance, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.SymbolParser.TryParseParentPath(TwinCAT.TypeSystem.IInstance,System.String@,System.String@)">
            <summary>
            Tries to parse the parent path of this <see cref="T:TwinCAT.Ads.TypeSystem.Symbol" />
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="parentPath">The parent path (out-parameter).</param>
            <param name="parentName">Name of the parent (out-parameter).</param>
            <returns>
            true if found, false if not contained.
            </returns>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.IAdsSymbolLoader">
            <summary>
            Symbol Loader interface
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.IAdsSymbolLoader.DefaultNotificationSettings">
            <summary>
            Gets/Sets the default notification settings for this SymbolLoader
            </summary>
            <value>The default notification settings.</value>
            <remarks>The Default notification Settings can be set on the SymbolLoader and is used as default
            on the different Symbols. On the symbol itself the <see cref="T:TwinCAT.Ads.NotificationSettings"/> can be overridden.</remarks>
            <example>
            Setting the DefaultNotificationSettings on the <see cref="T:TwinCAT.Ads.TypeSystem.IAdsSymbolLoader"/> object:
            <code language="C#" title="Set DefaultNotificationSettings" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV2Notifications.cs" region="DEFAULTNOTIFICATON_SAMPLE"/>
            </example>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.IAdsSymbolLoader.ImageBaseAddress">
            <summary>
            Gets the image base address.
            </summary>
            <value>The image base address.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.IAdsSymbolLoader.PlatformPointerSize">
            <summary>
            Gets the (byte) size of Pointers on the attached platform system.
            </summary>
            <value>The size of the platform pointer.</value>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.AdsNotificationSettings">
            <summary>
            Class AdsNotficationSettings.
            </summary>
            <seealso cref="T:TwinCAT.Ads.NotificationSettings" />
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.AdsNotificationSettings.#ctor(TwinCAT.Ads.AdsTransMode,System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.NotificationSettings"/> class.
            </summary>
            <param name="mode">The mode.</param>
            <param name="cycleTime">The cycle time.</param>
            <param name="maxDelay">The max delay.</param>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.SymbolLoaderFactory">
            <summary>
            The class <see cref="T:TwinCAT.Ads.TypeSystem.SymbolLoaderFactory"/> is used to create a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.AdsSymbolLoader"/> initialized to the parametrized mode (SymbolBrowser V2, new Version)
            </summary>
            <remarks>The Symbol Loader (V2) supports the following <see cref="T:TwinCAT.SymbolsLoadMode">modes</see>.
            <list type="Table"><listheader><term></term><description></description></listheader><item><term><see cref="F:TwinCAT.SymbolsLoadMode.Flat" /></term><description>The flat mode organizes the Symbols in a flat list. This mode is available in all .NET versions.
            </description></item><item><term><see cref="F:TwinCAT.SymbolsLoadMode.VirtualTree" /></term><description>The virtual tree mode organizes the Symbols hierarchically with parent-child relationships. This mode is available in all .NET Versions.
            </description></item><item><term><see cref="F:TwinCAT.SymbolsLoadMode.DynamicTree" /></term><description>The Dynamic tree mode organizes the Symbols hierarchically and (dynamically) creates struct members,
            array elements and enum fields on the fly. This feature is only available on platforms that support the Dynamic
            Language Runtime (DLR), actually all .NET Framework Version larger than 4.0.
            </description></item></list>
            Virtual instances means, that all Symbols are ordered within a tree structure. For that symbol nodes that are not located on a fixed address, a Virtual Symbol will be created.
            Setting the virtualInstance parameter to 'false' means, that the located symbols will be returned in a flattened list.</remarks>
            <seealso cref="T:TwinCAT.Ads.SymbolLoaderSettings"/>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.SymbolLoaderFactory.Create(TwinCAT.IConnection,TwinCAT.ISymbolLoaderSettings)">
            <summary>
            Creates the specified connection.
            </summary>
            <param name="connection">The connection.</param>
            <param name="settings">The settings.</param>
            <returns>ISymbolLoader.</returns>
            <example>
            The following sample shows how to create a dynamic version of the SymbolLoader V2. The dynamic symbol loader makes use of the Dynamic Language Runtime (DLR) of the .NET Framework.
            That means Structures, Arrays and Enumeration types and instances are generated 'on-the-fly' during symbol Browsing. These created dynamic objects are a one to one representation
            of the Symbol Server target objects (e.g the IEC61131 types on the PLC).
            Dynamic language features are only available from .NET4 upwards.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV2DynamicTree.cs" region="CODE_SAMPLE" />
            The following sample shows how to create a static (non dynamic) version of the SymbolLoader V2.
            The static symbol loader in version 2 is a nearly code compatible version of the Dynamic Loader, only the dynamic creation of objects is not available. The reason for supporting
            this mode is that .NET Framework Versions lower than Version 4.0 (CLR2) doesn't support the Dynamic Language Runtime (DLR).
            The SymbolLoader V2 static object is supported from .NET 2.0 on.
            <code language="C#" title="Virtual Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV2VirtualTree.cs" region="CODE_SAMPLE" /></example>
            <example>
            The SymbolLoader V2 static object is supported from .NET 2.0 on.
            <code language="C#" title="Flat Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV2Flat.cs" region="CODE_SAMPLE" /></example>
            <example>
              <code language="C#" title="Argument Parser" source="..\Samples\Sample.TwinCATAds\ArgParser.cs" region="CODE_SAMPLE" />
              <code language="C#" title="Dumping Symbols" source="..\Samples\Sample.TwinCATAds\SymbolDump.cs" region="CODE_SAMPLE" />
            </example>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.SymbolLoaderFactory.createValueAccessor(TwinCAT.Ads.IAdsConnection,TwinCAT.Ads.SymbolLoaderSettings,System.Text.Encoding)">
            <summary>
            Gets the value accessor.
            </summary>
            <returns>IRawValueAccessor.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.SymbolLoaderFactory.readSymbolUploadInfo(TwinCAT.Ads.IAdsConnection)">
            <summary>
            Reads the symbol upload information.
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.AdsSymbolLoader">
            <summary>
            The class <see cref="T:TwinCAT.Ads.TypeSystem.AdsSymbolLoader"/> is responsible for downloading the list of declared variables from an ADS Server.
            </summary>
            <seealso cref="T:TwinCAT.Ads.SymbolLoaderSettings"/>
            <seealso cref="T:TwinCAT.Ads.TypeSystem.IAdsSymbolLoader" />
            <seealso cref="T:TwinCAT.TypeSystem.IInternalSymbolProvider" />
            <seealso cref="T:System.IDisposable" />
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.#ctor(TwinCAT.Ads.IAdsConnection,TwinCAT.Ads.SymbolLoaderSettings,TwinCAT.ValueAccess.IAccessorRawValue,TwinCAT.ISession,TwinCAT.Ads.Internal.SymbolUploadInfo)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.AdsSymbolLoader" /> class.
            </summary>
            <param name="connection">The Connection.</param>
            <param name="settings">The settings.</param>
            <param name="accessor">The accessor.</param>
            <param name="session">The session.</param>
            <param name="symbolsInfo">The symbols Upload information.</param>
            <exception cref="T:System.ArgumentNullException">settings
            or
            accessor
            or
            symbolsInfo</exception>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.AdsSymbolLoader._connection">
            <summary>
            The connection
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.Binder">
            <summary>
            Gets the binder.
            </summary>
            <value>The binder.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.Accessor">
            <summary>
            Gets the accessor.
            </summary>
            <value>The accessor.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.SymbolFactory">
            <summary>
            Gets the symbol factory.
            </summary>
            <value>The symbol factory.</value>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.AdsSymbolLoader._symbolFactorServices">
            <summary>
            The symbol factor services
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.Finalize">
            <summary>
            Finalizes an instance of the <see cref="T:TwinCAT.Ads.TypeSystem.AdsSymbolLoader"/> class.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.AdsSymbolLoader._disposed">
            <summary>
            Disposed flag
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.Dispose(System.Boolean)">
            <summary>
            Releases unmanaged and - optionally - managed resources.
            </summary>
            <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.AdsSymbolLoader._settings">
            <summary>
            The Loader settings
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.Settings">
            <summary>
            Gets actual the Symbol loader settings
            </summary>
            <value>The access method.</value>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.AdsSymbolLoader._namespaces">
            <summary>
            Namespaces
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.AdsSymbolLoader._symbolUploadInfo">
            <summary>
            Upload info.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.UploadInfo">
            <summary>
            Gets the Upload Info object
            </summary>
            <value>The information.</value>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.Reset">
            <summary>
            Resets the cache-contents of this loader.
            </summary>
            <remarks>Accessing the data members will force AdsReads in the following.</remarks>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.DataTypeCount">
            <summary>
            Gets the amount of data types used in the target.
            </summary>
            <value>The data type count.</value>
            <remarks>This poperty can be used, before uploading all data types and symbols.</remarks>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.SymbolCount">
            <summary>
            Gets the amount of symbols used by the target.
            </summary>
            <value>The symbol count.</value>
            <remarks>This poperty can be used, before uploading all data types and symbols.</remarks>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.MaxDynamicSymbolCount">
            <summary>
            Gets the maximal amount of Dynamic symbols of the target system.
            </summary>
            <value>The max dynamic symbols.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.UsedDynamicSymbolCount">
            <summary>
            Gets the used dynamic symbols by the target system.
            </summary>
            <value>The used dynamic symbols.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.StringEncoding">
            <summary>
            Gets the default string Encoding of the Symbols and DataTypesw.
            </summary>
            <value>The string encoding.</value>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.DEFAULT_TIMEOUT">
            <summary>
            The default timeout
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.AdsSymbolLoader._timeout">
            <summary>
            The timeout
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.loadUploadInfo(TwinCAT.Ads.IAdsConnection,System.TimeSpan,TwinCAT.Ads.Internal.SymbolUploadInfo@)">
            <summary>
            Load upload info.
            </summary>
            <param name="connection">The client.</param>
            <param name="timeout">The timeout.</param>
            <param name="uploadInfo">The upload information.</param>
            <returns>SymbolUploadInfo.</returns>
            <exception cref="T:System.ArgumentNullException">client</exception>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.loadSymbols(System.TimeSpan)">
            <summary>
            Loads the symbols.
            </summary>
            <param name="timeout">The timeout.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.CreateBuildInTypes">
            <summary>
            Creates the build in types.
            </summary>
            <returns>DataTypeCollection&lt;IDataType&gt;.</returns>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.TypeSystem.AdsSymbolLoader._buildInTypes">
            <summary>
            Contains the Build-In types if types are loaded, null if not.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.BuildInTypes">
            <summary>
            Gets the build in types.
            </summary>
            <value>The build in types.</value>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.loadTypes(System.TimeSpan)">
            <summary>
            Loads the data types.
            </summary>
            <param name="timeout">The timeout.</param>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.expandDataTypes">
            <summary>
            Expands the so far unresolved datatypes.
            </summary>
            <remarks>Some datatypes must be generated, because they are not available from the Watch server.
            This must be done, before the DataTypes collection is accessed, because otherwise the collection can be changed
            during enumeration
            </remarks>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.ImageBaseAddress">
            <summary>
            Gets the base Address of the accessed Process image.
            </summary>
            <value>The image base address.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.RootNamespaceName">
            <summary>
            Gets the root namespace name of the <see cref="T:TwinCAT.Ads.TypeSystem.AdsSymbolLoader"/>.
            </summary>
            <value>The root namespace.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.Symbols">
            <summary>
            Gets the (root) symbols of the <see cref="T:TwinCAT.Ads.TypeSystem.AdsSymbolLoader"/> as ReadOnly collection.
            </summary>
            <value>The symbols.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.TwinCAT#TypeSystem#IInternalSymbolProvider#SymbolsInternal">
            <summary>
            Gets the (root) symbols of the Symbol provider.
            </summary>
            <value>Read only collection of the Symbols</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.Namespaces">
            <summary>
            Get the Namespaces of DataTypes for this Symbol provider
            </summary>
            <value>ReadOnly collection of the namespaces.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.TwinCAT#TypeSystem#IInternalSymbolProvider#NamespacesInternal">
            <summary>
            Get the Namespaces of DataTypes for this Symbol provider
            </summary>
            <value>ReadOnly collection of the namespaces.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.RootNamespace">
            <summary>
            Gets the root (main) namespace of the Symbol provider.
            </summary>
            <value>The root namespace.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.DataTypes">
            <summary>
            Gets the data types.
            </summary>
            <returns>ReadOnlyDataTypeCollection&lt;IDataType&gt;.</returns>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.UseVirtualInstances">
            <summary>
            Indicates that Virtual (created StructInstances) are used.
            </summary>
            <value>The use virtual instances.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.SymbolsDynamic">
            <summary>
            Gets the dynamic Symbols
            </summary>
            <value>The dynamic symbols (when activated)</value>
            <remarks>
            The Dynamic Symbols can only be returned if the <see cref="F:TwinCAT.SymbolsLoadMode.DynamicTree"/> is active.
            </remarks>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.loadData">
            <summary>
            Loads the data types and symbols into the <see cref="T:TwinCAT.Ads.TypeSystem.AdsSymbolLoader"/>
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.DefaultNotificationSettings">
            <summary>
            Gets or sets the NotificationSettings that are used for Notification Defaults.
            </summary>
            <value>The default notification settings.</value>
        </member>
        <member name="E:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.TypesGenerated">
            <summary>
            Occurs when new types are generated internally
            </summary>
        </member>
        <member name="E:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.TypeResolveError">
            <summary>
            Occurs when a typename cannot be resolved.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.FactoryServices">
            <summary>
            Gets the Symbol Factory
            </summary>
            <value>
            The symbol factory.
            </value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.Provider">
            <summary>
            Gets the Symbol Provider
            </summary>
            <value>The provider.</value>
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.PlatformPointerSize">
            <summary>
            Gets the (byte) size of Pointers on the attached platform system.
            </summary>
            <value>The size of the platform pointer.</value>
        </member>
        <member name="M:TwinCAT.Ads.TypeSystem.AdsSymbolLoader.SetPlatformPointerSize(System.Int32)">
            <summary>
            Sets the size of the platform pointer.
            </summary>
            <param name="sz">The sz.</param>
        </member>
        <member name="T:TwinCAT.Ads.TypeSystem.IAdsSymbol">
            <summary>
            Interface IAdsSymbol
            </summary>
            <seealso cref="T:TwinCAT.TypeSystem.ISymbol" />
            <seealso cref="T:TwinCAT.TypeSystem.IProcessImageAddress" />
        </member>
        <member name="P:TwinCAT.Ads.TypeSystem.IAdsSymbol.ImageBaseAddress">
            <summary>
            Gets the <see cref="T:TwinCAT.Ads.AmsAddress"/> of the Process Image
            </summary>
            <value>The address.</value>
        </member>
        <member name="T:TwinCAT.Ads.AdsConnection">
            <summary>
            ADS Connection class
            </summary>
            <remarks>The ADS Connection class represents an ADS Point-to-Point Connection between client and server. It is established by using the
            Connect method of the <see cref="T:TwinCAT.Ads.AdsSession" /> object.
            An ADS Connection can have different <see cref="P:TwinCAT.Ads.AdsConnection.ConnectionState">ConnectionStates</see>, which represent the state of the logical ADS connection.</remarks>    
            <seealso cref="T:TwinCAT.Ads.AdsSession"/>
            <seealso cref="T:TwinCAT.Ads.IAdsConnection" />
            <seealso cref="T:System.IDisposable" />
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.#ctor(TwinCAT.Ads.AdsSession)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.AdsConnection"/> class.
            </summary>
            <param name="session">The session.</param>
        </member>
        <member name="F:TwinCAT.Ads.AdsConnection._session">
            <summary>
            The session
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.AdsConnection.Session">
            <summary>
            Gets the Session object of the <see cref="T:TwinCAT.Ads.AdsConnection"/> object.
            </summary>
            <value>The client.</value>
        </member>
        <member name="F:TwinCAT.Ads.AdsConnection._id">
            <summary>
            Connection ID
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.AdsConnection.Id">
            <summary>
            Gets the <see cref="T:TwinCAT.Ads.AdsConnection"/> identifier.
            </summary>
            <value>The identifier.</value>
        </member>
        <member name="F:TwinCAT.Ads.AdsConnection._client">
            <summary>
            Internal used client.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.AdsConnection.Client">
            <summary>
            Gets the used TcAdsClient of the <see cref="T:TwinCAT.Ads.AdsConnection"/> object.
            </summary>
            <value>The client.</value>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.AdsConnection._beforeAccessDelegate">
            <summary>
            Handler that is called before Read/Write
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsConnection._afterAccessDelegate">
            <summary>
            Handler that is called after Read/Write
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.createResurrectionHandler">
            <summary>
            Creates the interceptor delegates/handlers.
            </summary>
            <remarks>
            This implementation resurrects when ConnectionState is Lost,
            which means the connection IsConnected.
            </remarks>
        </member>
        <member name="P:TwinCAT.Ads.AdsConnection.AccessWaitTime">
            <summary>
            Gets the access wait time.
            </summary>
            <remarks>
            Gets the Wait Time until the next communication try will be done.
            This time is calculated as follows:
                ResurrectionTime - (DateTime.Now - ConnectionLostTime)
            </remarks>
            <value>The access wait time.</value>
            <seealso cref="P:TwinCAT.Ads.AdsConnection.ConnectionLostTime"/>
            <seealso cref="P:TwinCAT.Ads.SessionSettings.ResurrectionTime"/>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.BeforeAccess">
            <summary>
            Handler that is called before the Connection access (enables the Resurrection)
            </summary>
            <remarks>
            Calling this is important for the Connection Resurrection Handler!
            Resurrection is only tried when the Connection is neither Disposed nor
            Disconnected
            </remarks>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.AfterAccess">
            <summary>
            Handler that is called after Connection access.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.OnResurrect">
            <summary>
            Resurrection handler of the <see cref="T:TwinCAT.Ads.AdsConnection"/>.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.Resurrect">
            <summary>
            Resurrects the <see cref="T:TwinCAT.Ads.AdsConnection"/>
            </summary>
            <exception cref="T:TwinCAT.Ads.AdsException"></exception>
            <seealso cref="M:TwinCAT.Ads.AdsConnection.TryResurrect(TwinCAT.Ads.AdsException@)"/>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.TryResurrect(TwinCAT.Ads.AdsException@)">
            <summary>
            Tries to resurrect the <see cref="T:TwinCAT.Ads.AdsConnection"/>
            </summary>
            <param name="error">The error.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.Connect">
            <summary>
            (Re)Connects the <see cref="T:TwinCAT.IConnection" /> when disconnected.
            </summary>
            <returns><c>true</c> if the <see cref="T:TwinCAT.Ads.AdsConnection"/> is reconnected, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.OnConnect">
            <summary>
            Connect handler.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsConnection._interceptors">
            <summary>
            The interceptors
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.createInterceptors">
            <summary>
            Creates the interceptors.
            </summary>
            <returns>CommunicationInterceptors.</returns>
        </member>
        <member name="F:TwinCAT.Ads.AdsConnection._connectionState">
            <summary>
            The actual connection state
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.AdsConnection.State">
            <summary>
            Gets the current <see cref="P:TwinCAT.Ads.AdsConnection.ConnectionState" />
            </summary>
            <value>The state.</value>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.ConnectionObserver_ConnectionStateChanged(System.Object,TwinCAT.ConnectionStateChangedEventArgs)">
            <summary>
            Handles the ConnectionStateChanged event of the ConnectionObserver control.
            </summary>
            <param name="sender">The source of the event.</param>
            <param name="e">The <see cref="T:TwinCAT.SessionConnectionStateChangedEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="P:TwinCAT.Ads.AdsConnection.ConnectionState">
            <summary>
            Gets the current Connection state of the <see cref="T:TwinCAT.Ads.AdsConnection" />
            </summary>
            <value>The state of the connection.</value>
            <remarks>The Connection state changes only if the <see cref="T:TwinCAT.IConnection"/> is established / shut down
            or active communication is triggered by the User of the <see cref="T:TwinCAT.IConnection"/> object.
            </remarks>
            <example>
            The following sample shows how to keep the <see cref="P:TwinCAT.Ads.AdsConnection.ConnectionState"/> updated by triggering ADS Communication.
            <code language="C#" title="Trigger ConnectionState changes in WPF Applications" source="..\Samples\TwinCAT.ADS.NET_Samples\40_ADS.NET_WPFConnectionObserver\MainWindow.xaml.cs" region="CODE_SAMPLE" />
            </example>   
            <seealso cref="E:TwinCAT.Ads.AdsConnection.ConnectionStateChanged"/>
        </member>
        <member name="E:TwinCAT.Ads.AdsConnection.ConnectionStateChanged">
            <summary>
            Occurs when connection status of the <see cref="T:TwinCAT.Ads.AdsConnection"/> has been changed.
            </summary>
            <remarks>The Connection state changes only if the <see cref="T:TwinCAT.IConnection"/> is established / shut down
            or active communication is triggered by the User of the <see cref="T:TwinCAT.IConnection"/> object.
            </remarks>
            <example>
            The following sample shows how to keep the <see cref="P:TwinCAT.Ads.AdsConnection.ConnectionState"/> updated by triggering ADS Communication.
            <code language="C#" title="Trigger ConnectionState changes in WPF Applications" source="..\Samples\TwinCAT.ADS.NET_Samples\40_ADS.NET_WPFConnectionObserver\MainWindow.xaml.cs" region="CODE_SAMPLE" />
            </example>   
            <seealso cref="P:TwinCAT.Ads.AdsConnection.ConnectionState"/>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.OnConnectionStatusChanged(TwinCAT.ConnectionStateChangedEventArgs)">
            <summary>
            Handles the <see cref="E:ConnectionStatusChanged" /> event.
            </summary>
            <param name="args">The <see cref="T:TwinCAT.ConnectionStateChangedEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="E:TwinCAT.Ads.AdsConnection.DeviceStateChanged">
            <summary>
            Occurs when Device state has been changed.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.OnAdsStateChanged(TwinCAT.Ads.AdsStateChangedEventArgs2)">
            <summary>
            Handles the <see cref="E:AdsStateChanged" /> event.
            </summary>
            <param name="e">The <see cref="T:TwinCAT.Ads.AdsStateChangedEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="P:TwinCAT.Ads.AdsConnection.ConnectionObserver">
            <summary>
            Gets the connection observer.
            </summary>
            <value>The connection observer.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.AdsConnection.AdsStateObserver">
            <summary>
            Gets the ads state observer.
            </summary>
            <value>The ads state observer.</value>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.OnConnected">
            <summary>
            Called when the <see cref="T:TwinCAT.Ads.AdsConnection"/> is established.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.OnDisconnected">
            <summary>
            Called when the <see cref="T:TwinCAT.Ads.AdsConnection"/> is closed.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsConnection._lostTime">
            <summary>
            The timestamp of the connection loss
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.AdsConnection.ConnectionLostTime">
            <summary>
            Gets the connection lost time.
            </summary>
            <value>The connection lost time.</value>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.OnLost">
            <summary>
            Called when the connection has been lost.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.AdsConnection.IsLost">
            <summary>
            Gets a value indicating whether the communication is in lost / open state
            </summary>
            <value><c>true</c> if this instance is lost; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.AdsConnection.IsActive">
            <summary>
            Gets a value indicating whether communication is in active state
            </summary>
            <value><c>true</c> if this instance is active; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.AdsConnection.IsReconnecting">
            <summary>
            Gets a value indicating whether communication is ready for reconnecting
            </summary>
            <value><c>true</c> if this instance is reconnecting; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.ConnectionObserver_AdsStateChanged(System.Object,TwinCAT.Ads.AdsStateChangedEventArgs2)">
            <summary>
            Handles the AdsStateChanged event of the ConnectionObserver control.
            </summary>
            <param name="sender">The source of the event.</param>
            <param name="e">The <see cref="T:TwinCAT.Ads.AdsStateChangedEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.InjectError(TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Error injection only for Unit-Test purposes to simulate error conditions
            </summary>
            <param name="error">The error.</param>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.AdsConnection.ClientAddress">
            <summary>
            Get the <see cref="T:TwinCAT.Ads.AmsAddress" /> of the ADS client.
            </summary>
            <value>The client address.</value>
        </member>
        <member name="P:TwinCAT.Ads.AdsConnection.IsConnected">
            <summary>
            Gets a value indicating whether the local ADS port was opened successfully. It
            does not indicate if the target port is available. Use the method ReadState to
            determine if the target port is available.
            </summary>
            <value><c>true</c> if this instance is connected; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.AdsConnection.IsLocal">
            <summary>
            Gets a value indicating whether the ADS client is connected to a ADS Server on the local
            computer.
            </summary>
            <value><c>true</c> if this instance is local; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.AdsConnection.RawInterface">
            <summary>
            Gets the raw ADS interface.
            </summary>
            <value>The raw interface.</value>
            <exclude />
        </member>
        <member name="P:TwinCAT.Ads.AdsConnection.Address">
            <summary>
            Gets the <see cref="T:TwinCAT.Ads.AmsAddress" /> of the ADS server.
            </summary>
            <value>The server address.</value>
        </member>
        <member name="E:TwinCAT.Ads.AdsConnection.AdsNotification">
            <summary>
            Occurs when the ADS device sends a notification to the client.
            </summary>
        </member>
        <member name="E:TwinCAT.Ads.AdsConnection.AdsNotificationError">
            <summary>
            Occurs when a exception has occurred during notification management.
            </summary>
        </member>
        <member name="E:TwinCAT.Ads.AdsConnection.AdsNotificationEx">
            <summary>
            Occurs when the ADS devices sends a notification to the client.
            </summary>
        </member>
        <member name="E:TwinCAT.Ads.AdsConnection.AdsStateChanged">
            <summary>
            Occurs when ADS State has been changed.
            </summary>
        </member>
        <member name="E:TwinCAT.Ads.AdsConnection.AdsSymbolVersionChanged">
            <summary>
            Occurs when the symbol version has been changed.
            </summary>
            <remarks>This is the case when the connected ADS server restarts. This invalidates all actual opened
            symbol handles.
            The SymbolVersion counter doesn't trigger, when an online change is made on the PLC (ports 801, ..., 851 ...)</remarks>
        </member>
        <member name="E:TwinCAT.Ads.AdsConnection.AmsRouterNotification">
            <summary>
            Occurs when the Route sends an Notification.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.AddDeviceNotification(System.String,TwinCAT.Ads.AdsStream,TwinCAT.Ads.AdsTransMode,System.Int32,System.Int32,System.Object)">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="variableName">Name of the ADS variable.</param>
            <param name="dataStream">The stream that should receive the data.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <returns>The handle of the notification.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.AddDeviceNotification(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,TwinCAT.Ads.AdsTransMode,System.Int32,System.Int32,System.Object)">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">The stream that should receive the data.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <returns>The handle of the notification.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.AddDeviceNotification(System.String,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,TwinCAT.Ads.AdsTransMode,System.Int32,System.Int32,System.Object)">
            <summary>
            Adds the device notification.
            </summary>
            <param name="variableName">Name of the variable.</param>
            <param name="dataStream">The data stream.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length.</param>
            <param name="transMode">The trans mode.</param>
            <param name="cycleTime">The cycle time.</param>
            <param name="maxDelay">The maximum delay.</param>
            <param name="userData">The user data.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.TryAddDeviceNotification(System.String,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,TwinCAT.Ads.NotificationSettings,System.Object,System.UInt32@)">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="variableName">Name of the ADS variable.</param>
            <param name="dataStream">The stream that should receive the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <param name="settings">The settings.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <param name="handle">The handle.</param>
            <returns>The ADS ErrorCode.</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.TryAddDeviceNotificationEx(System.String,TwinCAT.Ads.NotificationSettings,System.Object,System.Type,System.Int32[],System.UInt32@)">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="variableName">Name of the ADS variable.</param>
            <param name="settings">The settings.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <param name="type">Type of the object stored in the event argument.</param>
            <param name="args">Additional arguments.</param>
            <param name="handle">The handle.</param>
            <returns>The handle of the notification.</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.TryDeleteDeviceNotification(System.UInt32)">
            <summary>
            Deletes an existing notification.
            </summary>
            <param name="notificationHandle">Handle of the notification.</param>
            <returns>AdsErrorCode.</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.AddDeviceNotification(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,TwinCAT.Ads.AdsTransMode,System.Int32,System.Int32,System.Object)">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">The stream that should receive the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <returns>The handle of the notification.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.AddDeviceNotificationEx(System.String,TwinCAT.Ads.AdsTransMode,System.Int32,System.Int32,System.Object,System.Type)">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="variableName">Name of the ADS variable.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <param name="type">Type of the object stored in the event argument.</param>
            <returns>The handle of the notification.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.AddDeviceNotificationEx(System.UInt32,System.UInt32,TwinCAT.Ads.AdsTransMode,System.Int32,System.Int32,System.Object,System.Type)">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <param name="type">Type of the object stored in the event argument.</param>
            <returns>The handle of the notification.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.AddDeviceNotificationEx(System.String,TwinCAT.Ads.AdsTransMode,System.Int32,System.Int32,System.Object,System.Type,System.Int32[])">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="variableName">Name of the ADS variable.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <param name="type">Type of the object stored in the event argument.</param>
            <param name="args">Additional arguments.</param>
            <returns>The handle of the notification.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.AddDeviceNotificationEx(System.UInt32,System.UInt32,TwinCAT.Ads.AdsTransMode,System.Int32,System.Int32,System.Object,System.Type,System.Int32[])">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            If type is a string type, the first element of the parameter args specifies the number of characters of the string.
            If type is an array type, the number of elements for each dimension has to be specified in the parameter args.
            At the moment only 1 dimensional Arrays are supported.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <param name="type">Type of the object s0000tored in the event argument.</param>
            <param name="args">Additional arguments.</param>
            <returns>The handle of the notification.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.CreateVariableHandle(System.String)">
            <summary>
            Generates a unique handle for an ADS variable.
            </summary>
            <param name="variableName">Name of the ADS variable</param>
            <returns>The handle of the ADS Variable.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.DeleteDeviceNotification(System.Int32)">
            <summary>
            Deletes an existing notification.
            </summary>
            <param name="notificationHandle">Handle of the notification.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.DeleteVariableHandle(System.Int32)">
            <summary>
            Releases the handle of a ADS variable again.
            </summary>
            <param name="variableHandle">Handle of the ADS variable</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.Read(System.Int32,TwinCAT.Ads.AdsStream)">
            <summary>
            Reads data synchronously from an ADS device and writes it to the given stream.
            </summary>
            <param name="variableHandle">Handle of the ADS variable</param>
            <param name="dataStream">Stream that receives the data.</param>
            <returns>Number of successfully returned data bytes.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.Read(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream)">
            <summary>
            Reads data synchronously from an ADS device and writes it to the given stream.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that receives the data.</param>
            <returns>Number of successfully returned data bytes.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.Read(System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32)">
            <summary>
            Reads data synchronously from an ADS device and writes it to the given stream.
            </summary>
            <param name="variableHandle">Handle of the ADS variable</param>
            <param name="dataStream">Stream that receives the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <returns>Number of successfully returned data bytes.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.Read(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32)">
            <summary>
            Reads data synchronously from an ADS device and writes it to the given stream.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that receives the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <returns>Number of successfully returned data bytes.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.Read(System.UInt32,System.UInt32,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Reads data synchronously from an ADS device and writes it to the given stream.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="readBuffer">The read buffer.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <returns>Number of successfully returned data bytes.</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.ReadAny(System.Int32,System.Type)">
            <summary>
            Reads data synchronously from an ADS device and writes it to an object.
            </summary>
            <param name="variableHandle">Handle of the ADS variable.</param>
            <param name="type">Type of the object to be read.</param>
            <returns>The object the read data is written to.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.ReadAny(System.Int32,System.Type,System.Int32[])">
            <summary>
            Reads any.
            </summary>
            <param name="variableHandle">The variable handle.</param>
            <param name="type">The type.</param>
            <param name="args">The arguments.</param>
            <returns>System.Object.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.ReadAny(System.UInt32,System.UInt32,System.Type)">
            <summary>
            Reads data synchronously from an ADS device and writes it to an object.
            </summary>
            <param name="indexGroup">Index group of the ADS variable.</param>
            <param name="indexOffset">Index offset of the ADS variable.</param>
            <param name="type">Type of the object to be read.</param>
            <returns>The object the read data is written to.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.ReadAny(System.UInt32,System.UInt32,System.Type,System.Int32[])">
            <summary>
            Reads data synchronously from an ADS device and writes it to an object.
            If the Type of the object to be read is a string type, the first element of
            the parameter args specifies the number of characters of the string.
            If the Type of the object to be read is an array type, the number of elements
            for each dimension has to be specified in the parameter args. At the moment
            only 1 dimensional Arrays are supported.
            </summary>
            <param name="indexGroup">Index group of the ADS variable.</param>
            <param name="indexOffset">Index offset of the ADS variable.</param>
            <param name="type">Type of the object to be read.</param>
            <param name="args">Additional arguments.</param>
            <returns>The object the read data is written to.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.ReadAny(System.UInt32,System.UInt32,System.Type,System.Int32[],System.Int32)">
            <summary>
            Reads data synchronously from an ADS device and writes it to an object.
            If the Type of the object to be read is a string type, the first element of
            the parameter args specifies the number of characters of the string.
            If the Type of the object to be read is an array type, the number of elements
            for each dimension has to be specified in the parameter args. At the moment
            only 1 dimensional Arrays are supported.
            </summary>
            <param name="indexGroup">Index group of the ADS variable.</param>
            <param name="indexOffset">Index offset of the ADS variable.</param>
            <param name="type">Type of the object to be read.</param>
            <param name="args">Additional arguments.</param>
            <param name="timeout">The timeout.</param>
            <returns>The object the read data is written to.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.ReadAnyString(System.UInt32,System.UInt32,System.Int32,System.Text.Encoding)">
            <summary>
            Reads the string
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="len">The length.</param>
            <param name="encoding">The encoding.</param>
            <returns>System.String.</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
            <exception cref="T:System.ObjectDisposedException"></exception>
            <remaks>ASCII Encoding expected</remaks>
            <remarks>ASCII Encoding expected</remarks>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.ReadAnyString(System.Int32,System.Int32,System.Text.Encoding)">
            <summary>
            Reads the string.
            </summary>
            <param name="variableHandle">The variable handle.</param>
            <param name="len">The length.</param>
            <param name="encoding">The encoding.</param>
            <returns>System.String.</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
            <exception cref="T:System.ObjectDisposedException"></exception>
            <remaks>ASCII Encoding expected</remaks>
            <remarks>ASCII Encoding expected</remarks>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.ReadDeviceInfo">
            <summary>
            Reads the identification and version number of an ADS server.
            </summary>
            <returns>DeviceInfo struct containing the name of the device and the version information.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.ReadState">
            <summary>
            Reads the ADS status and the device status from an ADS server.
            </summary>
            <returns>The ADS statue and device status.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.ReadSymbol(TwinCAT.Ads.ITcAdsSymbol)">
            <summary>
            Reads the value of a symbol and returns it as an object. Strings and all primitive datatypes(UInt32, Int32, Bool etc.) are supported. 
            Arrays and structures cannot be read.
            </summary>
            <param name="symbol">The symbol that should be read.</param>
            <returns>The value of the symbol as an object.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.ReadSymbol(System.String,System.Type,System.Boolean)">
            <summary>
            Reads the value of a symbol and returns the value as object. The parameter type must have the same
            layout as the ADS symbol.
            </summary>
            <param name="name">Name of the ADS symbol.</param>
            <param name="type">Managed type of the ADS symbol.</param>
            <param name="reloadSymbolInfo">If reload is true previously stored symbol information is cleared. As a consequence the symbol information must be obtained from the ADS server again.</param>
            <returns>Value of the symbol</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.ReadSymbolInfo(System.String)">
            <summary>
            Call this method to obtain information about the individual symbols (variables) in ADS devices.
            </summary>
            <param name="name">Name of the symbol.</param>
            <returns>A ITcAdsSymbol containing the requested symbol information or null if symbol could not
            be found.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.ReadDataType(System.String)">
            <summary>
            Call this method to obtain information about the specified data type.
            </summary>
            <param name="typeName">Name of the data type (without namespace)</param>
            <returns>An <IDataType></IDataType> containing the requested type.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">typeName</exception>
            <exception cref="T:System.ObjectDisposedException"></exception>
            <seealso cref="M:TwinCAT.Ads.AdsConnection.TryReadDataType(System.String,TwinCAT.TypeSystem.IDataType@)" />
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.TryReadDataType(System.String,TwinCAT.TypeSystem.IDataType@)">
            <summary>
            Call this method to obtain information about the specified data type.
            </summary>
            <param name="typeName">Name of the symbol.</param>
            <param name="dataType">The symbol.</param>
            <returns>A <see cref="T:TwinCAT.TypeSystem.IDataType" /> containing the requested symbol information or null if symbol could not
            be found.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">typeName</exception>
            <exception cref="T:System.ObjectDisposedException"></exception>
            <seealso cref="M:TwinCAT.Ads.AdsConnection.ReadDataType(System.String)" />
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.ReadWrite(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,TwinCAT.Ads.AdsStream)">
            <summary>
            Writes data synchronously to an ADS device and then Reads data from this device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="rdDataStream">Stream that receives the data that has been read.</param>
            <param name="wrDataStream">Stream that contains the data that should be written.</param>
            <returns>Number of successfully returned data bytes.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.ReadWrite(System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device and then Reads data from this device.
            </summary>
            <param name="variableHandle">Variable handle.</param>
            <param name="rdDataStream">Stream that receives the data that has been read.</param>
            <param name="rdOffset">Offset of the data in rdDataStream.</param>
            <param name="rdLength">Length of the data in rdDataStream.</param>
            <param name="wrDataStream">Stream that contains the data that should be written.</param>
            <param name="wrOffset">Offset of the data in wrDataStream.</param>
            <param name="wrLength">Length of the data in wrDataStream.</param>
            <returns>Number of successfully returned data bytes.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.ReadWrite(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device and then Reads data from this device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="rdDataStream">Stream that receives the data that has been read.</param>
            <param name="rdOffset">Offset of the data in rdDataStream.</param>
            <param name="rdLength">Length of the data in rdDataStream.</param>
            <param name="wrDataStream">Stream that contains the data that should be written.</param>
            <param name="wrOffset">Offset of the data in wrDataStream.</param>
            <param name="wrLength">Length of the data in wrDataStream.</param>
            <returns>Number of successfully returned data bytes.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.ReadWrite(System.UInt32,System.UInt32,System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device and then reads data from this device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="readBuffer">The read buffer.</param>
            <param name="rdOffset">Offset of the data in rdDataStream.</param>
            <param name="rdLength">Length of the data in rdDataStream.</param>
            <param name="writeBuffer">The write buffer.</param>
            <param name="wrOffset">Offset of the data in wrDataStream.</param>
            <param name="wrLength">Length of the data in wrDataStream.</param>
            <returns>Number of successfully returned data bytes.</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.TryReadState(TwinCAT.Ads.StateInfo@)">
            <summary>
            Reads the ADS status and the device status from an ADS server. Unlike the ReadState method this method does not call an exception on failure. Instead an AdsErrorCode is returned.
            If the return value is equal to AdsErrorCode.NoError the call was successful.
            </summary>
            <param name="stateInfo">The ADS statue and device status.</param>
            <returns>AdsErrorCode of the ads read state call. Check for AdsErrorCode.NoError to see if call was successfull.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.ReadState(System.Int32)">
            <summary>
            Reads the ADS status and the device status from an ADS server.
            </summary>
            <param name="timeout">The timeout.</param>
            <returns>The ADS statue and device status.</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.TryReadState(System.Int32,TwinCAT.Ads.StateInfo@)">
            <summary>
            Reads the ADS status and the device status from an ADS server. Unlike the ReadState method this method does not call an exception on failure. Instead an AdsErrorCode is returned.
            If the return value is equal to AdsErrorCode.NoError the call was successfull.
            </summary>
            <param name="timeout">The timeout.</param>
            <param name="stateInfo">The ADS statue and device status.</param>
            <returns>AdsErrorCode of the ads read state call. Check for AdsErrorCode.NoError to see if call was successfull.</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.Write(System.Int32,TwinCAT.Ads.AdsStream)">
            <summary>
            Writes data synchronously to an ADS device.
            </summary>
            <param name="variableHandle">Handle of the ADS variable</param>
            <param name="dataStream">Stream that receives the data.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.Write(System.UInt32,System.UInt32)">
            <summary>
            Trigger Client Method/Command.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <remarks>This method is used to trigger Client Methods/Commands without parameters.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.Write(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream)">
            <summary>
            Writes data synchronously to an ADS device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that receives the data.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.Write(System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device.
            </summary>
            <param name="variableHandle">Handle of the ADS variable</param>
            <param name="dataStream">Stream that contains the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.Write(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that contains the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.Write(System.UInt32,System.UInt32,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="writeBuffer">The write buffer.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <exception cref="T:System.ObjectDisposedException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.TryRead(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,System.Int32@)">
            <summary>
            Reads data synchronously from an ADS device and writes it to the given stream.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that receives the data.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length.</param>
            <param name="readBytes">The read bytes.</param>
            <returns>AdsErrorCode.</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.TryRead(System.UInt32,System.UInt32,System.Byte[],System.Int32,System.Int32,System.Int32@)">
            <summary>
            Reads data synchronously from an ADS device and writes it to the given stream.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="readBuffer">The read buffer.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length.</param>
            <param name="readBytes">The read bytes.</param>
            <returns>AdsErrorCode.</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
            <exception cref="T:System.ObjectDisposedException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.TryReadWrite(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,System.Int32@)">
            <summary>
            Writes data synchronously to an ADS device and then Reads data from this device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="rdDataStream">Stream that receives the data that has been read.</param>
            <param name="rdOffset">Offset of the data in rdDataStream.</param>
            <param name="rdLength">Length of the data in rdDataStream.</param>
            <param name="wrDataStream">Stream that contains the data that should be written.</param>
            <param name="wrOffset">Offset of the data in wrDataStream.</param>
            <param name="wrLength">Length of the data in wrDataStream.</param>
            <param name="readBytes">The read bytes.</param>
            <returns>AdsErrorCode.</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.TryReadWrite(System.UInt32,System.UInt32,System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32,System.Int32@)">
            <summary>
            Writes data synchronously to an ADS device and then Reads data from this device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="readBuffer">The read buffer.</param>
            <param name="rdOffset">Offset of the data in rdDataStream.</param>
            <param name="rdLength">Length of the data in rdDataStream.</param>
            <param name="writeBuffer">The write buffer.</param>
            <param name="wrOffset">Offset of the data in wrDataStream.</param>
            <param name="wrLength">Length of the data in wrDataStream.</param>
            <param name="readBytes">The read bytes.</param>
            <returns>AdsErrorCode.</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
            <exception cref="T:System.ObjectDisposedException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.TryWrite(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that contains the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <returns>AdsErrorCode.</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.TryWrite(System.UInt32,System.UInt32,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="writeBuffer">The write buffer.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <returns>AdsErrorCode.</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
            <exception cref="T:System.ObjectDisposedException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.Read(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,System.Int32)">
            <summary>
            Reads data synchronously from an ADS device and writes it to the given stream.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that receives the data.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length.</param>
            <param name="timeout">The timeout.</param>
            <returns>Number of successfully returned data bytes.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.Read(System.UInt32,System.UInt32,System.Byte[],System.Int32,System.Int32,System.Int32)">
            <summary>
            Reads data synchronously from an ADS device and writes it to the given stream.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="readBuffer">The read buffer.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length.</param>
            <param name="timeout">The timeout.</param>
            <returns>Number of successfully returned data bytes.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.ReadWrite(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,TwinCAT.Ads.AdsStream,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device and then Reads data from this device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="rdDataStream">Stream that receives the data that has been read.</param>
            <param name="wrDataStream">Stream that contains the data that should be written.</param>
            <param name="timeout">The timeout.</param>
            <returns>Number of successfully returned data bytes.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.ReadWrite(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device and then Reads data from this device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="rdDataStream">Stream that receives the data that has been read.</param>
            <param name="rdOffset">Offset of the data in rdDataStream.</param>
            <param name="rdLength">Length of the data in rdDataStream.</param>
            <param name="wrDataStream">Stream that contains the data that should be written.</param>
            <param name="wrOffset">Offset of the data in wrDataStream.</param>
            <param name="wrLength">Length of the data in wrDataStream.</param>
            <param name="timeout">The timeout.</param>
            <returns>Number of successfully returned data bytes.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.ReadWrite(System.UInt32,System.UInt32,System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device and then Reads data from this device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="readBuffer">The read buffer.</param>
            <param name="rdOffset">Offset of the data in rdDataStream.</param>
            <param name="rdLength">Length of the data in rdDataStream.</param>
            <param name="writeBuffer">The write buffer.</param>
            <param name="wrOffset">Offset of the data in wrDataStream.</param>
            <param name="wrLength">Length of the data in wrDataStream.</param>
            <param name="timeout">The timeout.</param>
            <returns>Number of successfully returned data bytes.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.Write(System.UInt32,System.UInt32,System.Int32)">
            <summary>
            Trigger Client Method/Command.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="timeout">The timeout.</param>
            <remarks>This method is used to trigger Client Methods/Commands without parameters.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.Write(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that receives the data.</param>
            <param name="timeout">The timeout.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.Write(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that contains the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <param name="timeout">The timeout.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.Write(System.UInt32,System.UInt32,System.Byte[],System.Int32,System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="writeBuffer">The write buffer.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <param name="timeout">The timeout.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.TryRead(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,System.Int32,System.Int32@)">
            <summary>
            Reads data synchronously from an ADS device and writes it to the given stream.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that receives the data.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length.</param>
            <param name="timeout">The timeout.</param>
            <param name="readBytes">The read bytes.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.TryRead(System.UInt32,System.UInt32,System.Byte[],System.Int32,System.Int32,System.Int32,System.Int32@)">
            <summary>
            Reads data synchronously from an ADS device and writes it to the given stream.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="readBuffer">The read buffer.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length.</param>
            <param name="timeout">The timeout.</param>
            <param name="readBytes">The read bytes.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.TryReadWrite(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,System.Int32,System.Int32@)">
            <summary>
            Writes data synchronously to an ADS device and then Reads data from this device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="rdDataStream">Stream that receives the data that has been read.</param>
            <param name="rdOffset">Offset of the data in rdDataStream.</param>
            <param name="rdLength">Length of the data in rdDataStream.</param>
            <param name="wrDataStream">Stream that contains the data that should be written.</param>
            <param name="wrOffset">Offset of the data in wrDataStream.</param>
            <param name="wrLength">Length of the data in wrDataStream.</param>
            <param name="timeout">The timeout.</param>
            <param name="readBytes">The read bytes.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.TryReadWrite(System.UInt32,System.UInt32,System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32,System.Int32,System.Int32@)">
            <summary>
            Writes data synchronously to an ADS device and then Reads data from this device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="readBuffer">The read buffer.</param>
            <param name="rdOffset">Offset of the data in rdDataStream.</param>
            <param name="rdLength">Length of the data in rdDataStream.</param>
            <param name="writeBuffer">The write buffer.</param>
            <param name="wrOffset">Offset of the data in wrDataStream.</param>
            <param name="wrLength">Length of the data in wrDataStream.</param>
            <param name="timeout">The timeout.</param>
            <param name="readBytes">The read bytes.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.TryWrite(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that contains the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <param name="timeout">The timeout.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.TryWrite(System.UInt32,System.UInt32,System.Byte[],System.Int32,System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="writeStream">The write stream.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <param name="timeout">The timeout.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.WriteAny(System.Int32,System.Object)">
            <summary>
            Writes an object synchronously to an ADS device.
            </summary>
            <param name="variableHandle">Handle of the ADS variable.</param>
            <param name="value">Object to write to the ADS device.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.WriteAny(System.Int32,System.Object,System.Int32[])">
            <summary>
            Writes an object synchronously to an ADS device.
            If the Type of the object to be written is a string type, the first element of parameter args
            specifies the number of characters of the string.
            </summary>
            <param name="variableHandle">Handle of the ADS variable.</param>
            <param name="value">Object to write to the ADS device.</param>
            <param name="args">Additional arguments.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.WriteAny(System.UInt32,System.UInt32,System.Object)">
            <summary>
            Writes an object synchronously to an ADS device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="value">Object to write to the ADS device.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.WriteAny(System.UInt32,System.UInt32,System.Object,System.Int32[])">
            <summary>
            Writes an object synchronously to an ADS device.
            If the Type of the object to be written is a string type, the first element of parameter args
            specifies the number of characters of the string.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="value">Object to write to the ADS device.</param>
            <param name="args">Additional arguments.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.WriteAny(System.UInt32,System.UInt32,System.Object,System.Int32[],System.Int32)">
            <summary>
            Writes an object synchronously to an ADS device.
            If the Type of the object to be written is a string type, the first element of parameter args
            specifies the number of characters of the string.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="value">Object to write to the ADS device.</param>
            <param name="args">Additional arguments.</param>
            <param name="timeout">The timeout.</param>
            <exception cref="T:System.ObjectDisposedException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.WriteControl(TwinCAT.Ads.StateInfo)">
            <summary>
            Changes the ADS status and the device status of an ADS server.
            </summary>
            <param name="stateInfo">New ADS status and device status.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.WriteControl(TwinCAT.Ads.StateInfo,System.Int32)">
            <summary>
            Changes the ADS status and the device status of an ADS server.
            </summary>
            <param name="stateInfo">New ADS status and device status.</param>
            <param name="timeout">The timeout.</param>
            <exception cref="T:System.ObjectDisposedException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.WriteControl(TwinCAT.Ads.StateInfo,TwinCAT.Ads.AdsStream,System.Int32,System.Int32)">
            <summary>
            Changes the ADS status and the device status of an ADS server.
            </summary>
            <param name="stateInfo">New ADS status and device status.</param>
            <param name="dataStream">Stream that contains the data that should be sent to the ADS device</param>
            <param name="offset">Offset of the data in the stream.</param>
            <param name="length">Length of the data in the stream.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.WriteControl(TwinCAT.Ads.StateInfo,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,System.Int32)">
            <summary>
            Changes the ADS status and the device status of an ADS server.
            </summary>
            <param name="stateInfo">New ADS status and device status.</param>
            <param name="dataStream">Stream that contains the data that should be sent to the ADS device</param>
            <param name="offset">Offset of the data in the stream.</param>
            <param name="length">Length of the data in the stream.</param>
            <param name="timeout">The timeout.</param>
            <exception cref="T:System.ObjectDisposedException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.TryWriteControl(TwinCAT.Ads.StateInfo,TwinCAT.Ads.AdsStream,System.Int32,System.Int32)">
            <summary>
            Changes the ADS status and the device status of an ADS server.
            </summary>
            <param name="stateInfo">New ADS status and device status.</param>
            <param name="dataStream">Stream that contains the data that should be sent to the ADS device</param>
            <param name="offset">Offset of the data in the stream.</param>
            <param name="length">Length of the data in the stream.</param>
            <returns>AdsErrorCode.</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.TryWriteControl(TwinCAT.Ads.StateInfo)">
            <summary>
            Changes the ADS status and the device status of an ADS server.
            </summary>
            <param name="stateInfo">New ADS status and device status.</param>
            <returns>AdsErrorCode.</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.TryWriteControl(TwinCAT.Ads.StateInfo,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,System.Int32)">
            <summary>
            Changes the ADS status and the device status of an ADS server.
            </summary>
            <param name="stateInfo">New ADS status and device status.</param>
            <param name="dataStream">Stream that contains the data that should be sent to the ADS device</param>
            <param name="offset">Offset of the data in the stream.</param>
            <param name="length">Length of the data in the stream.</param>
            <param name="timeout">The timeout.</param>
            <returns>AdsErrorCode.</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.TryWriteControl(TwinCAT.Ads.StateInfo,System.Int32)">
            <summary>
            Changes the ADS status and the device status of an ADS server.
            </summary>
            <param name="stateInfo">New ADS status and device status.</param>
            <param name="timeout">The timeout.</param>
            <returns>AdsErrorCode.</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.WriteSymbol(TwinCAT.Ads.ITcAdsSymbol,System.Object)">
            <summary>
            Writes a value to the symbol. Strings and all primitive data types(UInt32, Int32, Bool etc.) are supported.  Array and structures are not supported.
            If a string is passed as parameter, the method attempts to parse the string according to the ADS data type of the symbol.
            </summary>
            <param name="symbol">The symbol the value is written to.</param>
            <param name="val">The value to write.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.WriteSymbol(System.String,System.Object,System.Boolean)">
            <summary>
            Writes the passed object value to the specified ADS symbol.The parameter type must have the same
            layout as the ADS symbol.
            </summary>
            <param name="name">Name of the ADS symbol.</param>
            <param name="value">Object holding the value to be written to the ADS symbol</param>
            <param name="reloadSymbolInfo">If reload is true previously stored symbol information is cleared. As a consequence the symbol information must be obtained from the ADS server again.</param>
        </member>
        <member name="F:TwinCAT.Ads.AdsConnection._disposed">
            <summary>
            Indicates that the <see cref="T:TwinCAT.Ads.AdsConnection"/> is disposed.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.AdsConnection.Disposed">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.Ads.AdsConnection"/> is disposed.
            </summary>
            <value><c>true</c> if disposed; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.Dispose(System.Boolean)">
            <summary>
            Releases unmanaged and - optionally - managed resources.
            </summary>
            <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.Disconnect">
            <summary>
            Disconnects this <see cref="T:TwinCAT.IConnection" />.
            </summary>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.Close">
            <summary>
            Closes the <see cref="T:TwinCAT.Ads.AdsConnection"/>
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.TryRead(System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,System.Int32@)">
            <summary>
            Reads data synchronously from an ADS device and writes it to the given stream.
            </summary>
            <param name="variableHandle">Handle of the ADS variable</param>
            <param name="dataStream">Stream that receives the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <param name="readBytes">Number of successfully returned data bytes.</param>
            <returns>AdsErrorCode</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.TryReadWrite(System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,System.Int32@)">
            <summary>
            Writes data synchronously to an ADS device and then Reads data from this device.
            </summary>
            <param name="variableHandle">Variable handle.</param>
            <param name="rdDataStream">Stream that receives the data that has been read.</param>
            <param name="rdOffset">Offset of the data in rdDataStream.</param>
            <param name="rdLength">Length of the data in rdDataStream.</param>
            <param name="wrDataStream">Stream that contains the data that should be written.</param>
            <param name="wrOffset">Offset of the data in wrDataStream.</param>
            <param name="wrLength">Length of the data in wrDataStream.</param>
            <param name="readBytes">The read bytes.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.TryWrite(System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device.
            </summary>
            <param name="variableHandle">Handle of the ADS variable</param>
            <param name="dataStream">Stream that contains the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.CreateSymbolLoader(TwinCAT.ISession,TwinCAT.Ads.SymbolLoaderSettings)">
            <summary>
            Creates a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.IAdsSymbolLoader">Symbol loader</see> with the specified mode.
            </summary>
            <param name="session">The session (for session orientated loades / symbols). Can be NULL if not present.</param>
            <param name="settings">The settings.</param>
            <returns>The <see cref="T:TwinCAT.Ads.TypeSystem.IAdsSymbolLoader" /> interface of the Symbol loader.</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
            <exception cref="T:System.ObjectDisposedException"></exception>
            <example>
            The following sample shows how to create a dynamic version of the SymbolLoader V2. The dynamic symbol loader makes use of the Dynamic Language Runtime (DLR) of the .NET Framework.
            That means Structures, Arrays and Enumeration types and instances are generated 'on-the-fly' during symbol Browsing. These created dynamic objects are a one to one representation
            of the Symbol Server target objects (e.g the IEC61131 types on the PLC).
            Dynamic language features are only available from .NET4 upwards.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV2DynamicTree.cs" region="CODE_SAMPLE" />
            The following sample shows how to create a static (non dynamic) version of the SymbolLoader V2.
            The static symbol loader in version 2 is a nearly code compatible version of the Dynamic Loader, only the dynamic creation of objects is not available. The reason for supporting
            this mode is that .NET Framework Versions lower than Version 4.0 (CLR2) doesn't support the Dynamic Language Runtime (DLR).
            The SymbolLoader V2 static object is supported from .NET 2.0 on.
            <code language="C#" title="Virtual Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV2VirtualTree.cs" region="CODE_SAMPLE" /></example>
            <example>
            The SymbolLoader V2 static object is supported from .NET 2.0 on.
            <code language="C#" title="Flat Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV2Flat.cs" region="CODE_SAMPLE" /></example>
            <example>
              <code language="C#" title="Argument Parser" source="..\Samples\Sample.TwinCATAds\ArgParser.cs" region="CODE_SAMPLE" />
              <code language="C#" title="Dumping Symbols" source="..\Samples\Sample.TwinCATAds\SymbolDump.cs" region="CODE_SAMPLE" />
            </example>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) with Virtual Symbols
            <code language="C#" title="RPC Call in Virtual Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV2VirtualTree.cs" region="CODE_SAMPLE_RPCCALL" />
            </example>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) with Dynamic Symbols.
            <code language="C#" title="RPC Call in Dynamic Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV2DynamicTree.cs" region="CODE_SAMPLE_RPCCALL" />
            </example>
            <seealso cref="T:TwinCAT.Ads.TypeSystem.SymbolLoaderFactory" />
            <remarks>The Symbol Loader (V2) supports the following <see cref="T:TwinCAT.SymbolsLoadMode">modes</see>.
            <list type="Table">
            <listheader>
            <term></term><description></description>
            </listheader>
            <item>
            <term><see cref="F:TwinCAT.SymbolsLoadMode.Flat" /></term>
            <description>The flat mode organizes the Symbols in a flat list. At the beginning this List caches only the root symbol objects, which can be enumerated.
            To access the sub elements like structure fields or array elements use the <see cref="P:TwinCAT.TypeSystem.ISymbol.SubSymbols"/> collection. The property get
            accessor generates the subsymbols lazy on the fly (performance optimized) and stores them internally as weak reference (memory optimized).
            This mode is available in all .NET versions.</description>
            </item>
            <item>
            <term><see cref="F:TwinCAT.SymbolsLoadMode.VirtualTree" /></term>
            <description>On top of the behaviour of the <see cref="F:TwinCAT.SymbolsLoadMode.Flat"/>, the virtual tree mode organizes the Symbols hierarchically with parent-child relationships.
            That eases the access to the hierarchical structure but needs slightly more preprocessing of the data.
            This mode is available in all .NET Versions.
            </description>
            </item>
            <item>
            <term><see cref="F:TwinCAT.SymbolsLoadMode.DynamicTree" /></term>
            <description>The Dynamic tree mode organizes the Symbols hierarchically and (dynamically) creates struct members,
            array elements and enum fields on the fly. 'Dynamically' means here not only lazy creation like in <see cref="F:TwinCAT.SymbolsLoadMode.Flat"/>, but furthermore
            real creation of type safe .NET complex types/instances as represetantives of the TwinCAT Symbol objects/types. This feature is only available on platforms that support the Dynamic
            Language Runtime (DLR); actually all .NET Framework Version larger than 4.0.
            </description>
            </item>
            </list>
            Virtual instances means, that all Symbols are ordered within a tree structure. For that symbol nodes that are not located on a fixed address, a Virtual Symbol will be created.
            Setting the virtualInstance parameter to 'false' means, that the located symbols will be returned in a flattened list.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.WriteAnyString(System.UInt32,System.UInt32,System.String,System.Int32,System.Text.Encoding)">
            <summary>
            Writes the string (Potentially unsafe!)
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="value">The value.</param>
            <param name="length">The length.</param>
            <param name="encoding">The encoding.</param>
            <exclude />
            <remarks>ATTENTION: Potentially this method is unsafe because following data can be overwritten
            after the string symbol. Please be sure to specify the string length lower than the string size
            reserved within the process image!</remarks>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.WriteAnyString(System.Int32,System.String,System.Int32,System.Text.Encoding)">
            <summary>
            Writes the string (Potentially unsafe!)
            </summary>
            <param name="variableHandle">The variable handle.</param>
            <param name="value">The value.</param>
            <param name="length">The length of the string to write</param>
            <param name="encoding">The encoding.</param>
            <exclude />
            <remarks>ATTENTION: Potentially this method is unsafe because following data can be overwritten
            after the string symbol. Please be sure to specify the string length lower than the string size
            reserved within the process image!
            The String is written with ASCII Encoding</remarks>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.InvokeRpcMethod(TwinCAT.Ads.ITcAdsSymbol,System.String,System.Object[])">
            <summary>
            Invokes the specified RPC Method.
            </summary>
            <param name="symbol">The symbol with RPC Methods.</param>
            <param name="methodName">Name of the method.</param>
            <param name="inParameters">The RPC In-Parameters, or NULL.</param>
            <returns>The return value of the Method (as object) or NULL if void.</returns>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV1.cs" region="CODE_SAMPLE_RPCCALL" /></example>
            <remarks>This method only supports primitive data types as <paramref name="inParameters" />. Any available outparameters will be ignored.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.InvokeRpcMethod(TwinCAT.Ads.ITcAdsSymbol,System.String,System.Object[],System.Object[]@)">
            <summary>
            Invokes the specified RPC Method.
            </summary>
            <param name="symbol">The symbol with RPC Methods.</param>
            <param name="methodName">Name of the method.</param>
            <param name="inParameters">The RPC In-Parameters, or NULL.</param>
            <param name="outParameters">The RPC Out-parameters, or NULL</param>
            <returns>The return value of the Method (as object) or NULL if void.</returns>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV1.cs" region="CODE_SAMPLE_RPCCALL" /></example>
            <remarks>This method only supports primitive data types as <paramref name="inParameters" />/<paramref name="outParameters" />.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.InvokeRpcMethod(System.String,System.String,System.Object[])">
            <summary>
            Invokes the specified RPC Method.
            </summary>
            <param name="symbolPath">The symbol path.</param>
            <param name="methodName">Name of the method.</param>
            <param name="inParameters">The RPC In-Parameters, or NULL.</param>
            <returns>The return value of the Method (as object) or NULL if void.</returns>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV1.cs" region="CODE_SAMPLE_RPCCALL" /></example>
            <remarks>This method only supports primitive data types as <paramref name="inParameters" />. Any available outparameters will be ignored.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.InvokeRpcMethod(System.String,System.String,System.Object[],System.Object[]@)">
            <summary>
            Invokes the specified RPC Method.
            </summary>
            <param name="symbolPath">The symbolpath.</param>
            <param name="methodName">Name of the method.</param>
            <param name="inParameters">The RPC In-Parameters, or NULL.</param>
            <param name="outParameters">The RPC Out-parameters, or NULL</param>
            <returns>The return value of the Method (as object) or NULL if void.</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV1.cs" region="CODE_SAMPLE_RPCCALL" /></example>
            <remarks>This method only supports primitive data types as <paramref name="inParameters" />/<paramref name="outParameters" />.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.TryInvokeRpcMethod(TwinCAT.Ads.ITcAdsSymbol,System.String,System.Object[],TwinCAT.TypeSystem.AnyTypeSpecifier[],TwinCAT.TypeSystem.AnyTypeSpecifier,System.Object[]@,System.Object@)">
            <summary>
            Invokes the specified RPC Method.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="methodName">Name of the method.</param>
            <param name="inParameters">The RPC In-Parameters, or NULL.</param>
            <param name="outSpecifiers">The out specifiers (specifying the out types) or NULL.</param>
            <param name="retSpecifier">The ret specifier (specifying the return value) or NULL.</param>
            <param name="outParameters">The RPC Out-parameters, or NULL</param>
            <param name="retValue">The return value of the RPC method as object.</param>
            <returns>The ADS Error Code.</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV1.cs" region="CODE_SAMPLE_RPCCALL" /></example>
            <remarks>The RpcMethod optionally support In-Parameters, Out-Parameters and Return values. Therefore the parameters <paramref name="inParameters" />, <paramref name="outParameters" />, <paramref name="outSpecifiers" />, <paramref name="retSpecifier" />
            are allowed to be empty or NULL.
            In case of using primitive datatypes, the type specifier parameters (<paramref name="outSpecifiers" /> and <paramref name="retSpecifier" />) are not necessary and should not be set.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.TryInvokeRpcMethod(TwinCAT.Ads.ITcAdsSymbol,System.Int32,System.Object[],TwinCAT.TypeSystem.AnyTypeSpecifier[],TwinCAT.TypeSystem.AnyTypeSpecifier,System.Object[]@,System.Object@)">
            <summary>
            Invokes the specified RPC Method
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="methodId">The method identifier / Virtual Function table index.</param>
            <param name="inParameters">The parameters.</param>
            <param name="outSpecifiers">The out specifiers (specifying the out types) or NULL.</param>
            <param name="retSpecifier">The ret specifier (specifying the return value) or NULL.</param>
            <param name="outParameters">The out parameters.</param>
            <param name="retValue">The return value of the RPC method as object.</param>
            <returns>The ADS Error Code.</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
            <remarks>The RpcMethod optionally support In-Parameters, Out-Parameters and Return values. Therefore the parameters <paramref name="inParameters" />, <paramref name="outParameters" />, <paramref name="outSpecifiers" />, <paramref name="retSpecifier" />
            are allowed to be empty or NULL.
            In case of using primitive datatypes, the type specifier parameters (<paramref name="outSpecifiers" /> and <paramref name="retSpecifier" />) are not necessary and should not be set.</remarks>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.TryInvokeRpcMethod(TwinCAT.Ads.ITcAdsSymbol,TwinCAT.TypeSystem.IRpcMethod,System.Object[],TwinCAT.TypeSystem.AnyTypeSpecifier[],TwinCAT.TypeSystem.AnyTypeSpecifier,System.Object[]@,System.Object@)">
            <summary>
            Invokes the rpc method.
            </summary>
            <param name="symbol">The RPC callable symbol</param>
            <param name="method">The method.</param>
            <param name="inParameters">The parameters.</param>
            <param name="outSpecifiers">The out specifiers (specifying the out types) or NULL.</param>
            <param name="retSpecifier">The ret specifier (specifying the return value) or NULL.</param>
            <param name="outParameters">The out parameters.</param>
            <param name="retValue">The return value of the RPC method./&gt;</param>
            <returns>AdsErrorCode.</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV1.cs" region="CODE_SAMPLE_RPCCALL" /></example>
            <remarks>The RpcMethod optionally support In-Parameters, Out-Parameters and Return values. Therefore the parameters <paramref name="inParameters" />, <paramref name="outParameters" />, <paramref name="outSpecifiers" />, <paramref name="retSpecifier" />
            are allowed to be empty or NULL.
            In case of using primitive datatypes, the type specifier parameters (<paramref name="outSpecifiers" /> and <paramref name="retSpecifier" />) are not necessary and should not be set.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.TryInvokeRpcMethod(System.String,System.Int32,System.Object[],TwinCAT.TypeSystem.AnyTypeSpecifier[],TwinCAT.TypeSystem.AnyTypeSpecifier,System.Object[]@,System.Object@)">
            <summary>
            Invokes the specified RPC Method
            </summary>
            <param name="symbolPath">The symbol path.</param>
            <param name="methodId">The method identifier.</param>
            <param name="inParameters">The parameters.</param>
            <param name="outSpecifiers">The out specifiers (specifying the out types) or NULL.</param>
            <param name="retSpecifier">The ret specifier (specifying the return value) or NULL.</param>
            <param name="outParameters">The out parameters.</param>
            <param name="retValue">The return value of the RPC method as object.</param>
            <returns>The ADS Error Code.</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
            <remarks>The RpcMethod optionally support In-Parameters, Out-Parameters and Return values. Therefore the parameters <paramref name="inParameters" />, <paramref name="outParameters" />, <paramref name="outSpecifiers" />, <paramref name="retSpecifier" />
            are allowed to be empty or NULL.
            In case of using primitive datatypes, the type specifier parameters (<paramref name="outSpecifiers" /> and <paramref name="retSpecifier" />) are not necessary and should not be set.</remarks>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.TryInvokeRpcMethod(System.String,System.String,System.Object[],TwinCAT.TypeSystem.AnyTypeSpecifier[],TwinCAT.TypeSystem.AnyTypeSpecifier,System.Object[]@,System.Object@)">
            <summary>
            Invokes the specified RPC Method
            </summary>
            <param name="symbolPath">The symbol path.</param>
            <param name="methodName">The method name.</param>
            <param name="inParameters">The RPC In-parameters, or NULL</param>
            <param name="outSpecifiers">The out specifiers (specifying the out types) or NULL.</param>
            <param name="retSpecifier">The ret specifier (specifying the return value) or NULL.</param>
            <param name="outParameters">The RPC Out-parameters, or NULL</param>
            <param name="retValue">The return value of the RPC method as object.</param>
            <returns>The ADS Error Code.</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV1.cs" region="CODE_SAMPLE_RPCCALL" /></example>
            <remarks>The RpcMethod optionally support In-Parameters, Out-Parameters and Return values. Therefore the parameters <paramref name="inParameters" />, <paramref name="outParameters" />, <paramref name="outSpecifiers" />, <paramref name="retSpecifier" />
            are allowed to be empty or NULL.
            In case of using primitive datatypes, the type specifier parameters (<paramref name="outSpecifiers" /> and <paramref name="retSpecifier" />) are not necessary and should not be set.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.InvokeRpcMethod(TwinCAT.Ads.ITcAdsSymbol,System.String,System.Object[],TwinCAT.TypeSystem.AnyTypeSpecifier[],TwinCAT.TypeSystem.AnyTypeSpecifier,System.Object[]@)">
            <summary>
            Invokes the specified RPC Method.
            </summary>
            <param name="symbol">The symbol with RPC Methods.</param>
            <param name="methodName">Name of the method.</param>
            <param name="inParameters">The RPC In-Parameters, or NULL.</param>
            <param name="outSpecifiers">The out specifiers (specifying the out types) or NULL.</param>
            <param name="retSpecifier">The ret specifier (specifying the return value) or NULL.</param>
            <param name="outParameters">The out parameters.</param>
            <returns>The return value of the Method (as object) or NULL if void.</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV1.cs" region="CODE_SAMPLE_RPCCALL" /></example>
            <remarks>The RpcMethod optionally support In-Parameters, Out-Parameters and Return values. Therefore the parameters <paramref name="inParameters" />, <paramref name="outParameters" />, <paramref name="outSpecifiers" />, <paramref name="retSpecifier" />
            are allowed to be empty or NULL.
            In case of using primitive datatypes, the type specifier parameters (<paramref name="outSpecifiers" /> and <paramref name="retSpecifier" />) are not necessary and should not be set.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.InvokeRpcMethod(System.String,System.String,System.Object[],TwinCAT.TypeSystem.AnyTypeSpecifier[],TwinCAT.TypeSystem.AnyTypeSpecifier,System.Object[]@)">
            <summary>
            Invokes the specified RPC Method
            </summary>
            <param name="symbolPath">The symbol path.</param>
            <param name="methodName">The method name.</param>
            <param name="inParameters">The RPC In-Parameters, or NULL.</param>
            <param name="outSpecifiers">The out specifiers (specifiying the out types) or NULL.</param>
            <param name="retSpecifier">The ret specifier (specifiying the return value) or NULL.</param>
            <param name="outParameters">The RPC Out-parameters, or NULL</param>
            <returns>The return value of the Method (as object).</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV1.cs" region="CODE_SAMPLE_RPCCALL" /></example>
            <remarks>The RpcMethod optionally support In-Parameters, Out-Parameters and Return values. Therefore the parameters <paramref name="inParameters" />, <paramref name="outParameters" />, <paramref name="outSpecifiers" />, <paramref name="retSpecifier" />
            are allowed to be empty or NULL.
            In case of using primitive datatypes, the type specifier parameters (<paramref name="outSpecifiers" /> and <paramref name="retSpecifier" />) are not necessary and should not be set.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.TryInvokeRpcMethod(System.String,System.String,System.Object[],System.Object[]@,System.Object@)">
            <summary>
            Invokes the specified RPC Method
            </summary>
            <param name="symbolPath">The symbol path.</param>
            <param name="methodName">The method name.</param>
            <param name="inParameters">The RPC In-parameters, or NULL</param>
            <param name="outParameters">The RPC Out-parameters, or NULL</param>
            <param name="retValue">The return value of the RPC method as object.</param>
            <returns>The ADS Error Code.</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV1.cs" region="CODE_SAMPLE_RPCCALL" /></example>
            <remarks>This method only supports primitive data types as <paramref name="inParameters" />/<paramref name="outParameters" />.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.AdsConnection.TryInvokeRpcMethod(System.String,System.String,System.Object[],System.Object@)">
            <summary>
            Invokes the specified RPC Method
            </summary>
            <param name="symbolPath">The symbol path.</param>
            <param name="methodName">The method name.</param>
            <param name="inParameters">The RPC In-Parameters, or NULL.</param>
            <param name="retValue">The return value of the RPC method as object.</param>
            <returns>The ADS Error Code.</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV1.cs" region="CODE_SAMPLE_RPCCALL" /></example>
            <remarks>This method only supports primitive data types as <paramref name="inParameters" />.</remarks>
        </member>
        <member name="P:TwinCAT.Ads.AdsConnection.Name">
            <summary>
            Gets the name of the Connection
            </summary>
            <value>The name.</value>
        </member>
        <member name="F:TwinCAT.Ads.AdsConnection._connectionEstablishTime">
            <summary>
            The connection establish time
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.AdsConnection.ConnectionEstablishedAt">
            <summary>
            Gets the UTC time when the Connection was originally established.
            </summary>
            <value>The connection established at.</value>
        </member>
        <member name="F:TwinCAT.Ads.AdsConnection._connectionActiveSince">
            <summary>
            The UTC time when tha last active/resurrected Connection was established
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.AdsConnection.ActiveSince">
            <summary>
            Gets the UTC time when tha last active/resurrected Connection was established
            </summary>
            <value>The active since.</value>
        </member>
        <member name="P:TwinCAT.Ads.AdsConnection.ResurrectingTries">
            <summary>
            Gets the number of tries to resurrect the <see cref="T:TwinCAT.Ads.AdsConnection"/>.
            </summary>
            <value>The number of tried resurrections of the <see cref="T:TwinCAT.IConnection"/>.</value>
        </member>
        <member name="F:TwinCAT.Ads.AdsConnection._resurrections">
            <summary>
            The number of resurrections.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.AdsConnection.Resurrections">
            <summary>
            Gets the number of succeeded connection resurrections.
            </summary>
            <value>The resurrection count.</value>
        </member>
        <member name="P:TwinCAT.Ads.AdsConnection.ConnectionLostCount">
            <summary>
            Gets the connection lost count.
            </summary>
            <value>The connection lost count.</value>
        </member>
        <member name="P:TwinCAT.Ads.AdsConnection.Timeout">
            <summary>
            Gets the timeout (in milliseconds)
            </summary>
            <value>The timeout.</value>
        </member>
        <member name="T:TwinCAT.Ads.AdsException">
            <summary>
            Base class for all exceptions thrown by this class.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AdsException.#ctor">
            <summary>
            Initializes a new Instance of the AdsException class.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AdsException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.AdsException"/> class.
            </summary>
            <param name="info">The object that holds the serialized object data.</param>
            <param name="context">The contextual information about the source or destination.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsException.#ctor(System.String)">
            <summary>
            Initializes a new Instance of the AdsException class.
            </summary>
            <param name="message">A message that describes the error.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new Instance of the AdsException class.
            </summary>
            <param name="message">The error message that explains the reason for the exception.</param>
            <param name="innerException">The exception that is the cause of the current exception. If the <paramref name="innerException" /> parameter is not a null reference, the current exception is raised in a catch block that handles the inner exception.</param>
        </member>
        <member name="T:TwinCAT.Ads.AdsSymbolException">
            <summary>
            Symbol Exception
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsSymbolException.Symbol">
            <summary>
            The symbol
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsSymbolException.SymbolName">
            <summary>
            The symbol
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AdsSymbolException.#ctor(System.String,TwinCAT.Ads.ITcAdsSymbol)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.AdsSymbolException" /> class.
            </summary>
            <param name="message">The message.</param>
            <param name="symbol">The symbol.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsSymbolException.#ctor(System.String,TwinCAT.Ads.ITcAdsSymbol,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.AdsSymbolException" /> class.
            </summary>
            <param name="message">The message.</param>
            <param name="symbol">The symbol.</param>
            <param name="innerException">The inner exception.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsSymbolException.#ctor(System.String,System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.AdsSymbolException" /> class.
            </summary>
            <param name="message">The message.</param>
            <param name="symbolName">Symbol path.</param>
            <param name="innerException">The inner exception.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsSymbolException.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.AdsSymbolException" /> class.
            </summary>
            <param name="message">The message.</param>
            <param name="symbolName">Symbol path.</param>
        </member>
        <member name="T:TwinCAT.Ads.RpcMethodNotSupportedException">
            <summary>
            Symbol Exception
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.RpcMethodNotSupportedException.#ctor(System.String,TwinCAT.Ads.ITcAdsSymbol)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.RpcMethodNotSupportedException" /> class.
            </summary>
            <param name="methodName">Name of the method.</param>
            <param name="symbol">The symbol.</param>
        </member>
        <member name="M:TwinCAT.Ads.RpcMethodNotSupportedException.#ctor(System.Int32,TwinCAT.Ads.ITcAdsSymbol)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.RpcMethodNotSupportedException" /> class.
            </summary>
            <param name="vTableIndex">Index of the v table.</param>
            <param name="symbol">The symbol.</param>
        </member>
        <member name="T:TwinCAT.Ads.AdsDatatypeNotSupportedException">
            <summary>
            The exception that is thrown when a ADS datatype is not supported.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AdsDatatypeNotSupportedException.#ctor">
            <summary>
            Initializes a new Instance of the AdsDatatypeNotSupportedException class.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AdsDatatypeNotSupportedException.#ctor(System.String)">
            <summary>
            Initializes a new Instance of the AdsDatatypeNotSupportedException class.
            </summary>
            <param name="message">The message.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsDatatypeNotSupportedException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new Instance of the AdsDatatypeNotSupportedException class.
            </summary>
            <param name="message">The message.</param>
            <param name="innerException">The inner exception.</param>
        </member>
        <member name="T:TwinCAT.Ads.AdsInvalidNotificationException">
            <summary>
            This AdsInvalidNotificationException is created if the length of the notification data is 0.
            This indicates that the notification handle is not valid any more. This exception is passed
            to the AdsNotificationErrorEvent.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsInvalidNotificationException._handle">
            <summary>
            The _handle
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsInvalidNotificationException._timeStamp">
            <summary>
            The _time stamp
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AdsInvalidNotificationException.#ctor(System.Int32,System.Int64)">
            <summary>
            Initializes the class AdsInvalidNotificationException.
            </summary>
            <param name="handle">The handle.</param>
            <param name="timeStamp">The time stamp.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsInvalidNotificationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.AdsInvalidNotificationException"/> class.
            </summary>
            <param name="info">The object that holds the serialized object data.</param>
            <param name="context">The contextual information about the source or destination.</param>
            <exception cref="T:System.ArgumentNullException">info</exception>
        </member>
        <member name="M:TwinCAT.Ads.AdsInvalidNotificationException.#ctor(System.String,System.Int32,System.Int64)">
            <summary>
            Initializes the class AdsInvalidNotificationException.
            </summary>
            <param name="message">The message.</param>
            <param name="handle">The handle.</param>
            <param name="timeStamp">The time stamp.</param>
        </member>
        <member name="P:TwinCAT.Ads.AdsInvalidNotificationException.Handle">
            <summary>
            Handle of the notification.
            </summary>
            <value>The handle.</value>
        </member>
        <member name="P:TwinCAT.Ads.AdsInvalidNotificationException.TimeStamp">
            <summary>
            Gets the Time stamp as long
            </summary>
            <value>The time stamp.</value>
        </member>
        <member name="M:TwinCAT.Ads.AdsInvalidNotificationException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            When overridden in a derived class, sets the <see cref="T:System.Runtime.Serialization.SerializationInfo" /> with information about the exception.
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
            <exception cref="T:System.ArgumentNullException">info</exception>
            <PermissionSet>
              <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Read="*AllFiles*" PathDiscovery="*AllFiles*" />
              <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="SerializationFormatter" />
            </PermissionSet>
        </member>
        <member name="T:TwinCAT.Ads.AdsErrorException">
            <summary>
            The exception that is thrown when an ADS error occurs.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorException._errorCode">
            <summary>
            The _error code
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AdsErrorException.#ctor">
            <summary>
            Initializes a new Instance of the AdsErrorException class.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AdsErrorException.#ctor(System.String,TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Initializes a new Instance of the AdsErrorException class.
            </summary>
            <param name="message">The message.</param>
            <param name="errorCode">The error code.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsErrorException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.AdsErrorException"/> class.
            </summary>
            <param name="info">The object that holds the serialized object data.</param>
            <param name="context">The contextual information about the source or destination.</param>
            <exception cref="T:System.ArgumentNullException">info</exception>
        </member>
        <member name="P:TwinCAT.Ads.AdsErrorException.ErrorCode">
            <summary>
            Gets the error code of the Exception.
            </summary>
            <value>The error code.</value>
        </member>
        <member name="M:TwinCAT.Ads.AdsErrorException.Create(TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Creates the AdsErrorException
            </summary>
            <param name="adsErrorCode">The ads error code.</param>
            <returns>AdsErrorException.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsErrorException.Create(System.String,TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Creates the AdsErrorException
            </summary>
            <param name="message">The message.</param>
            <param name="adsErrorCode">The ads error code.</param>
            <returns>AdsErrorException.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsErrorException.CreateException(System.String,TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Creates the an exception object from Error Code
            </summary>
            <param name="message">The message.</param>
            <param name="adsErrorCode">The ads error code.</param>
            <returns>AdsErrorException.</returns>
            <exception cref="T:System.ArgumentException">No error indicated!;adsErrorCode</exception>
        </member>
        <member name="M:TwinCAT.Ads.AdsErrorException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            When overridden in a derived class, sets the <see cref="T:System.Runtime.Serialization.SerializationInfo" /> with information about the exception.
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
            <exception cref="T:System.ArgumentNullException">info</exception>
            <PermissionSet>
              <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Read="*AllFiles*" PathDiscovery="*AllFiles*" />
              <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="SerializationFormatter" />
            </PermissionSet>
        </member>
        <member name="T:TwinCAT.Ads.AdsSumCommandException">
            <summary>
            The exception that is thrown when an ADS SumCommand error occurs.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AdsSumCommandException.#ctor(System.String,TwinCAT.Ads.SumCommand.ISumCommand)">
            <summary>
            Initializes a new Instance of the AdsErrorException class.
            </summary>
            <param name="message">The message.</param>
            <param name="command">The command.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsSumCommandException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.AdsSumCommandException"/> class.
            </summary>
            <param name="info">The object that holds the serialized object data.</param>
            <param name="context">The contextual information about the source or destination.</param>
            <exception cref="T:System.ArgumentNullException">info</exception>
        </member>
        <member name="P:TwinCAT.Ads.AdsSumCommandException.SumCommand">
            <summary>
            Gets the sum command.
            </summary>
            <value>The sum command.</value>
        </member>
        <member name="M:TwinCAT.Ads.AdsSumCommandException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            When overridden in a derived class, sets the <see cref="T:System.Runtime.Serialization.SerializationInfo" /> with information about the exception.
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
            <exception cref="T:System.ArgumentNullException">info</exception>
            <PermissionSet>
              <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Read="*AllFiles*" PathDiscovery="*AllFiles*" />
              <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="SerializationFormatter" />
            </PermissionSet>
        </member>
        <member name="T:TwinCAT.Ads.AdsInitializeException">
            <summary>
            Initializing exception (TcAdsDllCe resp. TcAdsDll.dll not found)
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AdsInitializeException.#ctor(System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.AdsInitializeException" /> class.
            </summary>
            <param name="inner">The inner.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsInitializeException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.AdsInitializeException" /> class.
            </summary>
            <param name="message">The message.</param>
            <param name="inner">The inner.</param>
        </member>
        <member name="T:TwinCAT.Ads.SymbolException">
            <summary>
            Symbol bound exceptions
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.SymbolException.Symbol">
            <summary>
            Symbol that is bound to the <see cref="T:TwinCAT.Ads.SymbolException" />
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.SymbolException.#ctor(TwinCAT.TypeSystem.ISymbol,TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SymbolException" /> class.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="errorCode">The error code.</param>
        </member>
        <member name="M:TwinCAT.Ads.SymbolException.#ctor(TwinCAT.TypeSystem.ISymbol,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SymbolException" /> class.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="errorCode">The error code.</param>
        </member>
        <member name="M:TwinCAT.Ads.SymbolException.#ctor(TwinCAT.TypeSystem.ISymbol,TwinCAT.Ads.AdsErrorCode,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SymbolException" /> class.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="errorCode">The error code.</param>
            <param name="innerException">The inner exception.</param>
        </member>
        <member name="M:TwinCAT.Ads.SymbolException.#ctor(TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SymbolException" /> class.
            </summary>
            <param name="symbol">The symbol.</param>
        </member>
        <member name="M:TwinCAT.Ads.SymbolException.#ctor(TwinCAT.TypeSystem.ISymbol,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SymbolException" /> class.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="innerException">The inner exception.</param>
        </member>
        <member name="M:TwinCAT.Ads.SymbolException.#ctor(System.String,TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SymbolException" /> class.
            </summary>
            <param name="message">The message.</param>
            <param name="symbol">The symbol.</param>
        </member>
        <member name="M:TwinCAT.Ads.SymbolException.#ctor(System.String,TwinCAT.TypeSystem.ISymbol,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SymbolException" /> class.
            </summary>
            <param name="message">The message.</param>
            <param name="symbol">The symbol.</param>
            <param name="innerException">The inner exception.</param>
        </member>
        <member name="T:TwinCAT.Ads.ICommunicationInterceptor">
            <summary>
            Interface for intercepting communication
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.ICommunicationInterceptor.ID">
            <summary>
            Gets the identifier of the <see cref="T:TwinCAT.Ads.ICommunicationInterceptor" />
            </summary>
            <value>The identifier.</value>
        </member>
        <member name="M:TwinCAT.Ads.ICommunicationInterceptor.Communicate(System.Func{TwinCAT.Ads.AdsErrorCode})">
            <summary>
            Communication handler
            </summary>
            <param name="action">The communication action to be called.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.ICommunicationInterceptor.Communicate(System.Action,TwinCAT.Ads.AdsErrorCode@)">
            <summary>
            Communication handler
            </summary>
            <param name="action">The communication action to be called.</param>
            <param name="result">The communication result.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.ICommunicationInterceptor.Connect(System.Func{TwinCAT.Ads.AdsErrorCode})">
            <summary>
            Handler function for establishing the communication connection
            </summary>
            <param name="action">Wrapped handler function.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.ICommunicationInterceptor.BeforeDisconnect(System.Func{TwinCAT.Ads.AdsErrorCode})">
            <summary>
            Handler function for shutting the communication connection down.
            </summary>
            <param name="action">Wrapped handler function.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.ICommunicationInterceptor.Disconnect(System.Func{TwinCAT.Ads.AdsErrorCode})">
            <summary>
            Handler function for shutting the communication connection down.
            </summary>
            <param name="action">Wrapped handler function.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.ICommunicationInterceptor.CommunicateReadState(System.Func{TwinCAT.Ads.AdsErrorCode},TwinCAT.Ads.StateInfo@)">
            <summary>
            Communicates the state.
            </summary>
            <param name="action">The action.</param>
            <param name="adsState">State of the ads.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.ICommunicationInterceptor.CommunicateWriteState(System.Func{TwinCAT.Ads.AdsErrorCode},TwinCAT.Ads.StateInfo@)">
            <summary>
            Communicates the state.
            </summary>
            <param name="action">The action.</param>
            <param name="adsState">State of the ads.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="T:TwinCAT.Ads.ICommunicationInterceptHandler">
            <summary>
            Interface ICommunicationInterceptHandler
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.ICommunicationInterceptHandler.BeforeCommunicate">
            <summary>
            Called before communication
            </summary>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.ICommunicationInterceptHandler.AfterCommunicate(TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Called after communication
            </summary>
            <param name="result">Communication error/result.</param>
        </member>
        <member name="M:TwinCAT.Ads.ICommunicationInterceptHandler.BeforeConnect">
            <summary>
            Called before the communication channel is established.
            </summary>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.ICommunicationInterceptHandler.AfterConnect(TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Called after the communication channel is established.
            </summary>
            <param name="result">The result.</param>
        </member>
        <member name="M:TwinCAT.Ads.ICommunicationInterceptHandler.BeforeDisconnect">
            <summary>
            Called before the communication channel shuts down.
            </summary>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.ICommunicationInterceptHandler.AfterDisconnect(TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Called after the communication channel has shut down.
            </summary>
            <param name="result">The result.</param>
        </member>
        <member name="M:TwinCAT.Ads.ICommunicationInterceptHandler.BeforeWriteState(TwinCAT.Ads.StateInfo)">
            <summary>
            Called before an ADS state is written
            </summary>
            <param name="adsState">State of the ads.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.ICommunicationInterceptHandler.AfterWriteState(TwinCAT.Ads.StateInfo,TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Called after an ADS state is written.
            </summary>
            <param name="adsState">Ads state..</param>
            <param name="result">The result.</param>
        </member>
        <member name="M:TwinCAT.Ads.ICommunicationInterceptHandler.BeforeReadState">
            <summary>
            Called before the AdsState is read.
            </summary>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.ICommunicationInterceptHandler.AfterReadState(TwinCAT.Ads.StateInfo,TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Called after the ADS state is read.
            </summary>
            <param name="adsState">ADS state.</param>
            <param name="result">The result.</param>
        </member>
        <member name="T:TwinCAT.Ads.CommunicationInterceptor">
            <summary>
            Communication interceptor class (abstract base class for cross cutting communication issues).
            </summary>
            <remarks>The <see cref="T:TwinCAT.Ads.CommunicationInterceptor"/></remarks> is used for 'cross concern' communication issues. E.g. when a client has to interact just before and after
            the <see cref="T:TwinCAT.Ads.TcAdsClient"/> communicates with the connected AdsServer.
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptor.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.CommunicationInterceptor"/> class.
            </summary>
            <param name="id">The identifier.</param>
        </member>
        <member name="F:TwinCAT.Ads.CommunicationInterceptor._id">
            <summary>
            The Identifier
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.CommunicationInterceptor.ID">
            <summary>
            Gets the identifier of the <see cref="T:TwinCAT.Ads.ICommunicationInterceptor" />
            </summary>
            <value>The identifier.</value>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptor.Communicate(System.Action,TwinCAT.Ads.AdsErrorCode@)">
            <summary>
            Calls the specified communication action
            </summary>
            <param name="action">The action.</param>
            <param name="error">The error.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptor.Communicate(System.Func{TwinCAT.Ads.AdsErrorCode})">
            <summary>
            calls the specified communication action.
            </summary>
            <param name="action">The communication action to be called.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptor.CommunicateReadState(System.Func{TwinCAT.Ads.AdsErrorCode},TwinCAT.Ads.StateInfo@)">
            <summary>
            calls the specified communication action.
            </summary>
            <param name="action">The communication action to be called.</param>
            <param name="adsState">State of the ads.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptor.CommunicateWriteState(System.Func{TwinCAT.Ads.AdsErrorCode},TwinCAT.Ads.StateInfo@)">
            <summary>
            calls the specified communication action.
            </summary>
            <param name="action">The communication action to be called.</param>
            <param name="adsState">State of the ads.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptor.Connect(System.Func{TwinCAT.Ads.AdsErrorCode})">
            <summary>
            Calls the specified connection action
            </summary>
            <param name="action">Wrapped handler function.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptor.BeforeDisconnect(System.Func{TwinCAT.Ads.AdsErrorCode})">
            <summary>
            Handler function for shutting the communication connection down.
            </summary>
            <param name="action">Wrapped handler function.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptor.Disconnect(System.Func{TwinCAT.Ads.AdsErrorCode})">
            <summary>
            Handler function for shutting the communication connection down.
            </summary>
            <param name="action">Wrapped handler function.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptor.BeforeCommunicate">
            <summary>
            Called before communication
            </summary>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptor.OnBeforeCommunicate">
            <summary>
            Handler function called before the communication action occurs.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptor.AfterCommunicate(TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Called After communication
            </summary>
            <param name="errorCode">The error code.</param>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptor.OnAfterCommunicate(TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Handler function called after communication
            </summary>
            <param name="errorCode">The error code.</param>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptor.BeforeConnect">
            <summary>
            Called before the communication channel is established.
            </summary>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptor.OnBeforeConnect">
            <summary>
            Handler function called before the connection is established.
            </summary>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptor.AfterConnect(TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Called after the connection has been established.
            </summary>
            <param name="errorCode">The error code.</param>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptor.OnAfterConnect(TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Handler function called after the connection has been established.
            </summary>
            <param name="errorCode">The error code.</param>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptor.TwinCAT#Ads#ICommunicationInterceptHandler#BeforeDisconnect">
            <summary>
            Called before the communication channel shuts down.
            </summary>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptor.OnBeforeDisconnect">
            <summary>
            Handler function called before the communication channel is shut down.
            </summary>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptor.AfterDisconnect(TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Called after the disconnect.
            </summary>
            <param name="errorCode">The error code.</param>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptor.OnAfterDisconnect(TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Handler function called after the disconnection of the communication channel.
            </summary>
            <param name="errorCode">The error code.</param>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptor.BeforeWriteState(TwinCAT.Ads.StateInfo)">
            <summary>
            Called before an ADS state is written
            </summary>
            <param name="adsState">State of the ads.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptor.OnBeforeWriteState(TwinCAT.Ads.StateInfo)">
            <summary>
            Handler function called before the ADS state is written.
            </summary>
            <param name="adsState">State of the ads.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptor.AfterWriteState(TwinCAT.Ads.StateInfo,TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Called after an ADS state is written.
            </summary>
            <param name="adsState">Ads state..</param>
            <param name="result">The result.</param>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptor.OnAfterWriteState(TwinCAT.Ads.StateInfo,TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Handler function called after an ADS state is written.
            </summary>
            <param name="adsState">ADS state.</param>
            <param name="result">The result.</param>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptor.BeforeReadState">
            <summary>
            Called before the AsdState is read.
            </summary>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptor.OnBeforeReadState">
            <summary>
            Handler function called before an ADS State is read.
            </summary>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptor.AfterReadState(TwinCAT.Ads.StateInfo,TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Called after the ADS state is read.
            </summary>
            <param name="adsState">ADS state.</param>
            <param name="result">The result.</param>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptor.OnAfterReadState(TwinCAT.Ads.StateInfo,TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Handler function called after the ADS state is read.
            </summary>
            <param name="adsState">ADS state.</param>
            <param name="result">The result.</param>
        </member>
        <member name="T:TwinCAT.Ads.CommunicationInterceptors">
            <summary>
            Class CommunicationInterceptors is used for combinations (collections) of <see cref="T:TwinCAT.Ads.ICommunicationInterceptor"/> objects.
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.CommunicationInterceptors._list">
            <summary>
            Internal list of interceptors.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptors.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.CommunicationInterceptors"/> class.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptors.#ctor(System.Collections.Generic.IEnumerable{TwinCAT.Ads.ICommunicationInterceptHandler})">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.CommunicationInterceptors"/> class.
            </summary>
            <param name="interceptors">The interceptors.</param>
        </member>
        <member name="P:TwinCAT.Ads.CommunicationInterceptors.CombinedInterceptors">
            <summary>
            Gets the internal (combined) Interceptors
            </summary>
            <value>The combined interceptors.</value>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptors.Find``1">
            <summary>
            Finds the communication interceptor by base type.
            </summary>
            <returns>IEnumerable&lt;ICommunicationInterceptor&gt;.</returns>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptors.Find(System.String)">
            <summary>
            Finds the communication interceptor by id
            </summary>
            <param name="id">The identifier.</param>
            <returns>ICommunicationInterceptor.</returns>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptors.Combine(TwinCAT.Ads.ICommunicationInterceptor)">
            <summary>
            Combines the specified interceptor with the current <see cref="T:TwinCAT.Ads.CommunicationInterceptors"/>.
            </summary>
            <param name="interceptor">The interceptor.</param>
            <returns>ICommunicationInterceptor.</returns>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptors.OnBeforeCommunicate">
            <summary>
            Handler function called before the communication action occurs.
            </summary>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptors.OnAfterCommunicate(TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Handler function called after communication
            </summary>
            <param name="errorCode">The error code.</param>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptors.OnBeforeConnect">
            <summary>
            Handler function called before the connection is established.
            </summary>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptors.OnAfterConnect(TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Handler function called after the connection has been established.
            </summary>
            <param name="errorCode">The error code.</param>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptors.OnBeforeDisconnect">
            <summary>
            Handler function called before the communication channel is shut down.
            </summary>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptors.OnAfterDisconnect(TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Handler function called after the disconnection of the communication channel.
            </summary>
            <param name="errorCode">The error code.</param>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptors.OnBeforeReadState">
            <summary>
            Handler function called before an ADS State is read.
            </summary>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptors.OnAfterReadState(TwinCAT.Ads.StateInfo,TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Handler function called after the ADS state is read.
            </summary>
            <param name="adsState">ADS state.</param>
            <param name="result">The result.</param>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptors.OnBeforeWriteState(TwinCAT.Ads.StateInfo)">
            <summary>
            Handler function called before the ADS state is written.
            </summary>
            <param name="adsState">State of the ads.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptors.OnAfterWriteState(TwinCAT.Ads.StateInfo,TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Handler function called after an ADS state is written.
            </summary>
            <param name="adsState">ADS state.</param>
            <param name="result">The result.</param>
        </member>
        <member name="M:TwinCAT.Ads.CommunicationInterceptors.Lookup(System.Type)">
            <summary>
            Lookups the specified interceptor type.
            </summary>
            <param name="interceptorType">Type of the interceptor.</param>
            <returns>ICommunicationInterceptor.</returns>
        </member>
        <member name="T:TwinCAT.Ads.IFailFastHandler">
            <summary>
            Interface for a fast failing (Circuit breaker) ads handler
            </summary>
            <remarks>
            If a target is not available it will throw Timeout exceptions after a Default time of 5 seconds.
            To prevent hanging applications and bring more robustness into the communication (less consumption of ADS Mailbox memory), a second try to call the target
            should fail fast - not waiting for the Timeout. Only after a dedicated reconnection timeout timespan, real communication
            should be retried.
            </remarks>
        </member>
        <member name="M:TwinCAT.Ads.IFailFastHandler.Guard">
            <summary>
            Guards the <see cref="T:TwinCAT.Ads.IFailFastHandler"/> from state changes that allow unintended communication.
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.IFailFastHandler.Trip(TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Trips to the internal <see cref="T:TwinCAT.Ads.Internal.LostCommunicationState" /> (Open circuit) state.
            </summary>
            <param name="errorCode">The causing error.</param>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.IFailFastHandler.Succeed">
            <summary>
            Indicates that the communication has been succeeded.
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.IFailFastHandler.CurrentState">
            <summary>
            Gets the current state of the Fail Fast handler.
            </summary>
            <value>Current state.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.IFailFastHandler.IsActive">
            <summary>
            Gets a value indicating whether interceptor state is active
            </summary>
            <value><c>true</c> if communication state is active; otherwise, <c>false</c>.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.IFailFastHandler.IsReconnecting">
            <summary>
            Gets a value indicating whether interceptor state is 'ready to connect'
            </summary>
            <value><c>true</c> if this instance is reconnecting; otherwise, <c>false</c>.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.IFailFastHandler.IsLost">
            <summary>
            Gets a value indicating whether the interceptor is in open / lost state
            </summary>
            <value><c>true</c> if communication is lost / open; otherwise, <c>false</c>.</value>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.IFailFastHandler.Reset">
            <summary>
            Resets the <see cref="T:TwinCAT.Ads.IFailFastHandler"/>
            </summary>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
            <exclude/>
        </member>
        <member name="T:TwinCAT.Ads.IFailFastHandlerState">
            <summary>
            State interface for the different <see cref="T:TwinCAT.Ads.IFailFastHandler"/> states.
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.IFailFastHandlerState.NextState">
            <summary>
            Transition to the next state of the state machine (state machine pattern).
            </summary>
            <returns>IFailFastHandlerState.</returns>
        </member>
        <member name="M:TwinCAT.Ads.IFailFastHandlerState.Guard">
            <summary>
            Guards the <see cref="T:TwinCAT.Ads.IFailFastHandler"/> from state changes that allow unintended communication.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.IFailFastHandlerState.Trip(TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Trips to the internal <see cref="T:TwinCAT.Ads.Internal.LostCommunicationState" /> (Open circuit) state.
            </summary>
            <param name="error">The causing error.</param>
        </member>
        <member name="M:TwinCAT.Ads.IFailFastHandlerState.Succeed">
            <summary>
            Indicates that the communication has been succeeded.
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.FailFastHandlerInterceptor">
            <summary>
            Fail Fast handler for ADS communication (Circuit breaker)
            </summary>
            <remarks>If a target is not available it will throw Timeout exceptions after a Default time of 5 seconds.
            To prevent hanging applications and bring more robustness into the communication (less consumption of ADS Mailbox memory), a second try to call the target
            should fail fast - not waiting for the Timeout. Only after a dedicated reconnection timeout timespan, real communication
            should be retried.
            The <see cref="T:TwinCAT.Ads.FailFastHandlerInterceptor"/> is responsible for implementing this behavior.
            </remarks>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.FailFastHandlerInterceptor._synchronizer">
            <summary>
            Synchronizer object.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.FailFastHandlerInterceptor.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.FailFastHandlerInterceptor"/> class with the Default FailFast timeout of 21 s
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.FailFastHandlerInterceptor.#ctor(System.TimeSpan)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.FailFastHandlerInterceptor"/> class.
            </summary>
            <param name="timeout">The timeout.</param>
        </member>
        <member name="F:TwinCAT.Ads.FailFastHandlerInterceptor._preventRejectedConnection">
            <summary>
            Value indicating whether Connection refused errors (AdsErrorCode.WSA_ConnRefused) trigger internal error conditions
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.FailFastHandlerInterceptor.TwinCAT#Ads#Internal#IPreventRejected#PreventRejectedConnection">
            <summary>
            Gets or sets a value indicating whether Connection refused errors (AdsErrorCode.WSA_ConnRefused) trigger internal error conditions
            </summary>
            <value><c>true</c> if connection refused is prevented; otherwise, <c>false</c>.</value>
        </member>
        <member name="F:TwinCAT.Ads.FailFastHandlerInterceptor._timeout">
            <summary>
            The actual Fail fast timeout
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.FailFastHandlerInterceptor.Timeout">
            <summary>
            Gets the actual FailFast Timeout
            </summary>
            <value>The timeout.</value>
        </member>
        <member name="F:TwinCAT.Ads.FailFastHandlerInterceptor._state">
            <summary>
            State of the internal state machine.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.FailFastHandlerInterceptor.CurrentState">
            <summary>
            Gets the current state of the Fail Fast handler.
            </summary>
            <value>Current state.</value>
        </member>
        <member name="M:TwinCAT.Ads.FailFastHandlerInterceptor.OnBeforeConnect">
            <summary>
            Handler function called before the connection is established.
            </summary>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.FailFastHandlerInterceptor.Reset">
            <summary>
            Resets this instance.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.FailFastHandlerInterceptor.OnAfterConnect(TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Handler function called after the connection has been established.
            </summary>
            <param name="errorCode">The error code.</param>
        </member>
        <member name="M:TwinCAT.Ads.FailFastHandlerInterceptor.OnAfterDisconnect(TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Handler function called after the disconnection of the communication channel.
            </summary>
            <param name="errorCode">The error code.</param>
        </member>
        <member name="M:TwinCAT.Ads.FailFastHandlerInterceptor.OnBeforeCommunicate">
            <summary>
            Handler function called before the communication action occurs.
            </summary>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.FailFastHandlerInterceptor.OnAfterCommunicate(TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Handler function called after communication
            </summary>
            <param name="errorCode">The error code.</param>
        </member>
        <member name="F:TwinCAT.Ads.FailFastHandlerInterceptor.TrippingErrors">
            <summary>
            The tripping errors
            </summary>
            <remarks>The <see cref="F:TwinCAT.Ads.AdsErrorCode.WSA_ConnRefused"/> can be temporarily switched off by the
            <see cref="T:TwinCAT.Ads.Internal.IPreventRejected"/> inteface.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.FailFastHandlerInterceptor.IsTrippingError(TwinCAT.Ads.AdsErrorCode,System.Boolean)">
            <summary>
            Determines whether an error is tripped by the <see cref="T:TwinCAT.Ads.AdsErrorCode" />.
            </summary>
            <param name="errorCode">The error code.</param>
            <param name="preventRejectedConnectionError">if set to <c>true</c> [prevent rejected connection error].</param>
            <returns><c>true</c> if the error code is an tripping error.</returns>
        </member>
        <member name="M:TwinCAT.Ads.FailFastHandlerInterceptor.Guard">
            <summary>
            Guards the <see cref="T:TwinCAT.Ads.IFailFastHandler" /> from state changes that allow unintended communication.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.FailFastHandlerInterceptor._trippedError">
            <summary>
            The causing error for the trip.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.FailFastHandlerInterceptor.TrippedError">
            <summary>
            Causing error for the Trip
            </summary>
            <value>The tripped error.</value>
        </member>
        <member name="P:TwinCAT.Ads.FailFastHandlerInterceptor.IsActive">
            <summary>
            Gets a value indicating whether interceptor state is active
            </summary>
            <value><c>true</c> if communication state is active; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.FailFastHandlerInterceptor.IsReconnecting">
            <summary>
            Gets a value indicating whether interceptor state is 'ready to connect'
            </summary>
            <value><c>true</c> if this instance is reconnecting; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.FailFastHandlerInterceptor.IsLost">
            <summary>
            Gets a value indicating whether the interceptor is in open / lost state
            </summary>
            <value><c>true</c> if communication is lost / open; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:TwinCAT.Ads.FailFastHandlerInterceptor.Trip(TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Trips the <see cref="T:TwinCAT.Ads.FailFastHandlerInterceptor"/> with the specified error.
            </summary>
            <param name="error">The error.</param>
        </member>
        <member name="M:TwinCAT.Ads.FailFastHandlerInterceptor.Succeed">
            <summary>
            Succeeds this instance.
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.IAdsStateObserver">
            <summary>
            Interface for an AdsState observer
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.IAdsStateObserver.StateInfo">
            <summary>
            Gets the current state of the connected ADS Server.
            </summary>
            <value>ADS state</value>
        </member>
        <member name="E:TwinCAT.Ads.IAdsStateObserver.AdsStateChanged">
            <summary>
            Occurs when the ads state has been changed.
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.ConnectionStateInterceptor">
            <summary>
            Connection state observer (Interceptor)
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.ConnectionStateInterceptor.#ctor(TwinCAT.Ads.IAdsSession)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.ConnectionStateInterceptor" /> class.
            </summary>
            <param name="session">The session.</param>
        </member>
        <member name="F:TwinCAT.Ads.ConnectionStateInterceptor._session">
            <summary>
            The session
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.ConnectionStateInterceptor._synchronizer">
            <summary>
            Synchronizer object
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.ConnectionStateInterceptor._connectionState">
            <summary>
            Current connection state.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.ConnectionStateInterceptor._lastSucceeded">
            <summary>
            Last succeeded access (UTC)
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.ConnectionStateInterceptor.LastSucceededAccess">
            <summary>
            Gets the UTC <see cref="T:System.DateTime"/> of the last successful data communication
            </summary>
            <value></value>
        </member>
        <member name="F:TwinCAT.Ads.ConnectionStateInterceptor._lastAccess">
            <summary>
            Last (successful) access (UTC).
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.ConnectionStateInterceptor.LastAccess">
            <summary>
            Gets the last Access (UTC) (Succeeded or not succeeded)
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.ConnectionStateInterceptor.OnAfterCommunicate(TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Handler function called after communication
            </summary>
            <param name="errorCode">The error code.</param>
        </member>
        <member name="M:TwinCAT.Ads.ConnectionStateInterceptor.OnError(TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Called when an Communication error occurs.
            </summary>
            <param name="error">The error.</param>
        </member>
        <member name="M:TwinCAT.Ads.ConnectionStateInterceptor.setState(TwinCAT.ConnectionState)">
            <summary>
            Sets the connection state.
            </summary>
            <param name="newState">The new state.</param>
        </member>
        <member name="M:TwinCAT.Ads.ConnectionStateInterceptor.OnAfterConnect(TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Handler function called after the connection has been established.
            </summary>
            <param name="error">The error code.</param>
        </member>
        <member name="M:TwinCAT.Ads.ConnectionStateInterceptor.OnAfterDisconnect(TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Handler function called after the disconnection of the communication channel.
            </summary>
            <param name="errorCode">The error code.</param>
        </member>
        <member name="F:TwinCAT.Ads.ConnectionStateInterceptor._errorCount">
            <summary>
            Error count
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.ConnectionStateInterceptor.TotalErrors">
            <summary>
            Gets the Number of Failed Accesses since the last succeeded
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.ConnectionStateInterceptor._errorCountSinceLastAccess">
            <summary>
            Error count since last acces.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.ConnectionStateInterceptor.ErrorsSinceLastSucceeded">
            <summary>
            Gets the number of errors since the last successful access
            </summary>
            <value></value>
        </member>
        <member name="P:TwinCAT.Ads.ConnectionStateInterceptor.ConnectionState">
            <summary>
            Gets the current Connection state of the <see cref="T:TwinCAT.Ads.ConnectionStateInterceptor" />
            </summary>
            <value>The state of the connection.</value>
        </member>
        <member name="F:TwinCAT.Ads.ConnectionStateInterceptor._cycleCount">
            <summary>
            Number of succeeded accesses of the connection
            </summary>
        </member>
        <member name="E:TwinCAT.Ads.ConnectionStateInterceptor.ConnectionStateChanged">
            <summary>
            Occurs when the connection state has been changed.
            </summary>
        </member>
        <member name="E:TwinCAT.Ads.ConnectionStateInterceptor.AdsStateChanged">
            <summary>
            Occurs when the ads state has been changed.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.ConnectionStateInterceptor.OnConnectionStatusChanged(TwinCAT.ConnectionState,TwinCAT.ConnectionState)">
            <summary>
            Called when [connection status changed].
            </summary>
            <param name="oldState">The old state.</param>
            <param name="newState">The new state.</param>
        </member>
        <member name="P:TwinCAT.Ads.ConnectionStateInterceptor.TotalCycles">
            <summary>
            Gets the number of succeeded accesses.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.ConnectionStateInterceptor.Quality">
            <summary>
            Gets the Quality of the current connection (now - LastSucceeded)
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.ConnectionStateInterceptor.StateInfo">
            <summary>
            Gets the current state of the connected ADS Server.
            </summary>
            <value>ADS state</value>
        </member>
        <member name="F:TwinCAT.Ads.ConnectionStateInterceptor._preventRejectedConnection">
            <summary>
            Indicates that Connection refused errors (AdsErrorCode.WSA_ConnRefused) are prevented temporarily.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.ConnectionStateInterceptor.TwinCAT#Ads#Internal#IPreventRejected#PreventRejectedConnection">
            <summary>
            Gets or sets a value indicating whether Connection refused errors (AdsErrorCode.WSA_ConnRefused) trigger internal error conditions
            </summary>
            <value><c>true</c> if connection refused is prevented; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:TwinCAT.Ads.ConnectionStateInterceptor.OnAfterReadState(TwinCAT.Ads.StateInfo,TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Handler function called after the ADS state is read.
            </summary>
            <param name="adsState">ADS state.</param>
            <param name="result">The result.</param>
        </member>
        <member name="M:TwinCAT.Ads.ConnectionStateInterceptor.OnAfterWriteState(TwinCAT.Ads.StateInfo,TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Handler function called after an ADS state is written.
            </summary>
            <param name="adsState">ADS state.</param>
            <param name="result">The result.</param>
        </member>
        <member name="F:TwinCAT.Ads.ConnectionStateInterceptor._adsState">
            <summary>
            The current ADS state.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.ConnectionStateInterceptor.setAdsState(TwinCAT.Ads.StateInfo)">
            <summary>
            Sets the ADS state.
            </summary>
            <param name="adsState">Ads state.</param>
        </member>
        <member name="M:TwinCAT.Ads.ConnectionStateInterceptor.OnAdsStateChanged(TwinCAT.Ads.StateInfo,TwinCAT.Ads.StateInfo)">
            <summary>
            Called when the ADS state has been changed.
            </summary>
            <param name="oldState">The old state.</param>
            <param name="newState">State of the _ads.</param>
        </member>
        <member name="T:TwinCAT.Ads.IAdsAnyAccess">
            <summary>
            Interface for accessing ADS 'Any' objects.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.IAdsAnyAccess.ReadAnyString(System.UInt32,System.UInt32,System.Int32,System.Text.Encoding)">
            <summary>
            Reads the string
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="len">The length.</param>
            <param name="encoding">The encoding.</param>
            <returns>System.String.</returns>
            <remarks>ASCII Encoding expected</remarks>
        </member>
        <member name="M:TwinCAT.Ads.IAdsAnyAccess.ReadAnyString(System.Int32,System.Int32,System.Text.Encoding)">
            <summary>
            Reads the string.
            </summary>
            <param name="variableHandle">The variable handle.</param>
            <param name="len">The length.</param>
            <param name="encoding">The encoding.</param>
            <returns>System.String.</returns>
            <remaks>ASCII Encoding expected</remaks>
        </member>
        <member name="M:TwinCAT.Ads.IAdsAnyAccess.WriteAnyString(System.UInt32,System.UInt32,System.String,System.Int32,System.Text.Encoding)">
            <summary>
            Writes the string (Potentially unsafe!)
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="value">The value.</param>
            <param name="length">The length.</param>
            <param name="encoding">The encoding.</param>
            <remarks>ATTENTION: Potentially this method is unsafe because following data can be overwritten
            after the string symbol. Please be sure to specify the string length lower than the string size
            reserved within the process image!</remarks>
        </member>
        <member name="M:TwinCAT.Ads.IAdsAnyAccess.WriteAnyString(System.Int32,System.String,System.Int32,System.Text.Encoding)">
            <summary>
            Writes the string (Potentially unsafe!)
            </summary>
            <param name="variableHandle">The variable handle.</param>
            <param name="value">The value.</param>
            <param name="length">The length of the string to write</param>
            <param name="encoding">The encoding.</param>
            <remarks>ATTENTION: Potentially this method is unsafe because following data can be overwritten
            after the string symbol. Please be sure to specify the string length lower than the string size
            reserved within the process image!
            The String is written with ASCII Encoding</remarks>
        </member>
        <member name="M:TwinCAT.Ads.IAdsAnyAccess.ReadAny(System.Int32,System.Type)">
            <summary>
            Reads data synchronously from an ADS device and writes it to an object.
            </summary>
            <param name="variableHandle">Handle of the ADS variable.</param>
            <param name="type">Type of the object to be read.</param>
            <returns>The object the read data is written to.</returns>
        </member>
        <member name="M:TwinCAT.Ads.IAdsAnyAccess.ReadAny(System.Int32,System.Type,System.Int32[])">
            <summary>
            Reads data synchronously from an ADS device and writes it to an object.
            </summary>
            <remarks>
            If the Type of the object to be read is a string type, the first element of
            the parameter args specifies the number of characters of the string.
            If the Type of the object to be read is an array type, the number of elements
            for each dimension has to be specified in the parameter args. At the moment
            only 1 dimensional Arrays are supported.
            </remarks>
            <param name="variableHandle">Handle of the ADS variable.</param>
            <param name="type">Type of the object to be read.</param>
            <param name="args">Additional arguments.</param>
            <returns>The object the read data is written to.</returns>
        </member>
        <member name="M:TwinCAT.Ads.IAdsAnyAccess.ReadAny(System.UInt32,System.UInt32,System.Type)">
            <summary>
            Reads data synchronously from an ADS device and writes it to an object.
            </summary>
            <param name="indexGroup">Index group of the ADS variable.</param>
            <param name="indexOffset">Index offset of the ADS variable.</param>
            <param name="type">Type of the object to be read.</param>
            <returns>The object the read data is written to.</returns>
        </member>
        <member name="M:TwinCAT.Ads.IAdsAnyAccess.ReadAny(System.UInt32,System.UInt32,System.Type,System.Int32[])">
            <summary>
            Reads data synchronously from an ADS device and writes it to an object.
            </summary>
            <remarks>If the Type of the object to be read is a string type, the first element of
            the parameter args specifies the number of characters of the string.
            If the Type of the object to be read is an array type, the number of elements
            for each dimension has to be specified in the parameter args. At the moment
            only 1 dimensional Arrays are supported.
            </remarks>
            <param name="indexGroup">Index group of the ADS variable.</param>
            <param name="indexOffset">Index offset of the ADS variable.</param>
            <param name="type">Type of the object to be read.</param>
            <param name="args">Additional arguments.</param>
            <returns>The object the read data is written to.</returns>
        </member>
        <member name="M:TwinCAT.Ads.IAdsAnyAccess.WriteAny(System.Int32,System.Object)">
            <summary>
            Writes an object synchronously to an ADS device.
            </summary>
            <param name="variableHandle">Handle of the ADS variable.</param>
            <param name="value">Object to write to the ADS device.</param>
        </member>
        <member name="M:TwinCAT.Ads.IAdsAnyAccess.WriteAny(System.UInt32,System.UInt32,System.Object)">
            <summary>
            Writes an object synchronously to an ADS device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="value">Object to write to the ADS device.</param>
        </member>
        <member name="M:TwinCAT.Ads.IAdsAnyAccess.WriteAny(System.Int32,System.Object,System.Int32[])">
            <summary>
            Writes an object synchronously to an ADS device.
            If the Type of the object to be written is a string type, the first element of parameter args
            specifies the number of characters of the string.
            </summary>
            <param name="variableHandle">Handle of the ADS variable.</param>
            <param name="value">Object to write to the ADS device.</param>
            <param name="args">Additional arguments.</param>
        </member>
        <member name="M:TwinCAT.Ads.IAdsAnyAccess.WriteAny(System.UInt32,System.UInt32,System.Object,System.Int32[])">
            <summary>
            Writes an object synchronously to an ADS device.
            </summary>
            <remarks>
            If the Type of the object to be written is a string type, the first element of parameter args
            specifies the number of characters of the string.
            </remarks>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="value">Object to write to the ADS device.</param>
            <param name="args">Additional arguments.</param>
        </member>
        <member name="T:TwinCAT.Ads.IAdsHandleAccess">
            <summary>
            Interface for ads access via variable handle
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.IAdsHandleAccess.CreateVariableHandle(System.String)">
            <summary>
            Generates a unique handle for an ADS variable.
            </summary>
            <param name="variableName">Name of the ADS variable</param>
            <returns>The handle of the ADS Variable.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsHandleAccess.DeleteVariableHandle(System.Int32)">
            <summary>
            Releases the handle of a ADS variable again.
            </summary>
            <param name="variableHandle">Handle of the ADS variable</param>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsHandleAccess.Read(System.Int32,TwinCAT.Ads.AdsStream)">
            <summary>
            Reads data synchronously from an ADS device and writes it to the given stream.
            </summary>
            <param name="variableHandle">Handle of the ADS variable</param>
            <param name="dataStream">Stream that receives the data.</param>
            <returns>Number of successfully returned data bytes.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsHandleAccess.Read(System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32)">
            <summary>
            Reads data synchronously from an ADS device and writes it to the given stream.
            </summary>
            <param name="variableHandle">Handle of the ADS variable</param>
            <param name="dataStream">Stream that receives the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <returns>Number of successfully returned data bytes.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsHandleAccess.TryRead(System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,System.Int32@)">
            <summary>
            Reads data synchronously from an ADS device and writes it to the given stream.
            </summary>
            <param name="variableHandle">Handle of the ADS variable</param>
            <param name="dataStream">Stream that receives the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <param name="readBytes">Number of successfully returned data bytes.</param>
            <returns>AdsErrorCode</returns>
            <exception cref="T:System.ArgumentException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsHandleAccess.ReadWrite(System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device and then Reads data from this device.
            </summary>
            <param name="variableHandle">Variable handle.</param>
            <param name="rdDataStream">Stream that receives the data that has been read.</param>
            <param name="rdOffset">Offset of the data in rdDataStream.</param>
            <param name="rdLength">Length of the data in rdDataStream.</param>
            <param name="wrDataStream">Stream that contains the data that should be written.</param>
            <param name="wrOffset">Offset of the data in wrDataStream.</param>
            <param name="wrLength">Length of the data in wrDataStream.</param>
            <returns>Number of successfully returned data bytes.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsHandleAccess.TryReadWrite(System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,System.Int32@)">
            <summary>
            Writes data synchronously to an ADS device and then Reads data from this device.
            </summary>
            <param name="variableHandle">Variable handle.</param>
            <param name="rdDataStream">Stream that receives the data that has been read.</param>
            <param name="rdOffset">Offset of the data in rdDataStream.</param>
            <param name="rdLength">Length of the data in rdDataStream.</param>
            <param name="wrDataStream">Stream that contains the data that should be written.</param>
            <param name="wrOffset">Offset of the data in wrDataStream.</param>
            <param name="wrLength">Length of the data in wrDataStream.</param>
            <param name="readBytes">The read bytes.</param>
            <returns>AdsErrorCode.</returns>
            <exception cref="T:System.ArgumentException">
            </exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsHandleAccess.Write(System.Int32,TwinCAT.Ads.AdsStream)">
            <summary>
            Writes data synchronously to an ADS device.
            </summary>
            <param name="variableHandle">Handle of the ADS variable</param>
            <param name="dataStream">Stream that receives the data.</param>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsHandleAccess.Write(System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device.
            </summary>
            <param name="variableHandle">Handle of the ADS variable</param>
            <param name="dataStream">Stream that contains the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsHandleAccess.TryWrite(System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device.
            </summary>
            <param name="variableHandle">Handle of the ADS variable</param>
            <param name="dataStream">Stream that contains the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <returns>AdsErrorCode.</returns>
            <exception cref="T:System.ArgumentException">
            </exception>
        </member>
        <member name="T:TwinCAT.Ads.IAdsNotifications">
            <summary>
            Interface for Notification management.
            </summary>
        </member>
        <member name="E:TwinCAT.Ads.IAdsNotifications.AdsNotification">
            <summary>
            Occurs when the ADS device sends a notification to the client.
            </summary>
            <example>
            The following sample shows how to register/unregister for <see cref="E:TwinCAT.Ads.IAdsNotifications.AdsNotification"/>
            <code language="C#" title="Receive AdsNotifications" source="..\Samples\TwinCAT.ADS.NET_Samples\03_ADS.NET_EventReading\Form1.cs" region="CODE_SAMPLE_NOTIFICATIONS" />
            </example>
        </member>
        <member name="E:TwinCAT.Ads.IAdsNotifications.AdsNotificationError">
            <summary>
            Occurs when a exception has occurred during notification management.
            </summary>
        </member>
        <member name="E:TwinCAT.Ads.IAdsNotifications.AdsNotificationEx">
            <summary>
            Occurs when the ADS devices sends a notification to the client.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.IAdsNotifications.AddDeviceNotification(System.String,TwinCAT.Ads.AdsStream,TwinCAT.Ads.AdsTransMode,System.Int32,System.Int32,System.Object)">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="variableName">Name of the ADS variable.</param>
            <param name="dataStream">The stream that should receive the data.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms. </param>
            <param name="userData">This object can be used to store user specific data.</param>
            <returns>The handle of the notification.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsNotifications.AddDeviceNotification(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,TwinCAT.Ads.AdsTransMode,System.Int32,System.Int32,System.Object)">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">The stream that should receive the data.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <returns>The handle of the notification.</returns>
        </member>
        <member name="M:TwinCAT.Ads.IAdsNotifications.AddDeviceNotification(System.String,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,TwinCAT.Ads.AdsTransMode,System.Int32,System.Int32,System.Object)">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="variableName">Name of the ADS variable.</param>
            <param name="dataStream">The stream that should receive the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <returns>
            The handle of the notification.
            </returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
            <remarks>
            <list type="table">
            <listheader><term><see cref="T:TwinCAT.Ads.AdsTransMode"/></term><description>Parameter semantic</description></listheader>
            <item>
                <term><see cref="F:TwinCAT.Ads.AdsTransMode.CyclicInContext"/></term><description>Value of parameter is interpreted as task context number <see cref="P:TwinCAT.Ads.ITcAdsSymbol2.ContextMask"/></description>
            </item>
            <item>
                <term><see cref="F:TwinCAT.Ads.AdsTransMode.OnChangeInContext"/></term><description>Value of parameter is interpreted as task context number <see cref="P:TwinCAT.Ads.ITcAdsSymbol2.ContextMask"/></description>
            </item>
            </list>
            </remarks>
        </member>
        <member name="M:TwinCAT.Ads.IAdsNotifications.TryAddDeviceNotification(System.String,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,TwinCAT.Ads.NotificationSettings,System.Object,System.UInt32@)">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="variableName">Name of the ADS variable.</param>
            <param name="dataStream">The stream that should receive the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <param name="settings">The settings.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <param name="handle">The handle.</param>
            <returns>The ADS ErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.IAdsNotifications.AddDeviceNotification(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,TwinCAT.Ads.AdsTransMode,System.Int32,System.Int32,System.Object)">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">The stream that should receive the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <returns>The handle of the notification.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsNotifications.AddDeviceNotificationEx(System.String,TwinCAT.Ads.AdsTransMode,System.Int32,System.Int32,System.Object,System.Type)">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="variableName">Name of the ADS variable.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <param name="type">Type of the object stored in the event argument.</param>
            <returns>The handle of the notification.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsNotifications.AddDeviceNotificationEx(System.String,TwinCAT.Ads.AdsTransMode,System.Int32,System.Int32,System.Object,System.Type,System.Int32[])">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="variableName">Name of the ADS variable.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <param name="type">Type of the object stored in the event argument.</param>
            <param name="args">Additional arguments.</param>
            <returns>The handle of the notification.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsNotifications.TryAddDeviceNotificationEx(System.String,TwinCAT.Ads.NotificationSettings,System.Object,System.Type,System.Int32[],System.UInt32@)">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="variableName">Name of the ADS variable.</param>
            <param name="settings">The settings.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <param name="type">Type of the object stored in the event argument.</param>
            <param name="args">Additional arguments.</param>
            <param name="handle">The handle.</param>
            <returns>The handle of the notification.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsNotifications.AddDeviceNotificationEx(System.UInt32,System.UInt32,TwinCAT.Ads.AdsTransMode,System.Int32,System.Int32,System.Object,System.Type)">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <param name="type">Type of the object stored in the event argument.</param>
            <returns>The handle of the notification.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsNotifications.AddDeviceNotificationEx(System.UInt32,System.UInt32,TwinCAT.Ads.AdsTransMode,System.Int32,System.Int32,System.Object,System.Type,System.Int32[])">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            If type is a string type, the first element of the parameter args specifies the number of characters of the string.
            If type is an array type, the number of elements for each dimension has to be specified in the parameter args.
            At the moment only 1 dimensional Arrays are supported.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <param name="type">Type of the object s0000tored in the event argument.</param>
            <param name="args">Additional arguments.</param>
            <returns>The handle of the notification.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsNotifications.DeleteDeviceNotification(System.Int32)">
            <summary>
            Deletes an existing notification.
            </summary>
            <param name="notificationHandle">Handle of the notification.</param>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsNotifications.TryDeleteDeviceNotification(System.UInt32)">
            <summary>
            Deletes an existing notification.
            </summary>
            <param name="notificationHandle">Handle of the notification.</param>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="T:TwinCAT.Ads.IAdsSystemNotifications">
            <summary>
            System Notification Interfaces
            </summary>
        </member>
        <member name="E:TwinCAT.Ads.IAdsSystemNotifications.AdsStateChanged">
            <summary>
            Occurs when ADS State has been changed.
            </summary>
        </member>
        <member name="E:TwinCAT.Ads.IAdsSystemNotifications.AdsSymbolVersionChanged">
            <summary>
            Occurs when the symbol version has been changed changes.
            </summary>
            <remarks>This is the case when the connected ADS server restarts. This invalidates all actual opened
            symbol handles.
            The SymbolVersion counter doesn't trigger, when an online change is made on the PLC (ports 801, ..., 851 ...)</remarks>
        </member>
        <member name="T:TwinCAT.Ads.NotificationSettings">
            <summary>
            Notification communication settings
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.NotificationSettings._default">
            <summary>
            Default
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.NotificationSettings.Default">
            <summary>
            Gets the default Settings (AdsTransMode.OnChange, CycleTime 200 ms, MaxDelay: off)
            </summary>
            <value>The default.</value>
        </member>
        <member name="M:TwinCAT.Ads.NotificationSettings.#ctor(TwinCAT.Ads.AdsTransMode,System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.NotificationSettings"/> class.
            </summary>
            <param name="mode">The ADS Transmission mode.</param>
            <param name="cycleTime">The cycle time in ms.</param>
            <param name="maxDelay">The maximum delay in ms</param>
        </member>
        <member name="P:TwinCAT.Ads.NotificationSettings.NotificationMode">
            <summary>
            Gets or sets the ADS Transmission mode.
            </summary>
            <value>The Transmission mode.</value>
        </member>
        <member name="M:TwinCAT.Ads.NotificationSettings.OnModeChanged(TwinCAT.Ads.AdsTransMode)">
            <summary>
            Called when [mode changed].
            </summary>
            <param name="value">The value.</param>
        </member>
        <member name="P:TwinCAT.Ads.NotificationSettings.CycleTime">
            <summary>
            Gets or sets the cycle time (in milliseconds) for AdsNotifications.
            </summary>
            <remarks>The ADS server checks if the value changes in this time slice. The unit is 1ms </remarks>
            <value>The cycle time.</value>
        </member>
        <member name="P:TwinCAT.Ads.NotificationSettings.MaxDelay">
            <summary>
            Gets or sets the Maximum Delay Time (in milliseconds) for AdsNotifications.
            </summary>
            <value>The maximum Delay time for ADS Notifications.</value>
        </member>
        <member name="M:TwinCAT.Ads.NotificationSettings.CompareTo(TwinCAT.TypeSystem.INotificationSettings)">
            <summary>
            Compares this <see cref="T:TwinCAT.Ads.NotificationSettings"/> in term of priorities to the other <see cref="T:TwinCAT.Ads.NotificationSettings"/>.
            </summary>
            <param name="other">The other.</param>
            <returns>1: this has higher priority (shorter times), 0: Equal, 1: Lower prioritiy</returns>
            <seealso cref="T:TwinCAT.Ads.NotificationSettingsPriorityComparer"/>
        </member>
        <member name="M:TwinCAT.Ads.NotificationSettings.Equals(System.Object)">
            <summary>
            Equals
            </summary>
            <param name="obj">The object to compare with the current object.</param>
            <returns><c>true</c> if the specified <see cref="T:System.Object" /> is equal to this instance; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.Ads.NotificationSettings.op_Equality(TwinCAT.Ads.NotificationSettings,TwinCAT.Ads.NotificationSettings)">
            <summary>
            Operator==
            </summary>
            <param name="o1">The o1.</param>
            <param name="o2">The o2.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:TwinCAT.Ads.NotificationSettings.op_Inequality(TwinCAT.Ads.NotificationSettings,TwinCAT.Ads.NotificationSettings)">
            <summary>
            Implements the != operator.
            </summary>
            <param name="o1">The o1.</param>
            <param name="o2">The o2.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:TwinCAT.Ads.NotificationSettings.GetHashCode">
            <summary>
            Gets the HashCode of the Address
            </summary>
            <returns>A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.</returns>
        </member>
        <member name="T:TwinCAT.Ads.NotificationSettingsPriorityComparer">
            <summary>
            Compares two <see cref="T:TwinCAT.Ads.NotificationSettings" /> for Priority.
            </summary>
            <remarks>Checks (prioritized):
            1. <see cref="P:TwinCAT.Ads.NotificationSettings.NotificationMode" />
            2. <see cref="P:TwinCAT.Ads.NotificationSettings.CycleTime" />
            3. <see cref="P:TwinCAT.Ads.NotificationSettings.MaxDelay" /></remarks>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.NotificationSettingsPriorityComparer.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.NotificationSettingsPriorityComparer"/> class.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.NotificationSettingsPriorityComparer.Compare(TwinCAT.Ads.NotificationSettings,TwinCAT.Ads.NotificationSettings)">
            <summary>
            Compares the specified x.
            </summary>
            <param name="x">The x.</param>
            <param name="y">The y.</param>
            <returns>A signed integer that indicates the relative values of <paramref name="x" /> and <paramref name="y" />, as shown in the following table.Value Meaning Less than zero<paramref name="x" /> is less than <paramref name="y" />.Zero<paramref name="x" /> equals <paramref name="y" />.Greater than zero<paramref name="x" /> is greater than <paramref name="y" />.</returns>
        </member>
        <member name="T:TwinCAT.Ads.IAdsReadWriteAccess">
            <summary>
            Interface for ADS Read/Write access via IndexGroup / IndexOffset
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.IAdsReadWriteAccess.Read(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream)">
            <summary>
            Reads data synchronously from an ADS device and writes it to the given stream.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that receives the data.</param>
            <returns>Number of successfully returned data bytes.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsReadWriteAccess.Read(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32)">
            <summary>
            Reads data synchronously from an ADS device and writes it to the given stream.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that receives the data.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length.</param>
            <returns>Number of successfully returned data bytes.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsReadWriteAccess.ReadWrite(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,TwinCAT.Ads.AdsStream)">
            <summary>
            Writes data synchronously to an ADS device and then Reads data from this device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="rdDataStream">Stream that receives the data that has been read.</param>
            <param name="wrDataStream">Stream that contains the data that should be written.</param>
            <returns>Number of successfully returned data bytes.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsReadWriteAccess.ReadWrite(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device and then Reads data from this device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="rdDataStream">Stream that receives the data that has been read.</param>
            <param name="rdOffset">Offset of the data in rdDataStream.</param>
            <param name="rdLength">Length of the data in rdDataStream.</param>
            <param name="wrDataStream">Stream that contains the data that should be written.</param>
            <param name="wrOffset">Offset of the data in wrDataStream.</param>
            <param name="wrLength">Length of the data in wrDataStream.</param>
            <returns>Number of successfully returned data bytes.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsReadWriteAccess.ReadWrite(System.UInt32,System.UInt32,System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device and then Reads data from this device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="readBuffer">The read buffer.</param>
            <param name="rdOffset">Offset of the data in rdDataStream.</param>
            <param name="rdLength">Length of the data in rdDataStream.</param>
            <param name="writeBuffer">The write buffer.</param>
            <param name="wrOffset">Offset of the data in wrDataStream.</param>
            <param name="wrLength">Length of the data in wrDataStream.</param>
            <returns>Number of successfully returned data bytes.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsReadWriteAccess.Write(System.UInt32,System.UInt32)">
            <summary>
            Trigger Client Method/Command.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
            <remarks>This method is used to trigger Client Methods/Commands without parameters.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.IAdsReadWriteAccess.Write(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream)">
            <summary>
            Writes data synchronously to an ADS device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that receives the data.</param>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsReadWriteAccess.Write(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that contains the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsReadWriteAccess.Write(System.UInt32,System.UInt32,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="buffer">The buffer.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsReadWriteAccess.TryRead(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,System.Int32@)">
            <summary>
            Reads data synchronously from an ADS device and writes it to the given stream.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that receives the data.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length.</param>
            <param name="readBytes">The read bytes.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.IAdsReadWriteAccess.TryRead(System.UInt32,System.UInt32,System.Byte[],System.Int32,System.Int32,System.Int32@)">
            <summary>
            Reads data synchronously from an ADS device and writes it to the given stream.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="buffer">The buffer.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length.</param>
            <param name="readBytes">The read bytes.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.IAdsReadWriteAccess.TryReadWrite(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,System.Int32@)">
            <summary>
            Writes data synchronously to an ADS device and then Reads data from this device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="rdDataStream">Stream that receives the data that has been read.</param>
            <param name="rdOffset">Offset of the data in rdDataStream.</param>
            <param name="rdLength">Length of the data in rdDataStream.</param>
            <param name="wrDataStream">Stream that contains the data that should be written.</param>
            <param name="wrOffset">Offset of the data in wrDataStream.</param>
            <param name="wrLength">Length of the data in wrDataStream.</param>
            <param name="readBytes">The read bytes.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.IAdsReadWriteAccess.TryReadWrite(System.UInt32,System.UInt32,System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32,System.Int32@)">
            <summary>
            Writes data synchronously to an ADS device and then Reads data from this device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="readBuffer">The read buffer.</param>
            <param name="rdOffset">Offset of the data in rdDataStream.</param>
            <param name="rdLength">Length of the data in rdDataStream.</param>
            <param name="writeBuffer">The write buffer.</param>
            <param name="wrOffset">Offset of the data in wrDataStream.</param>
            <param name="wrLength">Length of the data in wrDataStream.</param>
            <param name="readBytes">The read bytes.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.IAdsReadWriteAccess.TryWrite(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that contains the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.IAdsReadWriteAccess.TryWrite(System.UInt32,System.UInt32,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="buffer">The buffer.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="T:TwinCAT.Ads.IAdsReadWriteTimeoutAccess">
            <summary>
            Interface IAdsReadWriteTimeoutAccess
            </summary>
            <remarks>For internal use only.</remarks>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.IAdsReadWriteTimeoutAccess.Read(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,System.Int32)">
            <summary>
            Reads data synchronously from an ADS device and writes it to the given stream.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that receives the data.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length.</param>
            <param name="timeout">The timeout.</param>
            <returns>Number of successfully returned data bytes.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsReadWriteTimeoutAccess.Read(System.UInt32,System.UInt32,System.Byte[],System.Int32,System.Int32,System.Int32)">
            <summary>
            Reads data synchronously from an ADS device and writes it to the given stream.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="readBuffer">The read buffer.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length.</param>
            <param name="timeout">The timeout.</param>
            <returns>Number of successfully returned data bytes.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsReadWriteTimeoutAccess.ReadWrite(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,TwinCAT.Ads.AdsStream,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device and then Reads data from this device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="rdDataStream">Stream that receives the data that has been read.</param>
            <param name="wrDataStream">Stream that contains the data that should be written.</param>
            <param name="timeout">The timeout.</param>
            <returns>Number of successfully returned data bytes.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsReadWriteTimeoutAccess.ReadWrite(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device and then Reads data from this device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="rdDataStream">Stream that receives the data that has been read.</param>
            <param name="rdOffset">Offset of the data in rdDataStream.</param>
            <param name="rdLength">Length of the data in rdDataStream.</param>
            <param name="wrDataStream">Stream that contains the data that should be written.</param>
            <param name="wrOffset">Offset of the data in wrDataStream.</param>
            <param name="wrLength">Length of the data in wrDataStream.</param>
            <param name="timeout">The timeout.</param>
            <returns>Number of successfully returned data bytes.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsReadWriteTimeoutAccess.ReadWrite(System.UInt32,System.UInt32,System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device and then Reads data from this device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="readBuffer">The read buffer.</param>
            <param name="rdOffset">Offset of the data in rdDataStream.</param>
            <param name="rdLength">Length of the data in rdDataStream.</param>
            <param name="writeBuffer">The write buffer.</param>
            <param name="wrOffset">Offset of the data in wrDataStream.</param>
            <param name="wrLength">Length of the data in wrDataStream.</param>
            <param name="timeout">The timeout.</param>
            <returns>Number of successfully returned data bytes.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsReadWriteTimeoutAccess.Write(System.UInt32,System.UInt32,System.Int32)">
            <summary>
            Writes the specified index group.
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="timeout">The timeout.</param>
        </member>
        <member name="M:TwinCAT.Ads.IAdsReadWriteTimeoutAccess.Write(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that receives the data.</param>
            <param name="timeout">The timeout.</param>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsReadWriteTimeoutAccess.Write(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that contains the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <param name="timeout">The timeout.</param>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsReadWriteTimeoutAccess.Write(System.UInt32,System.UInt32,System.Byte[],System.Int32,System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="writeBuffer">The write buffer.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <param name="timeout">The timeout.</param>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsReadWriteTimeoutAccess.TryRead(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,System.Int32,System.Int32@)">
            <summary>
            Reads data synchronously from an ADS device and writes it to the given stream.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that receives the data.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length.</param>
            <param name="timeout">The timeout.</param>
            <param name="readBytes">The read bytes.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.IAdsReadWriteTimeoutAccess.TryRead(System.UInt32,System.UInt32,System.Byte[],System.Int32,System.Int32,System.Int32,System.Int32@)">
            <summary>
            Reads data synchronously from an ADS device and writes it to the given stream.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="readBuffer">The read buffer.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length.</param>
            <param name="timeout">The timeout.</param>
            <param name="readBytes">The read bytes.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.IAdsReadWriteTimeoutAccess.TryReadWrite(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,System.Int32,System.Int32@)">
            <summary>
            Writes data synchronously to an ADS device and then Reads data from this device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="rdDataStream">Stream that receives the data that has been read.</param>
            <param name="rdOffset">Offset of the data in rdDataStream.</param>
            <param name="rdLength">Length of the data in rdDataStream.</param>
            <param name="wrDataStream">Stream that contains the data that should be written.</param>
            <param name="wrOffset">Offset of the data in wrDataStream.</param>
            <param name="wrLength">Length of the data in wrDataStream.</param>
            <param name="timeout">The timeout.</param>
            <param name="readBytes">The read bytes.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.IAdsReadWriteTimeoutAccess.TryReadWrite(System.UInt32,System.UInt32,System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32,System.Int32,System.Int32@)">
            <summary>
            Writes data synchronously to an ADS device and then Reads data from this device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="readBuffer">The read buffer.</param>
            <param name="rdOffset">Offset of the data in rdDataStream.</param>
            <param name="rdLength">Length of the data in rdDataStream.</param>
            <param name="writeBuffer">The write buffer.</param>
            <param name="wrOffset">Offset of the data in wrDataStream.</param>
            <param name="wrLength">Length of the data in wrDataStream.</param>
            <param name="timeout">The timeout.</param>
            <param name="readBytes">The read bytes.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.IAdsReadWriteTimeoutAccess.TryWrite(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that contains the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <param name="timeout">The timeout.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.IAdsReadWriteTimeoutAccess.TryWrite(System.UInt32,System.UInt32,System.Byte[],System.Int32,System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="writeBuffer">The write buffer.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <param name="timeout">The timeout.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.IAdsReadWriteTimeoutAccess.ReadAny(System.UInt32,System.UInt32,System.Type,System.Int32[],System.Int32)">
            <summary>
            Reads data synchronously from an ADS device and writes it to an object.
            If the Type of the object to be read is a string type, the first element of
            the parameter args specifies the number of characters of the string.
            If the Type of the object to be read is an array type, the number of elements
            for each dimension has to be specified in the parameter args. At the moment
            only 1 dimensional Arrays are supported.
            </summary>
            <param name="indexGroup">Index group of the ADS variable.</param>
            <param name="indexOffset">Index offset of the ADS variable.</param>
            <param name="type">Type of the object to be read.</param>
            <param name="args">Additional arguments.</param>
            <param name="timeout">The timeout.</param>
            <returns>The object the read data is written to.</returns>
        </member>
        <member name="M:TwinCAT.Ads.IAdsReadWriteTimeoutAccess.WriteAny(System.UInt32,System.UInt32,System.Object,System.Int32[],System.Int32)">
            <summary>
            Writes an object synchronously to an ADS device.
            If the Type of the object to be written is a string type, the first element of parameter args
            specifies the number of characters of the string.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="value">Object to write to the ADS device.</param>
            <param name="args">Additional arguments.</param>
            <param name="timeout">The timeout.</param>
        </member>
        <member name="T:TwinCAT.Ads.IAdsStateControl">
            <summary>
            Interface for controlling the ADS state.
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.IAdsStateControl.ReadState">
            <summary>
            Reads the ADS status and the device status from an ADS server.
            </summary>
            <returns>The ADS statue and device status.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsStateControl.TryReadState(TwinCAT.Ads.StateInfo@)">
            <summary>
            Reads the ADS status and the device status from an ADS server. Unlike the ReadState method this method does not call an exception on failure. Instead an AdsErrorCode is returned.
            If the return value is equal to AdsErrorCode.NoError the call was successful.
            </summary>
            <param name="stateInfo">The ADS statue and device status.</param>
            <returns>AdsErrorCode of the ads read state call. Check for AdsErrorCode.NoError to see if call was successful.</returns>
        </member>
        <member name="M:TwinCAT.Ads.IAdsStateControl.WriteControl(TwinCAT.Ads.StateInfo)">
            <summary>
            Changes the ADS status and the device status of an ADS server.
            </summary>
            <param name="stateInfo">New ADS status and device status.</param>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsStateControl.WriteControl(TwinCAT.Ads.StateInfo,TwinCAT.Ads.AdsStream,System.Int32,System.Int32)">
            <summary>
            Changes the ADS status and the device status of an ADS server.
            </summary>
            <param name="stateInfo">New ADS status and device status.</param>
            <param name="dataStream">Stream that contains the data that should be sent to the ADS device</param>
            <param name="offset">Offset of the data in the stream.</param>
            <param name="length">Length of the data in the stream.</param>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsStateControl.TryWriteControl(TwinCAT.Ads.StateInfo,TwinCAT.Ads.AdsStream,System.Int32,System.Int32)">
            <summary>
            Changes the ADS status and the device status of an ADS server.
            </summary>
            <param name="stateInfo">New ADS status and device status.</param>
            <param name="dataStream">Stream that contains the data that should be sent to the ADS device</param>
            <param name="offset">Offset of the data in the stream.</param>
            <param name="length">Length of the data in the stream.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.IAdsStateControl.TryWriteControl(TwinCAT.Ads.StateInfo)">
            <summary>
            Changes the ADS status and the device status of an ADS server.
            </summary>
            <param name="stateInfo">New ADS status and device status.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="T:TwinCAT.Ads.IAdsStateControlTimeout">
            <summary>
            Interface IAdsStateControlTimeout
            </summary>
            <remarks>For internal use only.</remarks>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.IAdsStateControlTimeout.WriteControl(TwinCAT.Ads.StateInfo,System.Int32)">
            <summary>
            Changes the ADS status and the device status of an ADS server.
            </summary>
            <param name="stateInfo">New ADS status and device status.</param>
            <param name="timeout">The timeout.</param>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsStateControlTimeout.WriteControl(TwinCAT.Ads.StateInfo,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,System.Int32)">
            <summary>
            Changes the ADS status and the device status of an ADS server.
            </summary>
            <param name="stateInfo">New ADS status and device status.</param>
            <param name="dataStream">Stream that contains the data that should be sent to the ADS device</param>
            <param name="offset">Offset of the data in the stream.</param>
            <param name="length">Length of the data in the stream.</param>
            <param name="timeout">The timeout.</param>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsStateControlTimeout.ReadState(System.Int32)">
            <summary>
            Reads the ADS status and the device status from an ADS server.
            </summary>
            <param name="timeout">The timeout.</param>
            <returns>The ADS statue and device status.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsStateControlTimeout.TryReadState(System.Int32,TwinCAT.Ads.StateInfo@)">
            <summary>
            Reads the ADS status and the device status from an ADS server. Unlike the ReadState method this method does not call an exception on failure. Instead an AdsErrorCode is returned.
            If the return value is equal to AdsErrorCode.NoError the call was successful.
            </summary>
            <param name="timeout">The timeout.</param>
            <param name="stateInfo">The ADS statue and device status.</param>
            <returns>AdsErrorCode of the ads read state call. Check for AdsErrorCode.NoError to see if call was successful.</returns>
        </member>
        <member name="M:TwinCAT.Ads.IAdsStateControlTimeout.TryWriteControl(TwinCAT.Ads.StateInfo,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,System.Int32)">
            <summary>
            Changes the ADS status and the device status of an ADS server.
            </summary>
            <param name="stateInfo">New ADS status and device status.</param>
            <param name="dataStream">Stream that contains the data that should be sent to the ADS device</param>
            <param name="offset">Offset of the data in the stream.</param>
            <param name="length">Length of the data in the stream.</param>
            <param name="timeout">The timeout.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.IAdsStateControlTimeout.TryWriteControl(TwinCAT.Ads.StateInfo,System.Int32)">
            <summary>
            Changes the ADS status and the device status of an ADS server.
            </summary>
            <param name="stateInfo">New ADS status and device status.</param>
            <param name="timeout">The timeout.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="T:TwinCAT.Ads.IAdsSymbolicAccess">
            <summary>
            Interface for symbolic ads access.
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.IAdsSymbolicAccess.ReadSymbol(TwinCAT.Ads.ITcAdsSymbol)">
            <summary>
            Reads the value of a symbol and returns it as an object. Strings and all primitive datatypes(UInt32, Int32, Bool etc.) are supported. 
            Arrays and structures cannot be read.
            </summary>
            <param name="symbol">The symbol that should be read.</param>
            <returns>The value of the symbol as an object.</returns>
            <exception cref="T:TwinCAT.Ads.AdsDatatypeNotSupportedException">Thrown when a ADS datatype is not supported.</exception>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the Sync port is not open.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsSymbolicAccess.ReadSymbol(System.String,System.Type,System.Boolean)">
            <summary>
            Reads the value of a symbol and returns the value as object. The parameter type must have the same
            layout as the ADS symbol.
            </summary>
            <param name="name">Name of the ADS symbol.</param>
            <param name="type">Managed type of the ADS symbol.</param>
            <param name="reloadSymbolInfo">If reload is true previously stored symbol information is cleared. As a consequence the symbol information must be obtained from the ADS server again.</param>
            <returns>Value of the symbol</returns>
        </member>
        <member name="M:TwinCAT.Ads.IAdsSymbolicAccess.ReadSymbolInfo(System.String)">
            <summary>
            Call this method to obtain information about the individual symbols (variables) in ADS devices.
            </summary>
            <param name="name">Name of the symbol.</param>
            <returns>A ITcAdsSymbol containing the requested symbol information or null if symbol could not
            be found.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsSymbolicAccess.WriteSymbol(TwinCAT.Ads.ITcAdsSymbol,System.Object)">
            <summary>
            Writes a value to the symbol. Strings and all primitive data types(UInt32, Int32, Bool etc.) are supported.  Array and structures are not supported.
            If a string is passed as parameter, the method attempts to parse the string according to the ADS data type of the symbol.
            </summary>
            <param name="symbol">The symbol the value is written to.</param>
            <param name="val">The value to write.</param>
            <exception cref="T:TwinCAT.Ads.AdsDatatypeNotSupportedException">Thrown when a ADS data type is not supported.</exception>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.IAdsSymbolicAccess.WriteSymbol(System.String,System.Object,System.Boolean)">
            <summary>
            Writes the passed object value to the specified ADS symbol.The parameter type must have the same
            layout as the ADS symbol.
            </summary>
            <param name="name">Name of the ADS symbol.</param>
            <param name="value">Object holding the value to be written to the ADS symbol</param>
            <param name="reloadSymbolInfo">If reload is true previously stored symbol information is cleared. As a consequence the symbol information must be obtained from the ADS server again.</param>
        </member>
        <member name="M:TwinCAT.Ads.IAdsSymbolicAccess.ReadDataType(System.String)">
            <summary>
            Call this method to obtain information about the specified data type.
            </summary>
            <param name="typeName">Name of the data type (without namespace)</param>
            <returns>An <IDataType></IDataType> containing the requested type.
            </returns>
            <seealso cref="M:TwinCAT.Ads.IAdsSymbolicAccess.TryReadDataType(System.String,TwinCAT.TypeSystem.IDataType@)"/>
        </member>
        <member name="M:TwinCAT.Ads.IAdsSymbolicAccess.TryReadDataType(System.String,TwinCAT.TypeSystem.IDataType@)">
            <summary>
            Call this method to obtain information about the specified data type.
            </summary>
            <param name="typeName">Name of the symbol.</param>
            <param name="dataType">The symbol.</param>
            <returns>A <see cref="T:TwinCAT.TypeSystem.IDataType"/> containing the requested symbol information or null if symbol could not
            be found.</returns>
            <seealso cref="M:TwinCAT.Ads.IAdsSymbolicAccess.ReadDataType(System.String)"/>
        </member>
        <member name="T:TwinCAT.Ads.IAdsSymbolLoaderFactory">
            <summary>
            Symbol Loader interface
            </summary>
            <remarks>For internal use only.</remarks>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.IAdsSymbolLoaderFactory.CreateSymbolLoader(TwinCAT.ISession,TwinCAT.Ads.SymbolLoaderSettings)">
            <summary>
            Creates a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.IAdsSymbolLoader">Symbol loader</see> with the specified mode.
            </summary>
            <param name="session">The session (for session orientated loads / symbols). Can be NULL if not present.</param>
            <param name="settings">The settings.</param>
            <returns>The <see cref="T:TwinCAT.Ads.TypeSystem.IAdsSymbolLoader" /> interface of the Symbol loader.</returns>
        </member>
        <member name="T:TwinCAT.Ads.IAdsConnection">
            <summary>
            ADS Connection interface
            </summary>
            <seealso cref="T:TwinCAT.IConnection" />
            <seealso cref="T:TwinCAT.Ads.IAdsAnyAccess" />
            <seealso cref="T:TwinCAT.Ads.IAdsHandleAccess" />
            <remarks>The ADS connection interface represents the the logical point-to-point exception between Client and Server within an ADS Session.</remarks>
        </member>
        <member name="P:TwinCAT.Ads.IAdsConnection.ClientAddress">
            <summary>
            Get the <see cref="T:TwinCAT.Ads.AmsAddress"/> of the ADS client.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.IAdsConnection.IsLocal">
            <summary>
            Gets a value indicating whether the ADS client is connected to a ADS Server on the local
            computer.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.IAdsConnection.RawInterface">
            <summary>
            Gets the raw ADS interface.
            </summary>
            <value>The raw interface.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.IAdsConnection.Address">
            <summary>
            Gets the <see cref="T:TwinCAT.Ads.AmsAddress"/> of the ADS server.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.IAdsConnection.ReadDeviceInfo">
            <summary>
            Reads the identification and version number of an ADS server.
            </summary>
            <returns>DeviceInfo struct containing the name of the device and the version information.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="T:TwinCAT.Ads.AdsBinaryReader">
            <summary>
            Derives from BinaryReader and reads primitive as well as PLC data types as binary values.
            </summary>
            <remarks>The <see cref="T:TwinCAT.Ads.AdsBinaryReader"/> object is initialized with System.Text.Encoding.Default (ANSI Encoding).</remarks>
        </member>
        <member name="M:TwinCAT.Ads.AdsBinaryReader.#ctor(TwinCAT.Ads.AdsStream)">
            <summary>
            Initializes a new instance of the AdsBinaryReader class based on the supplied stream.
            </summary>
            <param name="stream">A stream.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsBinaryReader.ReadPlcString(System.Int32)">
            <summary>
            Reads a PLC string from the current stream (ANSI Encoding)
            </summary>
            <param name="byteLength">The length of the string in the PLC (byte length equals character count on PLC)</param>
            <returns>The string being read (until the first '\0' character)</returns>
            <remarks>
            Because of ANSI Encoding the number of Chars could differ with the number of Bytes (e.g on Double Byte Codepages DBCS, Codepage 932, Japan)
            </remarks>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.AdsBinaryReader.ReadPlcString(System.Int32,System.Text.Encoding)">
            <summary>
            Reads the PLC string.
            </summary>
            <param name="byteLength">Number of bytes to read.</param>
            <param name="encoding">The encoding the string is encoded in.</param>
            <returns>System.String.</returns>
            <example>
            The following code shows how to Read/Write string values..
            <code language="C#" title="Read/Write ANSI Strings" source="..\Samples\TwinCAT.ADS.NET_Samples\10_ADS.NET_ReadWriteString\Form1.cs" region="CODE_SAMPLE_STRING" />
            <code language="C#" title="Read/Write Unicode Strings" source="..\Samples\TwinCAT.ADS.NET_Samples\10_ADS.NET_ReadWriteString\Form1.cs" region="CODE_SAMPLE_WSTRING" />
            </example>
        </member>
        <member name="M:TwinCAT.Ads.AdsBinaryReader.ReadPlcAnsiString(System.Int32)">
            <summary>
            Reads a PLC string from the current stream (Encoding.Default, ANSI Encoding)
            </summary>
            <param name="byteLength">The length of the string in the PLC (byte length equals character count on PLC + '\0')</param>
            <returns>The string being read (until the first '\0' character)</returns>
            <remarks>
            The byte length of a STRING[80] in the PLC is 81.
            The byte length of a WSTRING[80] in the PLC is 162.
            Because of ANSI Encoding the number of Chars could differ with the number of Bytes (e.g on Double Byte Codepages DBCS, Codepage 932, Japan)
            </remarks>
            <example>
            The following code shows how to Read/Write ANSI string values..
            <code language="C#" title="Read/Write Strings" source="..\Samples\TwinCAT.ADS.NET_Samples\10_ADS.NET_ReadWriteString\Form1.cs" region="CODE_SAMPLE_STRING" />
            </example>
        </member>
        <member name="M:TwinCAT.Ads.AdsBinaryReader.ReadPlcUnicodeString(System.Int32)">
            <summary>
            Reads a PLC string from the current stream (Encoding.Unicode, Unicode Encoding)
            </summary>
            <param name="byteLength">The length of the string in the PLC (byte length equals character count on PLC + '\0')</param>
            <returns>The string being read (until the first '\0' character)</returns>
            <remarks>
            The byte length of a STRING[80] in the PLC is 81.
            The byte length of a WSTRING[80] in the PLC is 162.
            Because of ANSI Encoding the number of Chars could differ with the number of Bytes (e.g on Double Byte Codepages DBCS, Codpage 932, Japan)
            </remarks>
            <example>
            The following code shows how to Read/Write UNICODE string values..
            <code language="C#" title="Read/Write Unicode Strings" source="..\Samples\TwinCAT.ADS.NET_Samples\10_ADS.NET_ReadWriteString\Form1.cs" region="CODE_SAMPLE_WSTRING" />
            </example>
        </member>
        <member name="M:TwinCAT.Ads.AdsBinaryReader.ReadPlcDATE">
            <summary>
            Reads a PLC Date type from the current stream.
            </summary>
            <returns>The date being read.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsBinaryReader.ReadPlcTIME">
            <summary>
            Reads a PLC 'TIME' data type from the current stream.
            </summary>
            <returns>The time being read as TimeSpan.</returns>
            <remarks>This method reads the 4 Byte Plc 'TIME' datatype.
            </remarks>
        </member>
        <member name="M:TwinCAT.Ads.AdsBinaryReader.ReadGuid">
            <summary>
            Reads a <see cref="T:System.Guid"/> from the current stream.
            </summary>
            <returns>Guid.</returns>
        </member>
        <member name="T:TwinCAT.Ads.AdsBinaryWriter">
            <summary>
            Derives from BinaryWriter and writes primitive and PLC data types in binary to a stream.
            </summary>
            <remarks>The <see cref="T:TwinCAT.Ads.AdsBinaryWriter"/> is fixed to use <see cref="P:System.Text.Encoding.Default"/> encoding (ANSI).
            </remarks>
        </member>
        <member name="M:TwinCAT.Ads.AdsBinaryWriter.#ctor(TwinCAT.Ads.AdsStream)">
            <summary>
            Initializes a new instance of the AdsBinaryWriter class based on the supplied stream.
            </summary>
            <param name="stream">The stream</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsBinaryWriter.WritePlcString(System.String,System.Int32)">
            <summary>
            Writes a string as a PLC string to the current stream.
            </summary>
            <param name="value">The string to write to the stream.</param>
            <param name="length">The length of the string in the PLC.</param>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.AdsBinaryWriter.WritePlcString(System.String,System.Int32,System.Text.Encoding)">
            <summary>
            Writes the PLC string.
            </summary>
            <param name="value">The value.</param>
            <param name="length">The length of the string to write.</param>
            <param name="encoding">The encoding.</param>
            <exception cref="T:System.ArgumentNullException">value</exception>
            <remarks></remarks>
            <example>
            The following code shows how to Read/Write string values..
            <code language="C#" title="Read/Write ANSI Strings" source="..\Samples\TwinCAT.ADS.NET_Samples\10_ADS.NET_ReadWriteString\Form1.cs" region="CODE_SAMPLE_STRING" />
            <code language="C#" title="Read/Write Unicode Strings" source="..\Samples\TwinCAT.ADS.NET_Samples\10_ADS.NET_ReadWriteString\Form1.cs" region="CODE_SAMPLE_WSTRING" />
            </example>
        </member>
        <member name="M:TwinCAT.Ads.AdsBinaryWriter.WritePlcAnsiString(System.String,System.Int32)">
            <summary>
            Writes a string as a PLC string to the current stream.
            </summary>
            <param name="value">The string to write to the stream.</param>
            <param name="length">The length of the string without '\0' terminator!</param>
            <remarks>
            This method is meant for writing single string variables defined in the PlcControl format.
            E.g. to write a 'STRING(80)' (byte size is 81) a length of '80' must be given to the 'length' parameter.
            
            If the string length is larger or equal than the length parameter, then only length characters are written to the 
            <see cref="T:TwinCAT.Ads.AdsStream"/> (without terminating character). 
            If the string value character count is shorter than the specified length parameter, the string + a terminating
            \0 will be added to the <see cref="T:TwinCAT.Ads.AdsStream"/>.
            
            This method cannot be used for marshalling purposes, for example several fields of a struct, because no filling
            bytes will be written to the stream. In that case use the <see cref="M:TwinCAT.Ads.AdsBinaryWriter.WritePlcAnsiStringFixedLength(System.String,System.Int32)"/> method.
            </remarks>
            <example>
            The following code shows how to Read/Write ANSI string values..
            <code language="C#" title="Read/Write ANSI Strings" source="..\Samples\TwinCAT.ADS.NET_Samples\10_ADS.NET_ReadWriteString\Form1.cs" region="CODE_SAMPLE_STRING" />
            </example>
            <seealso cref="M:TwinCAT.Ads.AdsBinaryWriter.WritePlcAnsiStringFixedLength(System.String,System.Int32)"/>
            <seealso cref="M:TwinCAT.Ads.AdsBinaryWriter.WritePlcUnicodeString(System.String,System.Int32)"/>
            <seealso cref="M:TwinCAT.Ads.AdsBinaryWriter.WritePlcUnicodeStringFixedLength(System.String,System.Int32)"/>
        </member>
        <member name="M:TwinCAT.Ads.AdsBinaryWriter.WritePlcUnicodeString(System.String,System.Int32)">
            <summary>
            Writes a (unicode) string as a PLC string to the current stream.
            </summary>
            <param name="value">The string to write to the stream.</param>
            <param name="length">The length of the string without '\0' terminator!</param>
            <remarks>
            This method is meant for writing single string variables defined in the PlcControl format.
            E.g. to write a 'WSTRING(80)' (byte size is 162) a length of '80' must be given to the 'length' parameter.
            
            If the string length is larger or equal than the length parameter, then only length characters are written to the 
            <see cref="T:TwinCAT.Ads.AdsStream"/> (without terminating character). 
            If the string value character count is shorter than the specified length parameter, the string + a terminating
            \0 will be added to the <see cref="T:TwinCAT.Ads.AdsStream"/>.
            
            This method cannot be used for marshalling purposes, for example several fields of a struct, because no filling
            bytes will be written to the stream. In that case use the <see cref="M:TwinCAT.Ads.AdsBinaryWriter.WritePlcUnicodeStringFixedLength(System.String,System.Int32)"/> method.
            </remarks>
            <example>
            The following code shows how to Read/Write UNICODE string values..
            <code language="C#" title="Read/Write Unicode Strings" source="..\Samples\TwinCAT.ADS.NET_Samples\10_ADS.NET_ReadWriteString\Form1.cs" region="CODE_SAMPLE_WSTRING" />
            </example>
            <seealso cref="M:TwinCAT.Ads.AdsBinaryWriter.WritePlcAnsiString(System.String,System.Int32)"/>
            <seealso cref="M:TwinCAT.Ads.AdsBinaryWriter.WritePlcAnsiStringFixedLength(System.String,System.Int32)"/>
            <seealso cref="M:TwinCAT.Ads.AdsBinaryWriter.WritePlcUnicodeStringFixedLength(System.String,System.Int32)"/>
        </member>
        <member name="M:TwinCAT.Ads.AdsBinaryWriter.WritePlcAnsiStringFixedLength(System.String,System.Int32)">
            <summary>
            Writes the PLC ANSI string in a data block of the specified size.
            </summary>
            <param name="value">The value.</param>
            <param name="byteSize">Size of the String including the '\0' terminator.</param>
            <seealso cref="M:TwinCAT.Ads.AdsBinaryWriter.WritePlcAnsiString(System.String,System.Int32)"/>
            <seealso cref="M:TwinCAT.Ads.AdsBinaryWriter.WritePlcUnicodeString(System.String,System.Int32)"/>
            <seealso cref="M:TwinCAT.Ads.AdsBinaryWriter.WritePlcUnicodeStringFixedLength(System.String,System.Int32)"/>
        </member>
        <member name="M:TwinCAT.Ads.AdsBinaryWriter.WritePlcUnicodeStringFixedLength(System.String,System.Int32)">
            <summary>
            Writes the PLC UNICODE string into a data block of the specified size.
            </summary>
            <param name="value">The value.</param>
            <param name="byteSize">Size of the String including the '\0' terminator.</param>
            <seealso cref="M:TwinCAT.Ads.AdsBinaryWriter.WritePlcAnsiStringFixedLength(System.String,System.Int32)"/>
            <seealso cref="M:TwinCAT.Ads.AdsBinaryWriter.WritePlcUnicodeString(System.String,System.Int32)"/>
            <seealso cref="M:TwinCAT.Ads.AdsBinaryWriter.WritePlcAnsiString(System.String,System.Int32)"/>
        </member>
        <member name="M:TwinCAT.Ads.AdsBinaryWriter.WritePlcType(System.DateTime)">
            <summary>
            Writes a date as PLC date type to the current stream.
            </summary>
            <param name="value">The date to write to the stream.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsBinaryWriter.WritePlcType(System.TimeSpan)">
            <summary>
            Writes a time span as PLC time type to the current stream.
            </summary>
            <param name="value">The time span to write to the stream.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsBinaryWriter.WriteGuid(System.Guid)">
            <summary>
            Writes the Guid (16 Bytes) to the current stream.
            </summary>
            <param name="guid">The unique identifier.</param>
        </member>
        <member name="T:TwinCAT.Ads.AdsStream">
            <summary>
            The class AdsStream is a stream class used for ADS communication.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AdsStream.#ctor">
            <summary>
            Initializes a new instance of the AdsStream class. The instance has an expandable capacity initialized to zero.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AdsStream.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the AdsStream class.
            </summary>
            <param name="length">Length of the stream in bytes.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsStream.#ctor(System.Byte[],System.Int32,System.Int32)">
            <summary>
               Initializes a new instance of the AdsStream class, based on the specified region of a byte array.
            </summary>
            <param name="buffer">The array of bytes from which to create this stream.</param>
            <param name="offset">The offset in buffer at which the stream begins.</param>
            <param name="length">The length of the stream in bytes.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsStream.#ctor(System.Byte[])">
            <summary>
               Initializes a new instance of the AdsStream class, based on a byte array.
            </summary>
            <param name="buffer">The array of bytes from which to create this stream.</param>
        </member>
        <member name="F:TwinCAT.Ads.AdsStream.origin">
            <summary>
            The origin of the stream.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.AdsStream.Origin">
            <summary>
            Gets the origin of the stream.
            </summary>
            <value>
            The origin.
            </value>
        </member>
        <member name="T:TwinCAT.Ads.Module">
            <summary>
            Main Module representing the TwinCAT.Utilities.dll Module
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Module.Trace">
            <summary>
            Common Trace source for ADS
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Module.#cctor">
            <summary>
            Initializes the <see cref="T:TwinCAT.Ads.Module"/> class.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.Module.ApplicationPath">
            <summary>
            Gets the Application directory. Folder where the Workbench Exe resides plus the PlugIns
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.Module.DllDirectoryPath">
            <summary>
            Gets the DLL directory path.
            </summary>
            <value>The DLL directory path.</value>
        </member>
        <member name="T:TwinCAT.Ads.Tracing.MethodTrace">
            <summary>
            Method Tracing (Method entry and Method exit)
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Tracing.MethodTrace.#ctor(System.String,System.Object[])">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Tracing.MethodTrace"/> class.
            </summary>
            <param name="message">The message.</param>
            <param name="args">Message arguments</param>
        </member>
        <member name="M:TwinCAT.Ads.Tracing.MethodTrace.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Tracing.MethodTrace"/> class.
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.Tracing.SessionMethodTrace">
            <summary>
            Method Tracing (Method entry and Method exit)
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Tracing.SessionMethodTrace.#ctor(System.String,System.Object[])">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Tracing.MethodTrace"/> class.
            </summary>
            <param name="message">The message.</param>
            <param name="args">Message arguments</param>
        </member>
        <member name="M:TwinCAT.Ads.Tracing.SessionMethodTrace.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Tracing.MethodTrace"/> class.
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.Tracing.TraceSourceIds">
             <summary>
             Trace Source IDs
             </summary>
            
        </member>
        <member name="F:TwinCAT.Ads.Tracing.TraceSourceIds.ADS">
            <summary>
            TwinCAT ADS
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Tracing.TraceSourceIds.AdsSymbols">
            <summary>
            ADS Symbol Loading
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Tracing.TraceSourceIds.AdsSession">
            <summary>
            ADS Sesssion States
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Tracing.TraceSourceIds.VSX">
            <summary>
            VSX Library
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Tracing.TraceSourceIds.AutomationInterface">
            <summary>
            Common Automation Interface
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Tracing.TraceSourceIds.Core">
            <summary>
            Core classes
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Tracing.TraceSourceIds.Utilities">
            <summary>
            Common Utilities.dll
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Tracing.TraceSourceIds.PlugIns">
            <summary>
            PlugIn Trace within Utilities.dll
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Tracing.TraceSourceIds.Command">
            <summary>
            Command Trace within Utilities.dll
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Tracing.TraceSourceIds.Communication">
            <summary>
            Communication Trace within Utilities.dll
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Tracing.TraceSourceIds.SystemService">
            <summary>
            Common Trace within SystemService.dll
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Tracing.TraceSourceIds.SystemManager">
            <summary>
            Common Trace within SystemManager.dll
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Tracing.TraceSourceIds.SystemManagerRCW">
            <summary>
            RCW Trace for System Manager
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Tracing.TraceSourceIds.SystemManagerAdapter">
            <summary>
            TRace for System Manager AdapterLayer
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Tracing.TraceSourceIds.PlcControl">
            <summary>
            Common Trace for PlcControl.dll
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Tracing.TraceSourceIds.UIFramework">
            <summary>
            Common Trace for UIFramework.dll
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Tracing.TraceSourceIds.GraphicalEditor">
            <summary>
            Common Trace for the TwinCat.GraphicalEditor.dll
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Tracing.TraceSourceIds.EcDescriptions">
            <summary>
            Common Trace for EcDescriptions.dll
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Tracing.TraceSourceIds.PlugInFramework">
            <summary>
            Common Trace for PlugInFramework.dll
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Tracing.TraceSourceIds.ContextService">
            <summary>
            Context change Trace within PlugInFramework.dll
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Tracing.TraceSourceIds.DataCore">
            <summary>
            Common Trace within DataCore.dll
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Tracing.TraceSourceIds.DistributedSystems">
            <summary>
            Common Trace Source for the TwinCat.DistributedSystems.dll package
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Tracing.TraceSourceIds.OpcUa">
            <summary>
            Trace Source ID for OPC Unified Architecture Traces
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Tracing.TraceSourceIds.Management">
            <summary>
            Trace Source ID for the Management Module
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Tracing.TraceSourceIds.Application">
            <summary>
            Trace ID for Application
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.Tracing.TcTraceSource">
            <summary>
            Extended base TraceSource Object for selective TwinCAT Supplement Application tracing.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Tracing.TcTraceSource.#ctor(System.String,TwinCAT.Ads.Tracing.TraceSourceIds,System.Diagnostics.SourceLevels)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Tracing.TcTraceSource"/> class.
            </summary>
            <param name="name">Name of the TraceSource.</param>
            <param name="id">Trace Source ID</param>
            <param name="level">Source Level.</param>
        </member>
        <member name="M:TwinCAT.Ads.Tracing.TcTraceSource.#ctor(System.String,TwinCAT.Ads.Tracing.TraceSourceIds,System.Diagnostics.SourceLevels,System.Boolean,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Tracing.TcTraceSource"/> class.
            </summary>
            <param name="name">Name of the TraceSource</param>
            <param name="id">ID of the TraceSource</param>
            <param name="level">The level.</param>
            <param name="dumpCaller">if set to <c>true</c> then the Trace Caller method will be dumped into the trace.</param>
            <param name="traceApplicationStart">if set to <c>true</c> then the <see cref="T:TwinCAT.Ads.Tracing.TcTraceSource"/> traces its startup time.</param>
        </member>
        <member name="M:TwinCAT.Ads.Tracing.TcTraceSource.#ctor(System.String,System.Int32,System.Diagnostics.SourceLevels,System.Boolean,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Tracing.TcTraceSource"/> class.
            </summary>
            <param name="name">Name of the TraceSource</param>
            <param name="id">ID of the TraceSource</param>
            <param name="level">The level.</param>
            <param name="dumpCaller">if set to <c>true</c> then the Trace Caller method will be dumped into the trace.</param>
            <param name="traceApplicationStart">if set to <c>true</c> then the <see cref="T:TwinCAT.Ads.Tracing.TcTraceSource"/> traces its startup time.</param>
        </member>
        <member name="F:TwinCAT.Ads.Tracing.TcTraceSource._dumpCaller">
            <summary>
            Indicates that the trace caller will be dumped into the trace.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.Tracing.TcTraceSource.DumpCaller">
            <summary>
            Gets or sets a value indicating whether the Trace caller will be dumped into the trace.
            </summary>
            <value><c>true</c> if [dump caller]; otherwise, <c>false</c>.</value>
        </member>
        <member name="F:TwinCAT.Ads.Tracing.TcTraceSource.sep">
            <summary>
            Seperator string
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Tracing.TcTraceSource.TraceApplicationStart">
            <summary>
            Traces the application start.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Tracing.TcTraceSource.TraceApplicationEnd">
            <summary>
            Traces the application end.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Tracing.TcTraceSource.TraceVerbose(System.String)">
            <summary>
            Verbose Trace.
            </summary>
            <param name="message">Message to trace.</param>
        </member>
        <member name="M:TwinCAT.Ads.Tracing.TcTraceSource.TraceMethodInfo(System.Diagnostics.TraceEventType,System.String,System.Object[])">
            <summary>
            Writes a trace event with callers Method information into the dump (independant of <see cref="P:TwinCAT.Ads.Tracing.TcTraceSource.DumpCaller"/> setting.
            </summary>
            <param name="type">The type.</param>
            <param name="format">The format.</param>
            <param name="args">The args.</param>
        </member>
        <member name="M:TwinCAT.Ads.Tracing.TcTraceSource.TraceImpl(System.Diagnostics.TraceEventType,System.Int32,System.String,System.Object[])">
            <summary>
            Internal implementation of the Trace call
            </summary>
            <param name="type">The type.</param>
            <param name="skipLevels">The skip levels.</param>
            <param name="format">The format.</param>
            <param name="args">The args.</param>
        </member>
        <member name="M:TwinCAT.Ads.Tracing.TcTraceSource.TraceImpl(System.Diagnostics.TraceEventType,System.Int32,System.String)">
            <summary>
            Internal implementation of the Trace call
            </summary>
            <param name="type">The type.</param>
            <param name="skipLevels">The skip levels.</param>
            <param name="message">The message.</param>
        </member>
        <member name="M:TwinCAT.Ads.Tracing.TcTraceSource.TraceVerbose(System.String,System.Object[])">
            <summary>
            Verbose Trace (With Method Info)
            </summary>
            <param name="format">Format string.</param>
            <param name="args">Arguments.</param>
        </member>
        <member name="M:TwinCAT.Ads.Tracing.TcTraceSource.TraceInformation(System.String)">
            <summary>
            Writes an informational message to the trace listeners in the <see cref="P:System.Diagnostics.TraceSource.Listeners"/> collection using the specified message.
            </summary>
            <param name="message">The informative message to write.</param>
            <exception cref="T:System.ObjectDisposedException">
            An attempt was made to trace an event during finalization.
            </exception>
            <PermissionSet>
                <IPermission class="System.Security.Permissions.EnvironmentPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true"/>
                <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true"/>
                <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="UnmanagedCode, ControlEvidence"/>
            </PermissionSet>
        </member>
        <member name="M:TwinCAT.Ads.Tracing.TcTraceSource.TraceInformation(System.String,System.Object[])">
            <summary>
            Writes an informational message to the trace listeners in the <see cref="P:System.Diagnostics.TraceSource.Listeners"/> collection using the specified object array and formatting information.
            </summary>
            <param name="format">A composite format string (see Remarks) that contains text intermixed with zero or more format items, which correspond to objects in the <paramref name="args"/> array.</param>
            <param name="args">An array containing zero or more objects to format.</param>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="format"/> is null. </exception>
            <exception cref="T:System.FormatException">
                <paramref name="format"/> is invalid.-or- The number that indicates an argument to format is less than zero, or greater than or equal to the number of specified objects to format. </exception>
            <exception cref="T:System.ObjectDisposedException">An attempt was made to trace an event during finalization.</exception>
            <PermissionSet>
                <IPermission class="System.Security.Permissions.EnvironmentPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true"/>
                <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true"/>
                <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="UnmanagedCode, ControlEvidence"/>
            </PermissionSet>
        </member>
        <member name="M:TwinCAT.Ads.Tracing.TcTraceSource.TraceWarning(System.String)">
            <summary>
            Warning Trace.
            </summary>
            <param name="message">Message to trace.</param>
        </member>
        <member name="M:TwinCAT.Ads.Tracing.TcTraceSource.TraceWarning(System.String,System.Object[])">
            <summary>
            Warning Trace.
            </summary>
            <param name="format">Format string.</param>
            <param name="args">Arguments.</param>
        </member>
        <member name="M:TwinCAT.Ads.Tracing.TcTraceSource.TraceWarning(System.Exception)">
            <summary>
            Warning trace.
            </summary>
            <param name="ex">The exception to trace.</param>
        </member>
        <member name="M:TwinCAT.Ads.Tracing.TcTraceSource.TraceWarning(System.String,System.Exception)">
            <summary>
            Warning trace.
            </summary>
            <param name="message">Additional message.</param>
            <param name="ex">The Exception to trace.</param>
        </member>
        <member name="M:TwinCAT.Ads.Tracing.TcTraceSource.TraceWarning(System.Exception,System.String,System.Object[])">
            <summary>
            Warning trace.
            </summary>
            <param name="ex">The Exception to trace.</param>
            <param name="message">The message.</param>
            <param name="args">The args.</param>
        </member>
        <member name="M:TwinCAT.Ads.Tracing.TcTraceSource.TraceError(System.Exception)">
            <summary>
            Error trace.
            </summary>
            <param name="ex">The Exception to trace.</param>
        </member>
        <member name="M:TwinCAT.Ads.Tracing.TcTraceSource.TraceError(System.String)">
            <summary>
            Error trace.
            </summary>
            <param name="message">The message to trace.</param>
        </member>
        <member name="M:TwinCAT.Ads.Tracing.TcTraceSource.TraceError(System.String,System.Exception)">
            <summary>
            Error trace.
            </summary>
            <param name="message">The additional message to trace.</param>
            <param name="ex">The exception to trace.</param>
        </member>
        <member name="M:TwinCAT.Ads.Tracing.TcTraceSource.TraceError(System.String,System.Object[])">
            <summary>
            Error trace.
            </summary>
            <param name="format">Format string</param>
            <param name="args">Arguments for the format string.</param>
        </member>
        <member name="M:TwinCAT.Ads.Tracing.TcTraceSource.TraceErrorMethod(System.String,System.Object[])">
            <summary>
            Error trace (With Type and Method Information)
            </summary>
            <param name="format">Format string.</param>
            <param name="args">Format string arguments.</param>
        </member>
        <member name="M:TwinCAT.Ads.Tracing.TcTraceSource.TraceErrorMethod(System.Exception,System.String,System.Object[])">
            <summary>
            Error trace (With Type and Method Information)
            </summary>
            <param name="ex">The ex.</param>
            <param name="format">Format string.</param>
            <param name="args">Format string arguments.</param>
        </member>
        <member name="M:TwinCAT.Ads.Tracing.TcTraceSource.TraceStart(System.String,System.Object[])">
            <summary>
            Trace Method start
            </summary>
            <param name="format">Format string.</param>
            <param name="args">Format string arguments.</param>
        </member>
        <member name="M:TwinCAT.Ads.Tracing.TcTraceSource.TraceStart">
            <summary>
            Trace Method start
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Tracing.TcTraceSource.TraceStop(System.String,System.Object[])">
            <summary>
            Trace Method Stop
            </summary>
            <param name="format">Format string.</param>
            <param name="args">Format string arguments.</param>
        </member>
        <member name="M:TwinCAT.Ads.Tracing.TcTraceSource.TraceStop">
            <summary>
            Trace Method Stop
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.Tracing.MethodTraceBase">
            <summary>
            Automatically generating Trace Starts and Trace Stops with the IDisposable pattern.
            </summary>
            <remarks>Use the using statement with this class.</remarks>
        </member>
        <member name="F:TwinCAT.Ads.Tracing.MethodTraceBase.traceSource">
            <summary>
            The trace source
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Tracing.MethodTraceBase.#ctor(TwinCAT.Ads.Tracing.TcTraceSource)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Tracing.MethodTraceBase"/> class.
            </summary>
            <param name="source">The source.</param>
        </member>
        <member name="M:TwinCAT.Ads.Tracing.MethodTraceBase.#ctor(TwinCAT.Ads.Tracing.TcTraceSource,System.String,System.Object[])">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.Tracing.MethodTrace"/> class.
            </summary>
            <param name="source">The source.</param>
            <param name="message">The message.</param>
            <param name="args">The args.</param>
        </member>
        <member name="M:TwinCAT.Ads.Tracing.MethodTraceBase.Finalize">
            <summary>
            Releases unmanaged resources and performs other cleanup operations before the
            <see cref="T:TwinCAT.Ads.Tracing.MethodTrace"/> is reclaimed by garbage collection.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Tracing.MethodTraceBase._disposed">
            <summary>
            Indicates that the <see cref="T:TwinCAT.Ads.Tracing.MethodTrace"/> is disposed.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Tracing.MethodTraceBase.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Tracing.MethodTraceBase.Dispose(System.Boolean)">
            <summary>
            Releases unmanaged and - optionally - managed resources
            </summary>
            <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
        </member>
        <member name="T:TwinCAT.Ads.Server.TcAdsStampHeader">
            <summary>
            This class implements an ADS Stamp Header containing multiple ADS Notification Samples.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsStampHeader.#ctor(System.Int64,System.UInt32)">
            <summary>
            Creates a new TcAdsStampHeader instance.
            </summary>
            <param name="timeStamp">The time stamp of this header in ns since 01/01/1601</param>
            <param name="numSamples">The number of notification samples contained in this header</param>
        </member>
        <member name="P:TwinCAT.Ads.Server.TcAdsStampHeader.TimeStamp">
            <summary>
            Get or set the time stamp of this header.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.Server.TcAdsStampHeader.NumSamples">
            <summary>
            Get the number of notification samples contained in this header.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.Server.TcAdsStampHeader.NotificationSamples">
            <summary>
            Get the array of notification samples contained in this header.
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.Server.TcAdsNotificationSample">
            <summary>
            This class implements an ADS Notification Sample. It contains the notification handle and
            the variable data.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsNotificationSample.#ctor(System.UInt32)">
            <summary>
            Creates a new TcAdsNotificationSample instance.
            </summary>
            <param name="sampleSize">The size of the samples in bytes</param>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsNotificationSample.#ctor(System.UInt32,System.UInt32)">
            <summary>
            Creates a new TcAdsNotificationSample instance.
            </summary>
            <param name="sampleSize">The size of the samples in bytes</param>
            <param name="notificationHandle">The notification handle of this sample</param>
        </member>
        <member name="P:TwinCAT.Ads.Server.TcAdsNotificationSample.NotificationHandle">
            <summary>
            Gets or sets the notification handle.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.Server.TcAdsNotificationSample.SampleSize">
            <summary>
            Gets the size of this sample in bytes.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.Server.TcAdsNotificationSample.SampleData">
            <summary>
            Gets the variable data buffer
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.Server.TcAdsServer">
            <summary>
            This class implements an ADS server. Derived classes should overwrite the indication methods
            to react on incoming requests. The confirmation methods should be overwritten to receive
            replies on ansychronous requests sent by this ADS server.
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.Server.TcAdsServer.TcAdsServerExDelegate">
            <summary>
            Delegate for the AdsSeverException event.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.#ctor(System.UInt16,System.String)">
            <summary>
            Create a new TcAdsServer instance with a fix ADS port number.
            </summary>
            <param name="port">The ADS server port for this server</param>
            <param name="portName">A string describing this ADS server</param>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.#ctor(System.String)">
            <summary>
            Create a new TcAdsServer instance with an ADS port number assigned by the local ADS router.
            </summary>
            <param name="portName">A string describing this ADS server</param>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.#ctor(System.UInt16,System.String,System.Boolean)">
            <summary>
            Create a new TcAdsServer instance with an ADS port number assigned by the local ADS router.
            Optional the TcAdsServer can be configured to use the overloaded TcAdsDeviceNotification-method to implement an own notification-parser.
            </summary>
            <param name="port">The ADS server port for this server.</param>
            <param name="portName">A string describing this ADS server.</param>
            <param name="useSingleNotificationHandler">Enables the overloaded TcAdsDeviceNotification-Method to implement an own notification-parser.</param>
        </member>
        <member name="E:TwinCAT.Ads.Server.TcAdsServer.AdsServerException">
            <summary>
            Occurs if the receive thread has exited on an exception.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.Connect">
            <summary>
            Connect this ADS server to the local ADS router.
            <exception cref="T:TwinCAT.Ads.Server.TcAdsServerException">Thrown if the connect call fails.</exception>
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.Disconnect">
            <summary>
            Disconnects this ADS server from the local ADS router.
            <exception cref="T:TwinCAT.Ads.Server.TcAdsServerException">Thrown if the disconnect call fails.</exception>
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.AdsReadDeviceInfoReq(TwinCAT.Ads.AmsAddress,System.UInt32)">
            <summary>
            Sends an ADS Read Device Info request.
            </summary>
            <param name="rAddr">The receiver's AMS address</param>
            <param name="invokeId">The invokeId for this call. Used to find the matching ADS Confirmation</param>
            <returns>The ADS error code for this call.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.AdsReadReq(TwinCAT.Ads.AmsAddress,System.UInt32,System.UInt32,System.UInt32,System.UInt32)">
            <summary>
            Sends an ADS Read Request.
            </summary>
            <param name="rAddr">The receiver's AMS address</param>
            <param name="invokeId">The invokeId for this call. Used to find the matching ADS Confirmation</param>
            <param name="indexGroup">The index group of the requested ADS service</param>
            <param name="indexOffset">The index group of the requested ADS service</param>
            <param name="cbLength">The number of bytes to be read</param>
            <returns>The ADS error code for this call.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.AdsWriteReq(TwinCAT.Ads.AmsAddress,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.Byte[])">
            <summary>
            Sends an ADS Write request.
            </summary>
            <param name="rAddr">The receiver's AMS address</param>
            <param name="invokeId">The invokeId for this call. Used to find the matching ADS Confirmation</param>
            <param name="indexGroup">The index group of the requested ADS service</param>
            <param name="indexOffset">The index group of the requested ADS service</param>
            <param name="cbLength">The number of bytes to be written</param>
            <param name="data">The data to be written</param>
            <returns>The ADS error code for this call.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.AdsReadStateReq(TwinCAT.Ads.AmsAddress,System.UInt32)">
            <summary>
            Sends an ADS Read State request.
            </summary>
            <param name="rAddr">The receiver's AMS address</param>
            <param name="invokeId">The invokeId for this call. Used to find the matching ADS Confirmation</param>
            <returns>The ADS error code for this call.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.AdsWriteControlReq(TwinCAT.Ads.AmsAddress,System.UInt32,TwinCAT.Ads.AdsState,System.UInt16,System.UInt32,System.Byte[])">
            <summary>
            Sends an ADS Write Control request.
            </summary>
            <param name="rAddr">The receiver's AMS address</param>
            <param name="invokeId">The invokeId for this call. Used to find the matching ADS Confirmation</param>
            <param name="adsState">The requested new ADS state of the receiver</param>
            <param name="deviceState">The requested new ADS state of the receiver</param>
            <param name="cbLength">The length of the additional data buffer</param>
            <param name="data">An additional data buffer of cbLength bytes</param>
            <returns>The ADS error code for this call.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.AdsAddDeviceNotificationReq(TwinCAT.Ads.AmsAddress,System.UInt32,System.UInt32,System.UInt32,System.UInt32,TwinCAT.Ads.AdsTransMode,System.UInt32,System.UInt32)">
            <summary>
            Sends an ADS Add Device Notification request.
            </summary>
            <param name="rAddr">The receiver's AMS address</param>
            <param name="invokeId">The invokeId for this call. Used to find the matching ADS Confirmation</param>
            <param name="indexGroup">The index group of the requested ADS service</param>
            <param name="indexOffset">The index group of the requested ADS service</param>
            <param name="cbLength">The number of bytes to be transmitted</param>
            <param name="transMode">The transmission mode of the notification (cyclic / on change)</param>
            <param name="maxDelay">The receiver should send the notification at least after maxDelay ms</param>
            <param name="cycleTime">The receiver shouldc check every cycleTime ms if the requested variable has changed</param>
            <returns>The ADS error code for this call.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.AdsDelDeviceNotificationReq(TwinCAT.Ads.AmsAddress,System.UInt32,System.UInt32)">
            <summary>
            Sends an ADS Delete Device Notification request.
            </summary>
            <param name="rAddr">The receiver's AMS address</param>
            <param name="invokeId">The invokeId for this call. Used to find the matching ADS Confirmation</param>
            <param name="hNotification">The notifocation ID to be deleted</param>
            <returns>The ADS error code for this call.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.AdsDeviceNotificationReq(TwinCAT.Ads.AmsAddress,System.UInt32,System.UInt32,TwinCAT.Ads.Server.TcAdsStampHeader[])">
            <summary>
            Sends an ADS Device Notification request.
            </summary>
            <param name="rAddr">The receiver's AMS address</param>
            <param name="invokeId">The invokeId for this call. Used to find the matching ADS Confirmation</param>
            <param name="numStampHeaders">The number of ADS Stamp Headers to be sent</param>
            <param name="notificationHeaders">The array of ADS Stamp Headers to be sent</param>
            <returns>The ADS error code for this call.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.AdsReadWriteReq(TwinCAT.Ads.AmsAddress,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.Byte[])">
            <summary>
            Sends an ADS Read Write request.
            </summary>
            <param name="rAddr">The receiver's AMS address</param>
            <param name="invokeId">The invokeId for this call. Used to find the matching ADS Confirmation</param>
            <param name="indexGroup">The index group of the requested ADS service</param>
            <param name="indexOffset">The index group of the requested ADS service</param>
            <param name="cbReadLength">The number of bytes to be read</param>
            <param name="cbWriteLength">The number of bytes to be written</param>
            <param name="data">The data to be written</param>
            <returns>The ADS error code for this call.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.AdsReadDeviceInfoCon(TwinCAT.Ads.AmsAddress,System.UInt32,TwinCAT.Ads.AdsErrorCode,System.String,TwinCAT.Ads.AdsVersion)">
            <summary>
            Called when an ADS Read Device Info confirmation is received.
            Overwrite this method in derived classes to react on ADS Read Device Info confirmations.
            </summary>
            <param name="rAddr">The sender's AMS address</param>
            <param name="invokeId">The invoke id provided by this server during the corresponding request</param>
            <param name="result">The ADS error code provided by the sender</param>
            <param name="name">The sender's name</param>
            <param name="version">The sender's version</param>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.AdsReadCon(TwinCAT.Ads.AmsAddress,System.UInt32,TwinCAT.Ads.AdsErrorCode,System.UInt32,System.Byte[])">
            <summary>
            Called when an ADS Read confirmation is received.
            Overwrite this method in derived classes to react on ADS Read confirmations.
            </summary>
            <param name="rAddr">The sender's AMS address</param>
            <param name="invokeId">The invoke id provided by this server during the corresponding request</param>
            <param name="result">The ADS error code provided by the sender</param>
            <param name="cbLength">The number of read bytes</param>
            <param name="data">The read data buffer</param>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.AdsWriteCon(TwinCAT.Ads.AmsAddress,System.UInt32,TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Called when an ADS Write confirmation is received.
            Overwrite this method in derived classes to react on ADS Write confirmations.
            </summary>
            <param name="rAddr">The sender's AMS address</param>
            <param name="invokeId">The invoke id provided by this server during the corresponding request</param>
            <param name="result">The ADS error code provided by the sender</param>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.AdsReadStateCon(TwinCAT.Ads.AmsAddress,System.UInt32,TwinCAT.Ads.AdsErrorCode,TwinCAT.Ads.AdsState,System.UInt16)">
            <summary>
            Called when an ADS Read State confirmation is received.
            Overwrite this method in derived classes to react on ADS Read State confirmations.
            </summary>
            <param name="rAddr">The sender's AMS address</param>
            <param name="invokeId">The invoke id provided by this server during the corresponding request</param>
            <param name="result">The ADS error code provided by the sender</param>
            <param name="adsState">The ADS state of the sender</param>
            <param name="deviceState">The device state of the sender</param>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.AdsWriteControlCon(TwinCAT.Ads.AmsAddress,System.UInt32,TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Called when an ADS Write Control confirmation is received.
            Overwrite this method in derived classes to react on ADS Write Control confirmations.
            </summary>
            <param name="rAddr">The sender's AMS address</param>
            <param name="invokeId">The invoke id provided by this server during the corresponding request</param>
            <param name="result">The ADS error code provided by the sender</param>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.AdsAddDeviceNotificationCon(TwinCAT.Ads.AmsAddress,System.UInt32,TwinCAT.Ads.AdsErrorCode,System.UInt32)">
            <summary>
            Called when an ADS Add Device Notification confirmation is received.
            Overwrite this method in derived classes to react on ADS Add Device Notification confirmations.
            </summary>
            <param name="rAddr">The sender's AMS address</param>
            <param name="invokeId">The invoke id provided by this server during the corresponding request</param>
            <param name="result">The ADS error code provided by the sender</param>
            <param name="notificationHandle">The notification handle provided by the sender</param>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.AdsDelDeviceNotificationCon(TwinCAT.Ads.AmsAddress,System.UInt32,TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Called when an ADS Delete Device Notification confirmation is received.
            Overwrite this method in derived classes to react on ADS Delete Device Notification confirmations.
            </summary>
            <param name="rAddr">The sender's AMS address</param>
            <param name="invokeId">The invoke id provided by this server during the corresponding request</param>
            <param name="result">The ADS error code provided by the sender</param>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.AdsReadWriteCon(TwinCAT.Ads.AmsAddress,System.UInt32,TwinCAT.Ads.AdsErrorCode,System.UInt32,System.Byte[])">
            <summary>
            Called when an ADS Read Write confirmation is received.
            Overwrite this method in derived classes to react on ADS Read Write confirmations.
            </summary>
            <param name="rAddr">The sender's AMS address</param>
            <param name="invokeId">The invoke id provided by this server during the corresponding request</param>
            <param name="result">The ADS error code provided by the sender</param>
            <param name="cbLength">The  number of read bytes</param>
            <param name="data">The read data buffer</param>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.AdsReadDeviceInfoRes(TwinCAT.Ads.AmsAddress,System.UInt32,TwinCAT.Ads.AdsErrorCode,System.String,TwinCAT.Ads.AdsVersion)">
            <summary>
            Sends an ADS Read Device Info response.
            </summary>
            <param name="rAddr">The receiver's AMS address</param>
            <param name="invokeId">The invoke ID provided by the receiver</param>
            <param name="result">The ADS error code for the response</param>
            <param name="name">The name of this ADS server</param>
            <param name="version">The version of this ADS server</param>
            <returns>The ADS error code for this call.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.AdsReadRes(TwinCAT.Ads.AmsAddress,System.UInt32,TwinCAT.Ads.AdsErrorCode,System.UInt32,System.Byte[])">
            <summary>
            Sends an ADS Read response.
            </summary>
            <param name="rAddr">The receiver's AMS address</param>
            <param name="invokeId">The invoke ID provided by the receiver</param>
            <param name="result">The ADS error code for the response</param>
            <param name="cbLength">The number of read bytes</param>
            <param name="data">The read data buffer</param>
            <returns>The ADS error code for this call.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.AdsWriteRes(TwinCAT.Ads.AmsAddress,System.UInt32,TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Sends an ADS Write response.
            </summary>
            <param name="rAddr">The receiver's AMS address</param>
            <param name="invokeId">The invoke ID provided by the receiver</param>
            <param name="result">The ADS error code for the response</param>
            <returns>The ADS error code for this call.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.AdsReadStateRes(TwinCAT.Ads.AmsAddress,System.UInt32,TwinCAT.Ads.AdsErrorCode,TwinCAT.Ads.AdsState,System.UInt16)">
            <summary>
            Sends an ADS Read State response.
            </summary>
            <param name="rAddr">The receiver's AMS address</param>
            <param name="invokeId">The invoke ID provided by the receiver</param>
            <param name="result">The ADS error code for the response</param>
            <param name="adsState">The current ADS state of this ADS server</param>
            <param name="deviceState">The device state of this ADS server</param>
            <returns>The ADS error code for this call.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.AdsWriteControlRes(TwinCAT.Ads.AmsAddress,System.UInt32,TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Sends an ADS Write Control response.
            </summary>
            <param name="rAddr">The receiver's AMS address</param>
            <param name="invokeId">The invoke ID provided by the receiver</param>
            <param name="result">The ADS error code for the response</param>
            <returns>The ADS error code for this call.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.AdsAddDeviceNotificationRes(TwinCAT.Ads.AmsAddress,System.UInt32,TwinCAT.Ads.AdsErrorCode,System.UInt32)">
            <summary>
            Sends an ADS Add Device Notification response.
            </summary>
            <param name="rAddr">The receiver's AMS address</param>
            <param name="invokeId">The invoke ID provided by the receiver</param>
            <param name="result">The ADS error code for the response</param>
            <param name="handle">The notification handle for the added notification</param>
            <returns>The ADS error code for this call.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.AdsDelDeviceNotificationRes(TwinCAT.Ads.AmsAddress,System.UInt32,TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Sends an ADS Delete Device Notification response.
            </summary>
            <param name="rAddr">The receiver's AMS address</param>
            <param name="invokeId">The invoke ID provided by the receiver</param>
            <param name="result">The ADS error code for the response</param>
            <returns>The ADS error code for this call.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.AdsReadWriteRes(TwinCAT.Ads.AmsAddress,System.UInt32,TwinCAT.Ads.AdsErrorCode,System.UInt32,System.Byte[])">
            <summary>
            Sends an ADS Read Write Response.
            </summary>
            <param name="rAddr">The receiver's AMS address</param>
            <param name="invokeId">The invoke ID provided by the receiver</param>
            <param name="result">The ADS error code for the response</param>
            <param name="cbLength">The number of read bytes</param>
            <param name="data">The read data buffer</param>
            <returns>The ADS error code for this call.</returns>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.AdsReadDeviceInfoInd(TwinCAT.Ads.AmsAddress,System.UInt32)">
            <summary>
            Called when an ADS Read Device Info indication is received.
            Overwrite this method in derived classes to react on ADS Read Device Info indications.
            The default implementation replies with an ADS ServiceNotSupported error code (0x701).
            </summary>
            <param name="rAddr">The sender's AMS address</param>
            <param name="invokeId">The invokeId provided by the sender</param>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.AdsReadInd(TwinCAT.Ads.AmsAddress,System.UInt32,System.UInt32,System.UInt32,System.UInt32)">
            <summary>
            Called when an ADS Read indication is received.
            Overwrite this method in derived classes to react on ADS Read indications.
            The default implementation replies with an ADS ServiceNotSupported error code (0x701).
            </summary>
            <param name="rAddr">The sender's AMS address</param>
            <param name="invokeId">The invokeId provided by the sender</param>
            <param name="indexGroup">The index group of the requested ADS service</param>
            <param name="indexOffset">The index offset of the requested ADS service</param>
            <param name="cbLength">The number of bytes to be read</param>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.AdsWriteInd(TwinCAT.Ads.AmsAddress,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.Byte[])">
            <summary>
            Called when an ADS Write indication is received.
            Overwrite this method in derived classes to react on ADS Write indications.
            The default implementation replies with an ADS ServiceNotSupported error code (0x701).
            </summary>
            <param name="rAddr">The sender's AMS address</param>
            <param name="invokeId">The invokeId provided by the sender</param>
            <param name="indexGroup">The index group of the requested ADS service</param>
            <param name="indexOffset">The index offset of the requested ADS service</param>
            <param name="cbLength">The number of bytes to be witten</param>
            <param name="data">The data to be written</param>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.AdsReadStateInd(TwinCAT.Ads.AmsAddress,System.UInt32)">
            <summary>
            Called when an ADS Read State indication is received.
            Overwrite this method in derived classes to react on ADS Read State indications.
            The default implementation replies with an ADS ServiceNotSupported error code (0x701).
            </summary>
            <param name="rAddr">The sender's AMS address</param>
            <param name="invokeId">The invokeId provided by the sender</param>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.AdsWriteControlInd(TwinCAT.Ads.AmsAddress,System.UInt32,TwinCAT.Ads.AdsState,System.UInt16,System.UInt32,System.Byte[])">
            <summary>
            Called when an ADS Write Control indication is received.
            Overwrite this method in derived classes to react on ADS Write Control indications.
            The default implementation replies with an ADS ServiceNotSupported error code (0x701).
            </summary>
            <param name="rAddr">The sender's AMS address</param>
            <param name="invokeId">The invokeId provided by the sender</param>
            <param name="adsState">The requested new ADS state of this ADS device</param>
            <param name="deviceState">The requested new device state of this ADS device</param>
            <param name="cbLength">The length in bytes of the additional data buffer</param>
            <param name="pDeviceData">An additional data buffer of cbLength bytes</param>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.AdsAddDeviceNotificationInd(TwinCAT.Ads.AmsAddress,System.UInt32,System.UInt32,System.UInt32,System.UInt32,TwinCAT.Ads.AdsTransMode,System.UInt32,System.UInt32)">
            <summary>
            Called when an ADS Add Device Notification indication is received.
            Overwrite this method in derived classes to react on ADS Add Device Notification indications.
            The default implementation replies with an ADS ServiceNotSupported error code (0x701).
            </summary>
            <param name="rAddr">The sender's AMS address</param>
            <param name="invokeId">The invokeId provided by the sender</param>
            <param name="indexGroup">The index group of the requested ADS service</param>
            <param name="indexOffset">The index offset of the requested ADS service</param>
            <param name="cbLength">Number of bytes to be transmitted</param>
            <param name="transMode">The transmission mode of the notification (cyclic / on change)</param>
            <param name="maxDelay">The notification should be send at least after maxDelay ms</param>
            <param name="cycleTime">Check every cycleTime ms if the requested variable has changed</param>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.AdsDelDeviceNotificationInd(TwinCAT.Ads.AmsAddress,System.UInt32,System.UInt32)">
            <summary>
            Called when an ADS Delete Device Notification indication is received.
            Overwrite this method in derived classes to react on ADS Delete Device Notification indications.
            The default implementation replies with an ADS ServiceNotSupported error code (0x701).
            </summary>
            <param name="rAddr">The sender's AMS address</param>
            <param name="invokeId">The invokeId provided by the sender</param>
            <param name="hNotification">The notification handle to be deleted</param>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.AdsDeviceNotificationInd(TwinCAT.Ads.AmsAddress,System.UInt32,System.UInt32,TwinCAT.Ads.Server.TcAdsStampHeader[])">
            <summary>
            Called when an ADS Device Notification indication is received.
            Overwrite this method in derived classes to react on ADS Device Notification indications.
            </summary>
            <param name="rAddr">The sender's AMS address</param>
            <param name="invokeId">The invokeId provided by the sender</param>
            <param name="numStapHeaders">The number of ADS Stamp Headers contained in stampHeaders</param>
            <param name="stampHeaders">The array of received ADS Stamp Headers.</param>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.AdsDeviceNotificationInd(TwinCAT.Ads.AmsAddress,System.UInt32,System.UInt32,TwinCAT.Ads.AdsBinaryReader)">
            <summary>
            Called when an ADS Device Notification indication is received.
            Overwrite this method in derived classes to react on ADS Device Notification indications.
            </summary>
            <param name="rAddr">The sender's AMS address</param>
            <param name="invokeId">The invokeId provided by the sender</param>
            <param name="numStampHeaders">The number of stamp headers.</param>
            <param name="stampReader">Reader object for the stamps.</param>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.AdsReadWriteInd(TwinCAT.Ads.AmsAddress,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.Byte[])">
            <summary>
            Called when an ADS Read Write indication is received.
            Overwrite this method in derived classes to react on ADS Read Write indications.
            The default implementation replies with an ADS ServiceNotSupported error code (0x701).
            </summary>
            <param name="rAddr">The sender's AMS address</param>
            <param name="invokeId">The invokeId provided by the sender</param>
            <param name="indexGroup">The index group of the requested ADS service</param>
            <param name="indexOffset">The index offset of the requested ADS service</param>
            <param name="cbReadLength">Number of bytes to be read</param>
            <param name="cbWriteLength">Number of bytes to be written</param>
            <param name="data">The data to be written</param>
        </member>
        <member name="P:TwinCAT.Ads.Server.TcAdsServer.Address">
            <summary>
            The AMS address of this server.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.Server.TcAdsServer.IsConnected">
            <summary>
            The connection state of this server. True, if the server is connected to the router; false otherwise.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Server.TcAdsServer._disposed">
            <summary>
            The disposed
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.Server.TcAdsServer.IsDisposed">
            <summary>
            Gets a value indicating whether this instance is disposed.
            </summary>
            <value><c>true</c> if this instance is disposed; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.Dispose(System.Boolean)">
            <summary>
            Releases unmanaged and - optionally - managed resources.
            </summary>
            <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServer.Finalize">
            <summary>
            Finalizes an instance of the <see cref="T:TwinCAT.Ads.Server.TcAdsServer"/> class.
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.Server.TcAdsServerExEventArgs">
            <summary>
            This class implements the event arguments passed by the TcAdsServerExEvent.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.Server.TcAdsServerExEventArgs.Exception">
            <summary>
            Returns the exception that caused the event.
            </summary>
            <returns>The Exception that caused the event.</returns>
        </member>
        <member name="P:TwinCAT.Ads.Server.TcAdsServerExEventArgs.Message">
            <summary>
            Returns the exception message.
            </summary>
            <returns>The Exception message.</returns>
        </member>
        <member name="T:TwinCAT.Ads.Server.TcAdsServerException">
            <summary>
            A TcAdsServerException is thrown on communication errors in in TcAdsServer class.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.Server.TcAdsServerException.ErrorCode">
            <summary>
            Gets or sets the error code.
            </summary>
            <value>
            The error code.
            </value>
        </member>
        <member name="M:TwinCAT.Ads.Server.TcAdsServerException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            When overridden in a derived class, sets the <see cref="T:System.Runtime.Serialization.SerializationInfo" /> with information about the exception.
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
            <exception cref="T:System.ArgumentNullException">info</exception>
            <PermissionSet>
              <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Read="*AllFiles*" PathDiscovery="*AllFiles*" />
              <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="SerializationFormatter" />
            </PermissionSet>
        </member>
        <member name="T:TwinCAT.Ads.Server.TcAdsAmsServerErrorCode">
            <summary>
            Ams Server Error Codes.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Server.TcAdsAmsServerErrorCode.None">
            <summary>
            None / Uninitialized
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Server.TcAdsAmsServerErrorCode.Unknown">
            <summary>
            Unknown
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Server.TcAdsAmsServerErrorCode.ConnectPortFailed">
            <summary>
            Connecting port failed.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Server.TcAdsAmsServerErrorCode.DisconnectPortFailed">
            <summary>
            Disconnecting port failed.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Server.TcAdsAmsServerErrorCode.ReceiveQueueOverflow">
            <summary>
            ReceiveQueue overflow
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.Server.TcAdsAmsServerErrorCode.ReceiveNotifcationQueueOverflow">
            <summary>
            Receive Notification Queue overflow.
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.Server.UnsafeNativeMethods">
            <summary>
            Import Wrapper for TcAmsServer (TcAmsServerCE) Methods
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.IAdsSession">
            <summary>
            Interface IAdsSession
            </summary>
            <seealso cref="T:TwinCAT.ISession" />
        </member>
        <member name="P:TwinCAT.Ads.IAdsSession.NetId">
            <summary>
            Gets the NetId of the Session
            </summary>
            <value>The net identifier.</value>
        </member>
        <member name="P:TwinCAT.Ads.IAdsSession.Port">
            <summary>
            Gets the Ams Port of the Session
            </summary>
            <value>The port.</value>
        </member>
        <member name="P:TwinCAT.Ads.IAdsSession.Owner">
            <summary>
            Gets the Session owner.
            </summary>
            <value>The owner or NULL</value>
        </member>
        <member name="P:TwinCAT.Ads.IAdsSession.Address">
            <summary>
            Gets the Address specifier of the Session / connection
            </summary>
            <value>The address.</value>
        </member>
        <member name="T:TwinCAT.Ads.IInterceptionFactory">
            <summary>
            Interface IInterceptionFactory
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.IInterceptionFactory.CreateInterceptor">
            <summary>
            Creates the communication interceptor(s).
            </summary>
            <returns>ICommunicationInterceptor.</returns>
        </member>
        <member name="T:TwinCAT.Ads.SessionSettings">
            <summary>
            Session settings class
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.SessionSettings.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SessionSettings"/> class.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.SessionSettings.#ctor(System.Boolean,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SessionSettings"/> class.
            </summary>
            <param name="synchronized">if set to <c>true</c> [synchronized].</param>
            <param name="timeout">The timeout.</param>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.SessionSettings.Synchronized">
            <summary>
            [OBSOLUTE: Will be removed] Gets a value indicating whether this <see cref="T:TwinCAT.Ads.SessionSettings"/> is synchronized.
            </summary>
            <value><c>true</c> if synchronized; otherwise, <c>false</c>.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.SessionSettings.Timeout">
            <summary>
            Gets the ADS timeout in milliseconds.
            </summary>
            <value>The timeout.</value>
        </member>
        <member name="P:TwinCAT.Ads.SessionSettings.Default">
            <summary>
            Gets the default Settings (Synchronized).
            </summary>
            <remarks>
            The following defaults are set here:
            <list type="table">
            <listheader><term>Setting</term><description>Description</description></listheader>
                <item><term>Communication Timeout (<see cref="P:TwinCAT.Ads.SessionSettings.Timeout"/>)</term><description>Default communication timeout (<see cref="F:TwinCAT.Ads.SessionSettings.DefaultCommunicationTimeout"/>, default 5s)</description></item>
                <item><term>Resurrection Timeout (<see cref="P:TwinCAT.Ads.SessionSettings.ResurrectionTime"/>)</term><description>Default communication timeout (<see cref="F:TwinCAT.Ads.SessionSettings.DefaultResurrectionTime"/>, default 21s)</description></item>
                <item><term>Dynamic SymbolLoader settings <see cref="P:TwinCAT.Ads.SessionSettings.SymbolLoader"/></term><description>Synchronized mode activated (<see cref="P:TwinCAT.Ads.SymbolLoaderSettings.DefaultDynamic"/>)</description></item>
            </list>
            </remarks>
            <value>The default settings.</value>
        </member>
        <member name="P:TwinCAT.Ads.SessionSettings.FastWriteThrough">
            <summary>
            Gets a Settings object that configures the AdsSession for FastWriteThrough
            </summary>
            <value>Session settings for a fast write through (with 200 ms Timeout).</value>
            <remarks>The settings typically can be used for polling clients, where the "FailFast"
            feature will be bypassed. That means, that communication fails doesn't trigger
            the FailFast interceptor and every Request will go out via ADS.
            This has the Drawback that communication Timeouts are longer and subsequent timeouts
            block the ADS mailbox (with the danger of overflows). So use this setting with care 
            for specific purposes and should not be used for standard communication.
            <list type="bullet">
            <item><description>No Resurrection time and therefore:</description></item>
            <item><description>No <see cref="T:TwinCAT.Ads.IFailFastHandler">FailFastHandler</see> active.</description></item>
            <item><description>Default communication timeout 200ms.</description></item>
            <item><description>Not synchronized Notifications.</description></item>
            </list>
            </remarks>
        </member>
        <member name="F:TwinCAT.Ads.SessionSettings.DefaultCommunicationTimeout">
            <summary>
            The default communication timeout (5 Seconds)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.SessionSettings.DefaultResurrectionTime">
            <summary>
            The default resurrection time (21 Seconds)
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.SessionSettings.ResurrectionTime">
            <summary>
            Gets or sets the resurrection time (Default: <see cref="F:TwinCAT.Ads.SessionSettings.DefaultResurrectionTime"/>)
            </summary>
            <value>The resurrection time.</value>
            <remarks>The resurrection time is the time after a lost connection <see cref="F:TwinCAT.ConnectionState.Lost"/>
            can be 'resurrected'. This time is set to 21 Seconds by default (a value greater than the standard
            Ethernet connection timeout of 20s). The reason for this timeout is not to flood the ADS mailbox
            with requests that cannot be handled by the ethernet infrastructure.
            As long this Timespan is not expired after a recognized <see cref="F:TwinCAT.ConnectionState.Lost"/>, no further
            data communication is done, and requests are immediately ('FailFast') answered by communication
            exceptions.
            <b>Change this value only for edge cases.</b>
            </remarks>
        </member>
        <member name="P:TwinCAT.Ads.SessionSettings.SymbolLoader">
            <summary>
            Gets or sets the symbol loader settings
            </summary>
            <value>The symbol loader.</value>
        </member>
        <member name="T:TwinCAT.Ads.IAdsSessionSettings">
            <summary>
            Interface for ADS Session Settings
            </summary>
            <seealso cref="T:TwinCAT.ISessionSettings" />
        </member>
        <member name="P:TwinCAT.Ads.IAdsSessionSettings.Timeout">
            <summary>
            Gets the ADS timeout in milliseconds.
            </summary>
            <value>The timeout.</value>
        </member>
        <member name="P:TwinCAT.Ads.IAdsSessionSettings.ResurrectionTime">
            <summary>
            Gets or sets the resurrection time.
            </summary>
            <value>The resurrection time.</value>
        </member>
        <member name="P:TwinCAT.Ads.IAdsSessionSettings.SymbolLoader">
            <summary>
            Gets or sets the symbol loader settings
            </summary>
            <value>The symbol loader.</value>
        </member>
        <member name="T:TwinCAT.Ads.AdsSession">
            <summary>
            AdsSession class
            </summary>
            <remarks>On top of the well known <see cref="T:TwinCAT.Ads.TcAdsClient"/> class that is used traditionally for ADS communication,
            the <see cref="T:TwinCAT.Ads.AdsSession"/> class provides the following additionally abilities out of the box:
            
            These are used to provide more stable connections to ADS Servers than the <see cref="T:TwinCAT.Ads.TcAdsClient"/> can provide. The main issues are Resurrection / Self-Healing
            after communication timeouts, faster and less error prone reaction to communication errors (not necessarily waiting for communication timeouts) und enhanced
            communication diagnosis.
            
            These enhanced features are provided by the following additions to the TwinCAT.Ads API:
            <list type="bullet">
            <item><description><see cref="T:TwinCAT.Ads.AdsConnection"/> class.</description></item>
            <item><description>Enhanced diagnosis in form of communication statistics <see cref="P:TwinCAT.Ads.AdsSession.Statistics"/></description></item>
            <item><description>(semi-automatic) Resurrectable client communication with <see cref="T:TwinCAT.Ads.AdsConnection"/> objects.</description></item>
            <item><description>Symbol caching <see cref="P:TwinCAT.Session.SymbolServer"/></description></item>
            <item><description>Fail fast handler for connection stabilization <see cref="T:TwinCAT.Ads.IFailFastHandler"/></description></item>
            </list>
            
            The <see cref="T:TwinCAT.Ads.AdsConnection"/> is established by calling the <see cref="M:TwinCAT.Session.Connect"/> method. The returned <see cref="T:TwinCAT.Ads.AdsConnection"/> can be used
            as long the <see cref="T:TwinCAT.Ads.AdsSession"/> exists.
            </remarks>
            <example>
            The following sample shows a simple use of the <see cref="T:TwinCAT.Ads.AdsSession"/> object. The AdsSession object (and the dynamic SymbolLoader features) are only
            available from .NET 4 and upwards.
            <code language="C#" title="Use of the AdsSession object" source="..\Samples\Sample.TwinCATAds\Session.cs" region="CODE_SAMPLE" />
            </example>
            <seealso cref="T:TwinCAT.Session" />
            <seealso cref="T:TwinCAT.Ads.IAdsSession" />
            <seealso cref="T:TwinCAT.Ads.IInterceptionFactory" />
        </member>
        <member name="M:TwinCAT.Ads.AdsSession.#ctor(TwinCAT.Ads.AmsNetId,System.Int32,TwinCAT.Ads.SessionSettings)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.AdsSession"/> class.
            </summary>
            <param name="netId">The net identifier.</param>
            <param name="port">The port.</param>
            <param name="settings">The settings.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsSession.#ctor(TwinCAT.Ads.AmsAddress,TwinCAT.Ads.SessionSettings,System.Object)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.AdsSession" /> class.
            </summary>
            <param name="address">The address.</param>
            <param name="settings">The settings.</param>
            <param name="owner">The session owner</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsSession.#ctor(TwinCAT.Ads.AmsAddress,TwinCAT.Ads.SessionSettings)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.AdsSession"/> class.
            </summary>
            <param name="address">The address.</param>
            <param name="settings">The settings.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsSession.#ctor(TwinCAT.Ads.AmsNetId,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.AdsSession"/> class.
            </summary>
            <param name="netId">The net identifier.</param>
            <param name="port">The port.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsSession.#ctor(TwinCAT.Ads.AmsAddress)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.AdsSession"/> class.
            </summary>
            <param name="address">The address.</param>
        </member>
        <member name="F:TwinCAT.Ads.AdsSession._address">
            <summary>
            The address
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.AdsSession.Address">
            <summary>
            Gets the target address of the <see cref="T:TwinCAT.Ads.AdsSession"/>
            </summary>
            <value>The address.</value>
        </member>
        <member name="M:TwinCAT.Ads.AdsSession.OnGetAddress">
            <summary>
            Handler function getting the address of the session.
            </summary>
            <returns>System.String.</returns>
        </member>
        <member name="F:TwinCAT.Ads.AdsSession._settings">
            <summary>
            The settings
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.AdsSession.Settings">
            <summary>
            Gets the settings of the connection.
            </summary>
            <value>The settings.</value>
        </member>
        <member name="M:TwinCAT.Ads.AdsSession.Finalize">
            <summary>
            Finalizes an instance of the <see cref="T:TwinCAT.Ads.AdsSession"/> class.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.AdsSession.Connection">
            <summary>
            Gets the connection.
            </summary>
            <value>The connection.</value>
        </member>
        <member name="M:TwinCAT.Ads.AdsSession.OnConnect(System.Boolean)">
            <summary>
            Handler function connecting the Session.
            </summary>
            <returns>IConnection.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsSession.OnDisconnect">
            <summary>
            Called when [disconnect].
            </summary>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsSession._connection_AmsRouterNotification(System.Object,TwinCAT.Ads.AmsRouterNotificationEventArgs)">
            <summary>
            Handles the AmsRouterNotification event of the _connection control.
            </summary>
            <param name="sender">The source of the event.</param>
            <param name="e">The <see cref="T:TwinCAT.Ads.AmsRouterNotificationEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsSession.GetSessionName">
            <summary>
            Gets the name/string identifier of the session.
            </summary>
            <returns>System.String.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsSession.Dispose(System.Boolean)">
            <summary>
            Releases unmanaged and - optionally - managed resources.
            </summary>
            <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
        </member>
        <member name="F:TwinCAT.Ads.AdsSession._interceptor">
            <summary>
            Interceptor collection
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsSession._failFastHandlerInterceptor">
            <summary>
            Fail fast handler
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsSession._connectionStateObserver">
            <summary>
            Connection observer
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.AdsSession.ConnectionObserver">
            <summary>
            Gets the Connection observer
            </summary>
            <value>Connection observer.</value>
        </member>
        <member name="M:TwinCAT.Ads.AdsSession.TwinCAT#Ads#IInterceptionFactory#CreateInterceptor">
            <summary>
            Creates the interceptor.
            </summary>
            <returns>ICommunicationInterceptor.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsSession.OnCreateSymbolServer">
            <summary>
            Handler function creating the symbol server object.
            </summary>
            <returns>ISymbolServer.</returns>
            <exception cref="T:TwinCAT.SessionNotConnectedException">The connection is not established!</exception>
        </member>
        <member name="P:TwinCAT.Ads.AdsSession.Statistics">
            <summary>
            Gets the Communication / Session statistics.
            </summary>
            <value>The communication / Session statistics.</value>
        </member>
        <member name="P:TwinCAT.Ads.AdsSession.NetId">
            <summary>
            Gets the NetId of the Session
            </summary>
            <value>The net identifier.</value>
        </member>
        <member name="P:TwinCAT.Ads.AdsSession.Port">
            <summary>
            Gets the Ams Port of the Session
            </summary>
            <value>The port.</value>
        </member>
        <member name="F:TwinCAT.Ads.AdsSession._owner">
            <summary>
            The session owner
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.AdsSession.Owner">
            <summary>
            Gets the Session owner.
            </summary>
            <value>The owner or NULL</value>
        </member>
        <member name="T:TwinCAT.Ads.AdsCommunicationStatistics">
            <summary>
            ADS Communication statistics
            </summary>
            <remarks>
            These statistics can be used for communication diagnosis.
            They contain Error/Succeed counts as well as Resurrection infos.
            </remarks>
        </member>
        <member name="M:TwinCAT.Ads.AdsCommunicationStatistics.#ctor(TwinCAT.Ads.AdsSession)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.AdsCommunicationStatistics"/> class.
            </summary>
            <param name="session">The session.</param>
        </member>
        <member name="P:TwinCAT.Ads.AdsCommunicationStatistics.TotalCycles">
            <summary>
            Gets the total cycles.
            </summary>
            <value>The total cycles.</value>
        </member>
        <member name="P:TwinCAT.Ads.AdsCommunicationStatistics.TotalErrors">
            <summary>
            Gets the total error count.
            </summary>
            <value>The total error count.</value>
        </member>
        <member name="P:TwinCAT.Ads.AdsCommunicationStatistics.LastSucceededAccess">
            <summary>
            Gets the UTC time of the last succeeded access.
            </summary>
            <value>The last succeeded access.</value>
        </member>
        <member name="P:TwinCAT.Ads.AdsCommunicationStatistics.AccessWaitTime">
            <summary>
            Gets the wait time for the next access (Resurrection time) if in <see cref="F:TwinCAT.ConnectionState.Lost"/>.
            </summary>
            <value>The wait time if in <see cref="F:TwinCAT.ConnectionState.Lost"/> otherwise <b>TimeSpan.Zero</b>.</value>
        </member>
        <member name="P:TwinCAT.Ads.AdsCommunicationStatistics.ErrorsSinceLastSucceeded">
            <summary>
            Gets the error count since last access (UTC)
            </summary>
            <value>The error count since last access.</value>
        </member>
        <member name="P:TwinCAT.Ads.AdsCommunicationStatistics.ConnectionResurrections">
            <summary>
            Gets the number of resurrections on the <see cref="T:TwinCAT.Ads.AdsConnection"/>
            </summary>
            <value>The resurrections.</value>
        </member>
        <member name="P:TwinCAT.Ads.AdsCommunicationStatistics.SessionEstablishedAt">
            <summary>
            Gets the UTC time when the session was established.
            </summary>
            <value>The session established at.</value>
        </member>
        <member name="P:TwinCAT.Ads.AdsCommunicationStatistics.ConnectionEstablishedAt">
            <summary>
            Gets the UTC time when the current connection was established.
            </summary>
            <value>The connection established at.</value>
        </member>
        <member name="P:TwinCAT.Ads.AdsCommunicationStatistics.ConnectionActiveSince">
            <summary>
            Gets the UTC time of the last conenction activation.
            </summary>
            <value>Connection active time.</value>
        </member>
        <member name="P:TwinCAT.Ads.AdsCommunicationStatistics.ConnectionLostCount">
            <summary>
            Gets the connection lost count.
            </summary>
            <value>The connection lost count.</value>
        </member>
        <member name="P:TwinCAT.Ads.AdsCommunicationStatistics.ConnectionLostTime">
            <summary>
            Gets the UTC connection lost time.
            </summary>
            <value>The connection lost time.</value>
        </member>
        <member name="P:TwinCAT.Ads.AdsCommunicationStatistics.Resurrections">
            <summary>
            Gets the number of Resurrections of this Session.
            </summary>
            <value>The resurrections.</value>
        </member>
        <member name="T:TwinCAT.Ads.TcAdsDataTypeCollection">
            <summary>
            Collection class for <see cref="T:TwinCAT.Ads.ITcAdsDataType"/> dataTypes.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsDataTypeCollection._list">
            <summary>
            Internal list
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsDataTypeCollection._table">
            <summary>
            Internal table TypeName --> ITcAdsDataType
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsDataTypeCollection.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TcAdsDataTypeCollection"/> class.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsDataTypeCollection.#ctor(System.Collections.Generic.IEnumerable{TwinCAT.Ads.ITcAdsDataType})">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TcAdsDataTypeCollection"/> class.
            </summary>
            <param name="coll">The coll.</param>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsDataTypeCollection.AddRange(System.Collections.Generic.IEnumerable{TwinCAT.Ads.ITcAdsDataType})">
            <summary>
            Adds a range of <see cref="T:TwinCAT.Ads.ITcAdsDataType"/> to the collection.
            </summary>
            <param name="coll">The coll.</param>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsDataTypeCollection.IndexOf(TwinCAT.Ads.ITcAdsDataType)">
            <summary>
            Determines the index of a specific item in the <see cref="T:System.Collections.Generic.IList`1" />.
            </summary>
            <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.IList`1" />.</param>
            <returns>The index of <paramref name="item" /> if found in the list; otherwise, -1.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsDataTypeCollection.Insert(System.Int32,TwinCAT.Ads.ITcAdsDataType)">
            <summary>
            Inserts an item to the <see cref="T:System.Collections.Generic.IList`1" /> at the specified index.
            </summary>
            <param name="index">The zero-based index at which <paramref name="item" /> should be inserted.</param>
            <param name="item">The object to insert into the <see cref="T:System.Collections.Generic.IList`1" />.</param>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsDataTypeCollection.RemoveAt(System.Int32)">
            <summary>
            Removes the <see cref="T:System.Collections.Generic.IList`1" /> item at the specified index.
            </summary>
            <param name="index">The zero-based index of the item to remove.</param>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsDataTypeCollection.Item(System.Int32)">
            <summary>
            Gets or sets the element at the specified index.
            </summary>
            <param name="index">The index.</param>
            <returns>ITcAdsDataType.</returns>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsDataTypeCollection.Item(System.String)">
            <summary>
            Gets the <see cref="T:TwinCAT.Ads.ITcAdsDataType"/> with the specified type name.
            </summary>
            <param name="typeName">Name of the type.</param>
            <returns>ITcAdsDataType.</returns>
            <exception cref="T:System.Collections.Generic.KeyNotFoundException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsDataTypeCollection.Contains(System.String)">
            <summary>
            Determines whether this <see cref="T:TwinCAT.Ads.TcAdsDataTypeCollection"/> contains the specified data type.
            </summary>
            <param name="typeName">Name of the type.</param>
            <returns><c>true</c> if [contains] [the specified type name]; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsDataTypeCollection.TryGetDataType(System.String,TwinCAT.Ads.ITcAdsDataType@)">
            <summary>
            Tries the type of the get data.
            </summary>
            <param name="typeName">Name of the type.</param>
            <param name="ret">The ret.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsDataTypeCollection.Add(TwinCAT.Ads.ITcAdsDataType)">
            <summary>
            Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
            <param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsDataTypeCollection.Clear">
            <summary>
            Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsDataTypeCollection.Contains(TwinCAT.Ads.ITcAdsDataType)">
            <summary>
            Determines whether the <see cref="T:System.Collections.Generic.ICollection`1" /> contains a specific value.
            </summary>
            <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
            <returns>true if <paramref name="item" /> is found in the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsDataTypeCollection.CopyTo(TwinCAT.Ads.ITcAdsDataType[],System.Int32)">
            <summary>
            Copies the entire collection to the specified array.
            </summary>
            <param name="array">The array.</param>
            <param name="arrayIndex">Index of the array.</param>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsDataTypeCollection.Count">
            <summary>
            Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
            <value>The count.</value>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsDataTypeCollection.IsReadOnly">
            <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
            </summary>
            <value><c>true</c> if this instance is read only; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsDataTypeCollection.Remove(TwinCAT.Ads.ITcAdsDataType)">
            <summary>
            Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
            <param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
            <returns>true if <paramref name="item" /> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false. This method also returns false if <paramref name="item" /> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1" />.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsDataTypeCollection.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsDataTypeCollection.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsDataTypeCollection.AsReadOnly">
            <summary>
            Gets a read only version of this <see cref="T:TwinCAT.Ads.TcAdsDataTypeCollection" />.
            </summary>
            <returns>ReadOnlyTcAdsDataTypeCollection.</returns>
            <value>The readonly collection.</value>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsDataTypeCollection.Clone">
            <summary>
            Clones this instance.
            </summary>
            <returns>TcAdsDataTypeCollection.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsDataTypeCollection.ResolveType(TwinCAT.Ads.ITcAdsDataType,TwinCAT.TypeSystem.DataTypeResolveStrategy)">
            <summary>
            Tries to resolve the DataType within the Collection itself
            </summary>
            <param name="dataType">Type of the data.</param>
            <param name="strategy">The strategy.</param>
            <returns>ITcAdsDataType.</returns>
            <remarks>Use only before all Datatypes are collected by the loader!</remarks>
        </member>
        <member name="T:TwinCAT.Ads.ReadOnlyTcAdsDataTypeCollection">
            <summary>
            Read only collection of <see cref="T:TwinCAT.Ads.ITcAdsDataType"/>" types.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.ReadOnlyTcAdsDataTypeCollection.#ctor(TwinCAT.Ads.TcAdsDataTypeCollection)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.ReadOnlyTcAdsDataTypeCollection"/> class.
            </summary>
            <param name="coll">The coll.</param>
        </member>
        <member name="M:TwinCAT.Ads.ReadOnlyTcAdsDataTypeCollection.Contains(System.String)">
            <summary>
            Determines whether this <see cref="T:TwinCAT.Ads.ReadOnlyTcAdsDataTypeCollection"/> contains the specified type name.
            </summary>
            <param name="typeName">Name of the type.</param>
            <returns><c>true</c> if the specified name is contained; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.Ads.ReadOnlyTcAdsDataTypeCollection.TryGetDataType(System.String,TwinCAT.Ads.ITcAdsDataType@)">
            <summary>
            Tries to get the specified type name.
            </summary>
            <param name="typeName">Name of the type.</param>
            <param name="type">The type.</param>
            <returns><c>true</c> if found, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.Ads.ReadOnlyTcAdsDataTypeCollection.System#Collections#Generic#IEnumerable{TwinCAT#TypeSystem#IDataType}#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.</returns>
        </member>
        <member name="P:TwinCAT.Ads.ReadOnlyTcAdsDataTypeCollection.Item(System.String)">
            <summary>
            Gets the <see cref="T:TwinCAT.Ads.ITcAdsDataType"/> with the specified type name.
            </summary>
            <param name="typeName">Name of the type.</param>
            <returns>ITcAdsDataType.</returns>
        </member>
        <member name="T:TwinCAT.Ads.TcAdsSymbolInfoCollection">
            <summary>
            Represents a collection of TcAdsSymbolInfo objects.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfoCollection.#ctor(TwinCAT.Ads.TcAdsSymbolInfo)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TcAdsSymbolInfoCollection"/> class.
            </summary>
            <param name="owner">The owner.</param>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfoCollection.#ctor(TwinCAT.Ads.Internal.AdsParseSymbols)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TcAdsSymbolInfoCollection"/> class.
            </summary>
            <param name="symbolParser">The symbol parser.</param>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfoCollection.GetEnumerator">
            <summary>
            Returns an enumerator that can iterate through the symbols (<see cref="T:TwinCAT.Ads.TcAdsSymbolInfo"/>) in this collection.
            </summary>
            <returns>
            An <c>IEnumerator</c> that can be used to iterate through all symbols (<see cref="T:TwinCAT.Ads.TcAdsSymbolInfo"/>) in this collection.
            </returns>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfoCollection.Item(System.Int32)">
            <summary>
            Gets the element at the specified index.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfoCollection.GetSymbol(System.Int32)">
            <summary>
            Gets the Symbol by index
            </summary>
            <param name="index">The index.</param>
            <returns>TcAdsSymbolInfo if found, or NULL</returns>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfoCollection.GetSymbol(System.String)">
            <summary>
            Gets the symbol by name.
            </summary>
            <param name="name">The name.</param>
            <returns>TcAdsSymbolInfo.</returns>
            <remarks>Only located Symbols will be returned.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfoCollection.CopyTo(System.Array,System.Int32)">
            <summary>
            Copies the elements of the collection to an Array, starting at a
            particular Array index.
            </summary>
            <param name="array">
            The one-dimensional <c>Array</c> that is the destination of the
            elements copied from the collection. The
            <c>Array</c> must have zero-based indexing.
            </param>
            <param name="index">
            The zero-based index in array at which copying begins.
            </param>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfoCollection.Count">
            <summary>
            Gets the number of elements contained in the collection.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfoCollection.IsSynchronized">
            <summary>
            Gets a value indicating whether
            access to the collection is synchronized
            (thread-safe).
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfoCollection.SyncRoot">
            <summary>
            Gets an object that can be used to
            synchronize access to the collection.
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.TcAdsSymbolInfoCollection.AdsSymbolEnumerator">
            <summary>
            Symbol iterator class over <see cref="T:TwinCAT.Ads.TcAdsSymbolInfo"/> objects. (internal)
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfoCollection.AdsSymbolEnumerator.#ctor(TwinCAT.Ads.TcAdsSymbolInfoCollection)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TcAdsSymbolInfoCollection.AdsSymbolEnumerator"/> class.
            </summary>
            <param name="symbolCollection">The symbol collection.</param>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfoCollection.AdsSymbolEnumerator.CheckValid">
            <summary>
            Checks whether enumerating is valid!
            </summary>
            <exception cref="T:System.InvalidOperationException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfoCollection.AdsSymbolEnumerator.MoveNext">
            <summary>
            Advances the enumerator to the next element of the collection.
            </summary>
            <returns>true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfoCollection.AdsSymbolEnumerator.Reset">
            <summary>
            Sets the enumerator to its initial position, which is before the first element in the collection.
            </summary>
            <exception cref="T:System.InvalidOperationException"></exception>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfoCollection.AdsSymbolEnumerator.Current">
            <summary>
            Gets the current element in the collection.
            </summary>
            <value>The current.</value>
        </member>
        <member name="T:TwinCAT.Ads.ITcAdsDataType">
            <summary>
            Interface ITcAdsDataType
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsDataType.DataTypeId">
            <summary>
            Gets the data type identifier.
            </summary>
            <value>The data type identifier.</value>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsDataType.HasArrayInfo">
            <summary>
            Gets a value indicating whether this instance has dimension information.
            </summary>
            <value><c>true</c> if this instance has dimension information; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsDataType.Dimensions">
            <summary>
            Gets the dimensions of an array type
            </summary>
            <value>
            The array infos.
            </value>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsDataType.HasRpcMethods">
            <summary>
            Gets a value indicating whether this instance has RPC methods (Struct types only)
            </summary>
            <remarks>The DataType (Structure) must be marked with the PlcAttribute 'TcRpcEnable' to enable RpcMethods, otherwise
            RpcMethods are not passed through to the ADS symbolic information.
            </remarks>
            <value><c>true</c> if this instance has RPC methods; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsDataType.RpcMethods">
            <summary>
            Gets the RPC method descriptions
            </summary>
            <value>A list of the rpc methods.</value>
            <remarks>The DataType (Structure) must be marked with the PlcAttribute 'TcRpcEnable' to enable RpcMethods, otherwise
            RpcMethods are not passed through to the ADS symbolic information.</remarks>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsDataType.BaseType">
            <summary>
            Gets the Base Type of the Type (if enum, alias, array)
            </summary>
            <value>The type of the base.</value>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsDataType.BaseTypeName">
            <summary>
            Gets the name of the base type (if enum, alias, array)
            </summary>
            <value>The name of the base type.</value>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsDataType.HasEnumInfo">
            <summary>
            Gets a value indicating whether this instance has enum information.
            </summary>
            <value><c>true</c> if this instance has enum information; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsDataType.EnumInfos">
            <summary>
            Obsolete
            </summary>
            <value>The enum infos.</value>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsDataType.EnumValues">
            <summary>
            Enumeration specification (if enum)
            </summary>
            <value>The enum infos.</value>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsDataType.SubItems">
            <summary>
            Get the SubElements of this <see cref="T:TwinCAT.Ads.ITcAdsDataType"/>.
            </summary>
            <value>The subItems.</value>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsDataType.HasSubItemInfo">
            <summary>
            Gets a value indicating whether this instance has sub items.
            </summary>
            <value><c>true</c> if this instance has sub items; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsDataType.IsEnum">
            <summary>
            Gets a value indicating whether this instance is an enum.
            </summary>
            <value><c>true</c> if this instance is enum; otherwise, <c>false</c>.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsDataType.IsArray">
            <summary>
            Gets a value indicating whether this instance is an array.
            </summary>
            <value><c>true</c> if this instance is array; otherwise, <c>false</c>.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsDataType.IsStruct">
            <summary>
            Gets a value indicating whether this instance is an struct.
            </summary>
            <value><c>true</c> if this instance is structure; otherwise, <c>false</c>.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsDataType.IsSubItem">
            <summary>
            Determines whether this object is an SubItem (DataType Member, true) or a native DataType (false)
            </summary>
            <returns><c>true</c> if [is sub item]; otherwise, <c>false</c>.</returns>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsDataType.IsAlias">
            <summary>
            Gets a value indicating whether this DataType is an alias.
            </summary>
            <value><c>true</c> if this instance is alias; otherwise, <c>false</c>.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsDataType.IsString">
            <summary>
            Gets a value indicating whether this DataType is a string.
            </summary>
            <value><c>true</c> if this instance is string; otherwise, <c>false</c>.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsDataType.ManagedType">
            <summary>
            Managed Type of the (simple,primitive) type.
            </summary>
            <value>The managed type of the data type.</value>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsDataType.IsOversamplingArray">
            <summary>
            Gets a value indicating whether this instance is an oversampling array.
            </summary>
            <value><c>true</c> if this instance is oversampling array; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsDataType.Flags">
            <summary>
            Gets the DataTypeFlags
            </summary>
            <value>The flags.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsDataType.IsJaggedArray">
            <summary>
            Gets a value indicating whether this dataType is a jagged array.
            </summary>
            <value><c>true</c> if this instance is jagged array; otherwise, <c>false</c>.</value>
        </member>
        <member name="T:TwinCAT.Ads.ITcAdsSubItem">
            <summary>
            Interface ITcAdsSubItem
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsSubItem.SubItemName">
            <summary>
            Gets the name of the subitem / Sub element.
            </summary>
            <value>The name of the sub item.</value>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsSubItem.Offset">
            <summary>
            Gets the offset of the SubItem (in Bytes or Bits)
            </summary>
            <value>The offset.</value>
            <remarks>If <see cref="P:TwinCAT.TypeSystem.IBitSize.IsBitType"/> indicates 'BitSize' then this value will be in Bits, otherwise Bytes.</remarks>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsSubItem.IsPersistent">
            <summary>
            Gets a value indicating whether this sub element is persistent.
            </summary>
            <value><c>true</c> if this subelement is persistent; otherwise, <c>false</c>.</value>
        </member>
        <member name="T:TwinCAT.Ads.ITcAdsSymbol">
            <summary>
            Defines an Interface for reading the ADS symbol information.
            </summary>
            <remarks>The most sophisticated implementation of this interface is <see cref="T:TwinCAT.Ads.ITcAdsSymbol"/>"/></remarks>
            <seealso cref="T:TwinCAT.Ads.ITcAdsSymbol5"/>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsSymbol.IndexGroup">
            <summary>
            Gets the index group of the symbol.
            </summary>
            <value>Index group of the symbol.</value>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsSymbol.IndexOffset">
            <summary>
            Gets the index offset of the symbol.
            </summary>
            <value>Index offset of the symbol.</value>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsSymbol.Size">
            <summary>
            Gets the size of the symbol (in Bytes or bits dependent on <see cref="P:TwinCAT.Ads.ITcAdsSymbol2.IsBitType"/>).
            </summary>
            <value>Size of the symbol in Bytes / Bits</value>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsSymbol.Datatype">
            <summary>
            DataType identifier of the Symbol <see cref="T:TwinCAT.Ads.AdsDatatypeId"/>
            </summary>
            <value>Data type of the symbol.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsSymbol.Name">
            <summary>
            Gets the name of the symbol.
            </summary>
            <value>Name of the symbol.</value>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsSymbol.Type">
            <summary>
            Gets the name fo the symbol data type.
            </summary>
            <value>Name of the symbol data type.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsSymbol.Comment">
            <summary>
            Gets the comment behind the variable declaration.
            </summary>
            <value>Comment behind the variable declaration.</value>
        </member>
        <member name="T:TwinCAT.Ads.ITcAdsSymbol2">
            <summary>
            Interface ITcAdsSymbol2 (extends <see cref="T:TwinCAT.Ads.ITcAdsSymbol"/>)
            </summary>
            <remarks>The most sophisticated implementation of this interface is <see cref="T:TwinCAT.Ads.ITcAdsSymbol"/>"/></remarks>
            <seealso cref="T:TwinCAT.Ads.ITcAdsSymbol5"/>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsSymbol2.IsPersistent">
            <summary>
            Indicates if the Persistent flag is set for the symbol.
            </summary>
            <value><c>true</c> if persistent, otherwise <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsSymbol2.IsBitType">
            <summary>
            Indicates if the BitValue flag is set for the symbol.
            </summary>
            <value><c>true</c> if is BitValue, otherwise <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsSymbol2.IsReference">
            <summary>
            Indicates if the ReferenceTo flag is set for the symbol.
            </summary>
            <value><c>true</c> if is ReferenceTo, otherwise <c>false</c>.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsSymbol2.IsPointer">
            <summary>
            Gets a value indicating whether this instance is a pointer.
            </summary>
            <value>
            <c>true</c> if this instance is pointer; otherwise, <c>false</c>.
            </value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsSymbol2.IsTypeGuid">
            <summary>
            Indicates if the TypeGuid flag is set for the symbol.
            </summary>
            <value><c>true</c> if is TypeGuid, otherwise <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsSymbol2.IsReadOnly">
            <summary>
            Indicates if the ReadOnly flag is set for the symbol.
            </summary>
            <value><c>true</c> if ReadOnly, otherwise <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsSymbol2.IsTcComInterfacePointer">
            <summary>
            Indicates if the TcComInterfacePointer flag is set for the symbol.
            </summary>
            <value><c>true</c> if is TcComInterfacePointer, otherwise <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsSymbol2.ContextMask">
            <summary>
            Gets the ContextMask of the symbol, indicating the task the variable belongs to.
            If ContextMask is not zero use <see cref="F:TwinCAT.Ads.AdsTransMode.CyclicInContext"/> or <see cref="F:TwinCAT.Ads.AdsTransMode.OnChangeInContext"/> to add notifications.
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.ITcAdsSymbol3">
            <summary>
            Interface ITcAdsSymbol3 (extends <see cref="T:TwinCAT.Ads.ITcAdsSymbol"/> ... <see cref="T:TwinCAT.Ads.ITcAdsSymbol3"/>)
            </summary>
            <remarks>The most sophisticated implementation of this interface is <see cref="T:TwinCAT.Ads.ITcAdsSymbol"/>"/></remarks>
            <seealso cref="T:TwinCAT.Ads.ITcAdsSymbol5"/>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsSymbol3.IsArray">
            <summary>
            Gets a value indicating whether this instance is an array.
            </summary>
            <value>
              <c>true</c> if this instance is an array; otherwise, <c>false</c>.
            </value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsSymbol3.ArrayDimensions">
            <summary>
            Gets the array dimensions.
            </summary>
            <value>
            The array dimensions.
            </value>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsSymbol3.ArrayInfos">
            <summary>
            Gets the collection of Array Infos.
            </summary>
            <value>
            The array infos.
            </value>
        </member>
        <member name="T:TwinCAT.Ads.ITcAdsSymbol4">
            <summary>
            Interface ITcAdsSymbol4 (extends <see cref="T:TwinCAT.Ads.ITcAdsSymbol"/> ... <see cref="T:TwinCAT.Ads.ITcAdsSymbol3"/>
            </summary>
            <remarks>The most sophisticated implementation of this interface is <see cref="T:TwinCAT.Ads.ITcAdsSymbol"/>"/></remarks>
            <seealso cref="T:TwinCAT.Ads.ITcAdsSymbol5"/>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsSymbol4.Attributes">
            <summary>
            Gets the attribute count of the <see cref="T:TwinCAT.Ads.ITcAdsSymbol"/>
            </summary>
            <value>The attribute count.</value>
            int AttributeCount { get; }
            <summary>
            Gets the attributes of the <see cref="T:TwinCAT.Ads.ITcAdsSymbol"/>
            </summary>
            <value>The attributes.</value>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsSymbol4.IsEnum">
            <summary>
            Gets a value indicating whether this instance is an Enum data type
            </summary>
            <value><c>true</c> if this instance is enum; otherwise, <c>false</c>.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsSymbol4.IsStruct">
            <summary>
            Gets a value indicating whether this instance is an Struct data type
            </summary>
            <value><c>true</c> if this instance is struct; otherwise, <c>false</c>.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsSymbol4.HasRpcMethods">
            <summary>
            Gets a value indicating whether this instance has RPC methods (Struct types only)
            </summary>
            <remarks>The DataType (Structure) must be marked with the PlcAttribute 'TcRpcEnable' to enable RpcMethods, otherwise
            RpcMethods are not passed through to the ADS symbolic information.
            </remarks>
            <value><c>true</c> if this instance has RPC methods; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsSymbol4.RpcMethods">
            <summary>
            Gets the RPC method descriptions
            </summary>
            <remarks>The DataType (Structure) must be marked with the PlcAttribute 'TcRpcEnable' to enable RpcMethods, otherwise
            RpcMethods are not passed through to the ADS symbolic information.
            </remarks>
            <value>The RPC methods.</value>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsSymbol4.Category">
            <summary>
            Gets the Data Type Category
            </summary>
            <value>The category.</value>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsSymbol4.BitSize">
            <summary>
            Gets the Bit Size of the Symbol
            </summary>
            <value>The Bit Size of the underlying data type.</value>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsSymbol4.ByteSize">
            <summary>
            Gets the Byte Size of the Symbol
            </summary>
            <value>The Byte Size of the underlying data type.</value>
        </member>
        <member name="T:TwinCAT.Ads.ITcAdsSymbol5">
            <summary>
            Interface ITcAdsSymbol5 (extends <see cref="T:TwinCAT.Ads.ITcAdsSymbol"/> ... <see cref="T:TwinCAT.Ads.ITcAdsSymbol4"/>
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsSymbol5.DataType">
            <summary>
            Gets the Data type object of the Symbol.
            </summary>
            <value>The data type object or NULL if not resolved.</value>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsSymbol5.DataTypeId">
            <summary>
            DataType identifier of the Symbol <see cref="T:TwinCAT.Ads.AdsDatatypeId"/>
            </summary>
            <value>Data type of the symbol.</value>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsSymbol5.TypeName">
            <summary>
            Gets the name of the symbol data type.
            </summary>
            <value>Name of the symbol data type.</value>
        </member>
        <member name="M:TwinCAT.Ads.ITcAdsSymbol5.IsRecursive(System.Collections.Generic.IEnumerable{TwinCAT.Ads.ITcAdsSymbol5})">
            <summary>
            Gets a value indicating whether this instance is recursive.
            </summary>
            <param name="parents">The parents.</param>
            <returns><c>true</c> if the specified parents is recursive; otherwise, <c>false</c>.</returns>
            <value><c>true</c> if this instance is recursive; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsSymbol5.IsStatic">
            <summary>
            Gets a value indicating whether the Symbol is static.
            </summary>
            <value><c>true</c> if this instance is static; otherwise, <c>false</c>.</value>
        </member>
        <member name="T:TwinCAT.Ads.ITcAdsSymbolBrowser">
            <summary>
            Interface ITcAdsSubSymbolProvider
            </summary>
            <remarks>Interface used for <see cref="T:TwinCAT.Ads.ITcAdsSymbol"/> objects that support subsymbols (e.g. Arrays, References, Structs)
            </remarks>
        </member>
        <member name="P:TwinCAT.Ads.ITcAdsSymbolBrowser.SubSymbols">
            <summary>
            GetSubSymbols of this symbol.
            </summary>
            <value>The SubSymbols.</value>
        </member>
        <member name="T:TwinCAT.Ads.ITcAdsRpcInvoke">
            <summary>
            Interface ITcAdsRpcInvoke
            </summary>
            <remarks>
            This interface is used to invoke ADS RPC Method calls. This can be done 'symbolic' via the
            Method name or the MethodID of the method on the specified symbol.
            To activate the RPC Access within the PLC environment, its dataType (Structure, FB) must be marked with the PlcAttribute 'TcRpcEnable' to enable RpcMethods.
            </remarks>
        </member>
        <member name="M:TwinCAT.Ads.ITcAdsRpcInvoke.InvokeRpcMethod(TwinCAT.Ads.ITcAdsSymbol,System.String,System.Object[])">
            <summary>
            Invokes the specified RPC Method.
            </summary>
            <param name="symbol">The symbol with RPC Methods.</param>
            <param name="methodName">Name of the method.</param>
            <param name="inParameters">The RPC In-Parameters, or NULL.</param>
            <returns>The return value of the Method (as object) or NULL if void.</returns>
            <remarks>This method only supports primitive data types as <paramref name="inParameters"/>. Any available outparameters will be ignored.
            </remarks>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV1.cs" region="CODE_SAMPLE_RPCCALL" />
            </example>
        </member>
        <member name="M:TwinCAT.Ads.ITcAdsRpcInvoke.InvokeRpcMethod(TwinCAT.Ads.ITcAdsSymbol,System.String,System.Object[],System.Object[]@)">
            <summary>
            Invokes the specified RPC Method.
            </summary>
            <param name="symbol">The symbol with RPC Methods.</param>
            <param name="methodName">Name of the method.</param>
            <param name="inParameters">The RPC In-Parameters, or NULL.</param>
            <param name="outParameters">The RPC Out-parameters, or NULL</param>
            <returns>The return value of the Method (as object) or NULL if void.</returns>
            <remarks>This method only supports primitive data types as <paramref name="inParameters"/>/<paramref name="outParameters"/>.
            </remarks>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV1.cs" region="CODE_SAMPLE_RPCCALL" />
            </example>
        </member>
        <member name="M:TwinCAT.Ads.ITcAdsRpcInvoke.InvokeRpcMethod(System.String,System.String,System.Object[])">
            <summary>
            Invokes the specified RPC Method.
            </summary>
            <param name="symbolPath">The symbol path.</param>
            <param name="methodName">Name of the method.</param>
            <param name="inParameters">The RPC In-Parameters, or NULL.</param>
            <returns>The return value of the Method (as object) or NULL if void.</returns>
            <remarks>This method only supports primitive data types as <paramref name="inParameters"/>. Any available outparameters will be ignored.
            </remarks>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV1.cs" region="CODE_SAMPLE_RPCCALL" />
            </example>
        </member>
        <member name="M:TwinCAT.Ads.ITcAdsRpcInvoke.InvokeRpcMethod(System.String,System.String,System.Object[],System.Object[]@)">
            <summary>
            Invokes the specified RPC Method.
            </summary>
            <param name="symbolPath">The symbolpath.</param>
            <param name="methodName">Name of the method.</param>
            <param name="inParameters">The RPC In-Parameters, or NULL.</param>
            <param name="outParameters">The RPC Out-parameters, or NULL</param>
            <returns>The return value of the Method (as object) or NULL if void.</returns>
            <remarks>This method only supports primitive data types as <paramref name="inParameters"/>/<paramref name="outParameters"/>.
            </remarks>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV1.cs" region="CODE_SAMPLE_RPCCALL" />
            </example>
        </member>
        <member name="M:TwinCAT.Ads.ITcAdsRpcInvoke.InvokeRpcMethod(TwinCAT.Ads.ITcAdsSymbol,System.String,System.Object[],TwinCAT.TypeSystem.AnyTypeSpecifier[],TwinCAT.TypeSystem.AnyTypeSpecifier,System.Object[]@)">
            <summary>
            Invokes the specified RPC Method.
            </summary>
            <param name="symbol">The symbol with RPC Methods.</param>
            <param name="methodName">Name of the method.</param>
            <param name="inParameters">The RPC In-Parameters, or NULL.</param>
            <param name="outSpecifiers">The out specifiers (specifying the out types) or NULL.</param>
            <param name="retSpecifier">The ret specifier (specifying the return value) or NULL.</param>
            <param name="outParameters">The out parameters.</param>
            <returns>The return value of the Method (as object) or NULL if void.</returns>
            <remarks>The RpcMethod optionally support In-Parameters, Out-Parameters and Return values. Therefore the parameters <paramref name="inParameters"/>, <paramref name="outParameters"/>, <paramref name="outSpecifiers"/>, <paramref name="retSpecifier"/>
            are allowed to be empty or NULL.
            In case of using primitive datatypes, the type specifier parameters (<paramref name="outSpecifiers"/> and <paramref name="retSpecifier"/>) are not necessary and should not be set.
            </remarks>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV1.cs" region="CODE_SAMPLE_RPCCALL" />
            </example>
        </member>
        <member name="M:TwinCAT.Ads.ITcAdsRpcInvoke.InvokeRpcMethod(System.String,System.String,System.Object[],TwinCAT.TypeSystem.AnyTypeSpecifier[],TwinCAT.TypeSystem.AnyTypeSpecifier,System.Object[]@)">
            <summary>
            Invokes the specified RPC Method
            </summary>
            <param name="symbolPath">The symbol path.</param>
            <param name="methodName">The method name.</param>
            <param name="inParameters">The RPC In-Parameters, or NULL.</param>
            <param name="outSpecifiers">The out specifiers (specifiying the out types) or NULL.</param>
            <param name="retSpecifier">The ret specifier (specifiying the return value) or NULL.</param>
            <param name="outParameters">The RPC Out-parameters, or NULL</param>
            <returns>The return value of the Method (as object).</returns>
            <remarks>The RpcMethod optionally support In-Parameters, Out-Parameters and Return values. Therefore the parameters <paramref name="inParameters"/>, <paramref name="outParameters"/>, <paramref name="outSpecifiers"/>, <paramref name="retSpecifier"/>
            are allowed to be empty or NULL.
            In case of using primitive datatypes, the type specifier parameters (<paramref name="outSpecifiers"/> and <paramref name="retSpecifier"/>) are not necessary and should not be set.
            </remarks>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV1.cs" region="CODE_SAMPLE_RPCCALL" />
            </example>
        </member>
        <member name="M:TwinCAT.Ads.ITcAdsRpcInvoke.TryInvokeRpcMethod(TwinCAT.Ads.ITcAdsSymbol,System.String,System.Object[],TwinCAT.TypeSystem.AnyTypeSpecifier[],TwinCAT.TypeSystem.AnyTypeSpecifier,System.Object[]@,System.Object@)">
            <summary>
            Invokes the specified RPC Method.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="methodName">Name of the method.</param>
            <param name="inParameters">The RPC In-Parameters, or NULL.</param>
            <param name="retValue">The return value of the RPC method as object.</param>
            <param name="outSpecifiers">The out specifiers (specifying the out types) or NULL.</param>
            <param name="retSpecifier">The ret specifier (specifying the return value) or NULL.</param>
            <param name="outParameters">The RPC Out-parameters, or NULL</param>
            <returns>The ADS Error Code.</returns>
            <remarks>The RpcMethod optionally support In-Parameters, Out-Parameters and Return values. Therefore the parameters <paramref name="inParameters"/>, <paramref name="outParameters"/>, <paramref name="outSpecifiers"/>, <paramref name="retSpecifier"/>
            are allowed to be empty or NULL.
            In case of using primitive datatypes, the type specifier parameters (<paramref name="outSpecifiers"/> and <paramref name="retSpecifier"/>) are not necessary and should not be set.
            </remarks>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV1.cs" region="CODE_SAMPLE_RPCCALL" />
            </example>
        </member>
        <member name="M:TwinCAT.Ads.ITcAdsRpcInvoke.TryInvokeRpcMethod(System.String,System.String,System.Object[],TwinCAT.TypeSystem.AnyTypeSpecifier[],TwinCAT.TypeSystem.AnyTypeSpecifier,System.Object[]@,System.Object@)">
            <summary>
            Invokes the specified RPC Method
            </summary>
            <param name="symbolPath">The symbol path.</param>
            <param name="methodName">The method name.</param>
            <param name="inParameters">The RPC In-parameters, or NULL</param>
            <param name="retValue">The return value of the RPC method as object.</param>
            <param name="outSpecifiers">The out specifiers (specifying the out types) or NULL.</param>
            <param name="retSpecifier">The ret specifier (specifying the return value) or NULL.</param>
            <param name="outParameters">The RPC Out-parameters, or NULL</param>
            <returns>The ADS Error Code.</returns>
            <remarks>The RpcMethod optionally support In-Parameters, Out-Parameters and Return values. Therefore the parameters <paramref name="inParameters"/>, <paramref name="outParameters"/>, <paramref name="outSpecifiers"/>, <paramref name="retSpecifier"/>
            are allowed to be empty or NULL.
            In case of using primitive datatypes, the type specifier parameters (<paramref name="outSpecifiers"/> and <paramref name="retSpecifier"/>) are not necessary and should not be set.
            </remarks>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV1.cs" region="CODE_SAMPLE_RPCCALL" />
            </example>
        </member>
        <member name="M:TwinCAT.Ads.ITcAdsRpcInvoke.TryInvokeRpcMethod(System.String,System.String,System.Object[],System.Object[]@,System.Object@)">
            <summary>
            Invokes the specified RPC Method
            </summary>
            <param name="symbolPath">The symbol path.</param>
            <param name="methodName">The method name.</param>
            <param name="inParameters">The RPC In-parameters, or NULL</param>
            <param name="retValue">The return value of the RPC method as object.</param>
            <param name="outParameters">The RPC Out-parameters, or NULL</param>
            <returns>The ADS Error Code.</returns>
            <remarks>This method only supports primitive data types as <paramref name="inParameters"/>/<paramref name="outParameters"/>.
            </remarks>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV1.cs" region="CODE_SAMPLE_RPCCALL" />
            </example>
        </member>
        <member name="M:TwinCAT.Ads.ITcAdsRpcInvoke.TryInvokeRpcMethod(System.String,System.String,System.Object[],System.Object@)">
            <summary>
            Invokes the specified RPC Method
            </summary>
            <param name="symbolPath">The symbol path.</param>
            <param name="methodName">The method name.</param>
            <param name="inParameters">The RPC In-Parameters, or NULL.</param>
            <param name="retValue">The return value of the RPC method as object.</param>
            <returns>The ADS Error Code.</returns>
            <returns>The ADS Error Code.</returns>
            <remarks>This method only supports primitive data types as <paramref name="inParameters"/>.
            </remarks>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV1.cs" region="CODE_SAMPLE_RPCCALL" />
            </example>
        </member>
        <member name="M:TwinCAT.Ads.ITcAdsRpcInvoke.TryInvokeRpcMethod(TwinCAT.Ads.ITcAdsSymbol,TwinCAT.TypeSystem.IRpcMethod,System.Object[],TwinCAT.TypeSystem.AnyTypeSpecifier[],TwinCAT.TypeSystem.AnyTypeSpecifier,System.Object[]@,System.Object@)">
            <summary>
            Invokes the rpc method.
            </summary>
            <param name="symbol">The RPC callable symbol</param>
            <param name="method">The method.</param>
            <param name="inParameters">The parameters.</param>
            <param name="outSpecifiers">The out specifiers (specifying the out types) or NULL.</param>
            <param name="retSpecifier">The ret specifier (specifying the return value) or NULL.</param>
            <param name="outParameters">The out parameters.</param>
            <param name="retValue">The return value of the RPC method./&gt;</param>
            <returns>AdsErrorCode.</returns>
            <remarks>The RpcMethod optionally support In-Parameters, Out-Parameters and Return values. Therefore the parameters <paramref name="inParameters" />, <paramref name="outParameters" />, <paramref name="outSpecifiers" />, <paramref name="retSpecifier" />
            are allowed to be empty or NULL.
            In case of using primitive datatypes, the type specifier parameters (<paramref name="outSpecifiers" /> and <paramref name="retSpecifier" />) are not necessary and should not be set.
            </remarks>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV1.cs" region="CODE_SAMPLE_RPCCALL" />
            </example>
        </member>
        <member name="T:TwinCAT.Ads.ValueAccess.ValueAccessMode">
            <summary>
            Enum ValueAccessMethod
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.ValueAccess.ValueAccessMode.None">
            <summary>
            None / Uninitialized
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.ValueAccess.ValueAccessMode.IndexGroupOffset">
            <summary>
            Value access via Index Group and Offset Only
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.ValueAccess.ValueAccessMode.Symbolic">
            <summary>
            Symbolic access via Instance Path only.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.ValueAccess.ValueAccessMode.IndexGroupOffsetPreferred">
            <summary>
            Uses IndexGroup IndexOffset Preferred (and Symbolic for Dereferenced Pointers / References)
            </summary>
            <remarks>
            By standard this uses IndexGroup/IndexOffset. For Symbols that are dereferenced (Pointers/Referenced) the
            Symbol method is chosen.
            </remarks>
        </member>
        <member name="F:TwinCAT.Ads.ValueAccess.ValueAccessMode.Default">
            <summary>
            The Default access mode (Symbolic)
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.ValueAccess.AdsConnectionRestore">
            <summary>
            Restores an AdsConnection.
            </summary>
            <seealso cref="T:System.IDisposable" />
        </member>
        <member name="T:TwinCAT.Ads.ValueAccess.AdsValueAccessorBase">
            <summary>
            Abstract base class for an AdsValue accessor.
            </summary>
            <seealso cref="T:TwinCAT.ValueAccess.RpcNotificationAccessorBase" />
            <seealso cref="T:TwinCAT.ValueAccess.IAccessorValueAny" />
        </member>
        <member name="F:TwinCAT.Ads.ValueAccess.AdsValueAccessorBase._symbolPathEncoding">
            <summary>
            The Value/Handle ByName Encoding
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.ValueAccess.AdsValueAccessorBase.SymbolPathEncoding">
            <summary>
            Gets the Value/Handle ByName Encoding of the Accessor
            </summary>
            <value>The encoding.</value>
        </member>
        <member name="M:TwinCAT.Ads.ValueAccess.AdsValueAccessorBase.#ctor(TwinCAT.ValueAccess.IAccessorValueFactory,TwinCAT.ISession,TwinCAT.Ads.NotificationSettings,System.Text.Encoding)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.ValueAccess.AdsValueAccessorBase" /> class.
            </summary>
            <param name="valueFactory">The value factory.</param>
            <param name="session">The session.</param>
            <param name="settings">The settings.</param>
            <param name="encoding">The encoding.</param>
        </member>
        <member name="M:TwinCAT.Ads.ValueAccess.AdsValueAccessorBase.#ctor(TwinCAT.ValueAccess.IAccessorValueFactory,TwinCAT.IConnection,TwinCAT.Ads.NotificationSettings,System.Text.Encoding)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.ValueAccess.AdsValueAccessorBase" /> class.
            </summary>
            <param name="valueFactory">The value factory.</param>
            <param name="connection">The connection.</param>
            <param name="settings">The settings.</param>
            <param name="encoding">The encoding.</param>
        </member>
        <member name="M:TwinCAT.Ads.ValueAccess.AdsValueAccessorBase.TryReadAnyValue(TwinCAT.TypeSystem.ISymbol,System.Type,System.Object@,System.DateTime@)">
            <summary>
            Tries to read the value of the symbol and returns the value as instance of the specified type.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="valueType">The value type.</param>
            <param name="value">The value.</param>
            <param name="utcReadTime">The UTC read time.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.ValueAccess.AdsValueAccessorBase.TryWriteAnyValue(TwinCAT.TypeSystem.ISymbol,System.Object,System.DateTime@)">
            <summary>
            Tries to write the data within the value object as the symbol value.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="valueObject">The value object.</param>
            <param name="utcReadTime">The UTC read time.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.ValueAccess.AdsValueAccessorBase.TryUpdateAnyValue(TwinCAT.TypeSystem.ISymbol,System.Object@,System.DateTime@)">
            <summary>
            Tries to read the value of the symbol and updates the referenced value object with that data
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="valueObject">The value object.</param>
            <param name="utcReadTime">The UTC read time.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="T:TwinCAT.Ads.ValueAccess.AdsValueAccessor">
            <summary>
            Value accessor class (accessing ADS Symbol values)
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.ValueAccess.AdsValueAccessor.#ctor(TwinCAT.Ads.IAdsConnection,TwinCAT.Ads.ValueAccess.ValueAccessMode,TwinCAT.ValueAccess.IAccessorValueFactory,TwinCAT.Ads.NotificationSettings,System.Text.Encoding)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.ValueAccess.AdsValueAccessor" /> class.
            </summary>
            <param name="connection">The Connection.</param>
            <param name="accessMethod">The access method.</param>
            <param name="valueFactory">The value factory.</param>
            <param name="defaultSettings">The default settings.</param>
            <param name="encoding">The Value/Handle ByName encoding.</param>
            <exception cref="T:System.ArgumentNullException">adsClient</exception>
            <exception cref="T:System.ObjectDisposedException">AdsClient</exception>
        </member>
        <member name="M:TwinCAT.Ads.ValueAccess.AdsValueAccessor.Finalize">
            <summary>
            Finalizes an instance of the <see cref="T:TwinCAT.Ads.ValueAccess.AdsValueAccessor"/> class.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.ValueAccess.AdsValueAccessor.disposed">
             <summary>
            Indicates that the <see cref="T:TwinCAT.Ads.ValueAccess.AdsValueAccessor"/> is disposed.
             </summary>
        </member>
        <member name="M:TwinCAT.Ads.ValueAccess.AdsValueAccessor.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.ValueAccess.AdsValueAccessor.Dispose(System.Boolean)">
            <summary>
            Releases unmanaged and - optionally - managed resources.
            </summary>
            <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
        </member>
        <member name="M:TwinCAT.Ads.ValueAccess.AdsValueAccessor.adsClient_AdsNotification(System.Object,TwinCAT.Ads.AdsNotificationEventArgs)">
            <summary>
            Handles the AdsNotification event of the adsClient control.
            </summary>
            <param name="sender">The source of the event.</param>
            <param name="e">The <see cref="T:TwinCAT.Ads.AdsNotificationEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:TwinCAT.Ads.ValueAccess.AdsValueAccessor.adsClient_AdsNotificationError(System.Object,TwinCAT.Ads.AdsNotificationErrorEventArgs)">
            <summary>
            Handles the AdsNotificationError event of the adsClient control.
            </summary>
            <param name="sender">The source of the event.</param>
            <param name="e">The <see cref="T:TwinCAT.Ads.AdsNotificationErrorEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:TwinCAT.Ads.ValueAccess.AdsValueAccessor.onAdsNotification(TwinCAT.TypeSystem.ISymbol,TwinCAT.Ads.AdsNotificationEventArgs)">
            <summary>
            Handler function for the AdsNotification
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="args">The <see cref="T:TwinCAT.Ads.AdsNotificationEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="P:TwinCAT.Ads.ValueAccess.AdsValueAccessor.Connection">
            <summary>
            Gets the ADS Connection
            </summary>
            <value>The client.</value>
        </member>
        <member name="F:TwinCAT.Ads.ValueAccess.AdsValueAccessor._address">
            <summary>
            The address (cached)
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.ValueAccess.AdsValueAccessor.TryReadValue(TwinCAT.TypeSystem.ISymbol,System.Byte[]@,System.DateTime@)">
            <summary>
            Reads a value from the specified ADS address
            </summary>
            <param name="symbol">The address.</param>
            <param name="value">Raw value</param>
            <param name="utcReadTime">The read time snapshot.</param>
            <returns>AdsErrorCode.</returns>
            <exclude />
        </member>
        <member name="M:TwinCAT.Ads.ValueAccess.AdsValueAccessor.TryReadSymbolic(TwinCAT.TypeSystem.ISymbol,System.Int32,System.Byte[],System.Int32@)">
            <summary>
            Tries to read the value by symbol
            </summary>
            <param name="address">The address.</param>
            <param name="numBytes">The number bytes.</param>
            <param name="value">The value.</param>
            <param name="read">Number of read bytes.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.ValueAccess.AdsValueAccessor.TryWriteSymbolic(TwinCAT.TypeSystem.ISymbol,System.Int32,System.Int32,System.Byte[])">
            <summary>
            Try to write the value symbolic.
            </summary>
            <param name="address">The address.</param>
            <param name="offset">The offset.</param>
            <param name="byteSize">Byte size.</param>
            <param name="value">The value.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.ValueAccess.AdsValueAccessor.TryInvokeRpcMethod(TwinCAT.TypeSystem.IInstance,TwinCAT.TypeSystem.IRpcMethod,System.Object[],TwinCAT.TypeSystem.AnyTypeSpecifier[],TwinCAT.TypeSystem.AnyTypeSpecifier,System.Object[]@,System.Object@,System.DateTime@)">
            <summary>
            Invokes the specified RPC Method.
            </summary>
            <param name="instance">The instance.</param>
            <param name="method">The method.</param>
            <param name="inParameters">The parameters.</param>
            <param name="outSpecifiers">The ANYTYPE out specifiers.</param>
            <param name="retSpecifier">The ANYTYPE return specifier.</param>
            <param name="outParameters">The out parameters.</param>
            <param name="returnValue">The return value.</param>
            <param name="utcInvokeTime">The invoke time snapshot (User Time, UTC).</param>
            <returns>AdsErrorCode.</returns>
            <exception cref="T:System.ArgumentNullException">instance</exception>
            <exception cref="T:System.ArgumentNullException">method</exception>
            <exception cref="T:TwinCAT.Ads.AdsException">Connection not established!</exception>
            <exception cref="T:System.ArgumentException">parameters</exception>
        </member>
        <member name="M:TwinCAT.Ads.ValueAccess.AdsValueAccessor.TryReadArrayElementValue(TwinCAT.TypeSystem.ISymbol,System.Int32[],System.Byte[]@,System.DateTime@)">
            <summary>
            Tries the read array element value.
            </summary>
            <param name="arraySymbol">The array symbol.</param>
            <param name="indices">The indices.</param>
            <param name="value">The value.</param>
            <param name="readTime">The read time snapshot.</param>
            <exception cref="T:System.ArgumentNullException">arraySymbol</exception>
            <exception cref="T:System.ArgumentException">Parameter 'arraySymbol' doesn't represent an array!;arraySymbol</exception>
            <exclude />
        </member>
        <member name="M:TwinCAT.Ads.ValueAccess.AdsValueAccessor.TryWriteValue(TwinCAT.TypeSystem.ISymbol,System.Byte[],System.Int32,System.DateTime@)">
            <summary>
            Tries to write the Value
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="value">The value.</param>
            <param name="offset">The offset.</param>
            <param name="utcWriteTime">The write time snapshot.</param>
            <exclude />
        </member>
        <member name="M:TwinCAT.Ads.ValueAccess.AdsValueAccessor.TryWriteArrayElementValue(TwinCAT.TypeSystem.ISymbol,System.Int32[],System.Byte[],System.Int32,System.DateTime@)">
            <summary>
            Tries the write array element value.
            </summary>
            <param name="arraySymbol">The array symbol.</param>
            <param name="indices">The indices.</param>
            <param name="value">The value.</param>
            <param name="valOffset">The value offset.</param>
            <param name="writeTime">The write time snapshot.</param>
            <exception cref="T:System.ArgumentNullException">arraySymbol</exception>
            <exception cref="T:System.ArgumentException">Parameter 'arraySymbol' doesn't represent an array!;arraySymbol
            or
            Value array size mismatch!;value</exception>
            <exclude />
        </member>
        <member name="M:TwinCAT.Ads.ValueAccess.AdsValueAccessor.calcAccessMethodByAddress(TwinCAT.TypeSystem.IProcessImageAddress)">
            <summary>
            Calculates the access method dependent on Symbol Type and <see cref="T:TwinCAT.Ads.ValueAccess.ValueAccessMode"/> setting.
            </summary>
            <param name="symbolAddress">The array symbol.</param>
            <returns>ValueAccessMethod.</returns>
        </member>
        <member name="M:TwinCAT.Ads.ValueAccess.AdsValueAccessor.OnRegisterNotification(TwinCAT.TypeSystem.ISymbol,TwinCAT.ValueAccess.SymbolNotificationType,TwinCAT.TypeSystem.INotificationSettings)">
            <summary>
            Registers a Notification on the <see cref="T:TwinCAT.TypeSystem.ISymbol" />.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="type">Type of Notification (Value, Raw or Both)</param>
            <param name="settings">The settings.</param>
            <exception cref="T:System.ArgumentNullException">
            symbol
            or
            settings
            </exception>
            <exclude />
            <remarks>Only one Notification is allowed on the symbol. On case of double announcement, we set the Notification parameters
            to the higher priority.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.ValueAccess.AdsValueAccessor.OnUnregisterNotification(TwinCAT.TypeSystem.ISymbol,TwinCAT.ValueAccess.SymbolNotificationType)">
            <summary>
            Unregisters a Notification from the <see cref="T:TwinCAT.TypeSystem.ISymbol" />.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="type">Type of Notification (Value, Raw or Both)</param>
            <exception cref="T:System.ArgumentNullException">symbol</exception>
            <exclude />
        </member>
        <member name="F:TwinCAT.Ads.ValueAccess.AdsValueAccessor._notificationStream">
            <summary>
            AdsStream for notification (dynamically resized)
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.ValueAccess.AdsValueAccessor.resizeNotificationStream(System.Int32)">
            <summary>
            Resizes the notification stream.
            </summary>
            <param name="length">The requested length of the stream in bytes.</param>
        </member>
        <member name="M:TwinCAT.Ads.ValueAccess.AdsValueAccessor.RegisterNotification(TwinCAT.TypeSystem.ISymbol,TwinCAT.ValueAccess.SymbolNotificationType,TwinCAT.Ads.NotificationSettings)">
            <summary>
            Registers the notification.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="type">The type.</param>
            <param name="settings">The settings.</param>
            <exception cref="T:System.ArgumentException">Symbol size exceeds 64K for notification!</exception>
        </member>
        <member name="M:TwinCAT.Ads.ValueAccess.AdsValueAccessor.UnregisterNotification(TwinCAT.TypeSystem.ISymbol,TwinCAT.ValueAccess.SymbolNotificationType)">
            <summary>
            Unregisters the notification.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="type">The type.</param>
            <returns><c>true</c> if handle is removed, <c>false</c> otherwise.</returns>
        </member>
        <member name="P:TwinCAT.Ads.ValueAccess.AdsValueAccessor.AccessMethod">
            <summary>
            Gets or sets the value access Method
            </summary>
            <value>The access method.</value>
        </member>
        <member name="M:TwinCAT.Ads.ValueAccess.AdsValueAccessor.TryReadAnyValue(TwinCAT.TypeSystem.ISymbol,System.Type,System.Object@,System.DateTime@)">
            <summary>
            Tries to read the value of the symbol and returns the value as instance of the specified type.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="valueType">The value type.</param>
            <param name="value">The value.</param>
            <param name="utcReadTime">The UTC read time.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.ValueAccess.AdsValueAccessor.TryUpdateAnyValue(TwinCAT.TypeSystem.ISymbol,System.Object@,System.DateTime@)">
            <summary>
            Tries to read the value of the symbol and updates the referenced value object with that data
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="valueObject">The value object.</param>
            <param name="utcReadTime">The UTC read time.</param>
        </member>
        <member name="M:TwinCAT.Ads.ValueAccess.AdsValueAccessor.TryWriteAnyValue(TwinCAT.TypeSystem.ISymbol,System.Object,System.DateTime@)">
            <summary>
            Tries to write the data within the value object as the symbol value.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="valueObject">The value object.</param>
            <param name="utcWriteTime">The UTC write time.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="T:TwinCAT.Ads.AmsNetId">
            <summary>
            AMS/ADS Net ID
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsNetId.netId">
            <summary>
            The net identifier
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetId.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.AmsNetId" /> class.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetId.#ctor(System.String)">
            <summary>
            Constructor
            </summary>
            <param name="netId">NetID as string</param>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetId.#ctor(System.Byte[])">
            <summary>
            Constructor
            </summary>
            <param name="netId">Net ID in bytes</param>
            <exception cref="T:System.ArgumentException">Not a valid NetId;netId</exception>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetId.#ctor(TwinCAT.Ads.AmsNetId)">
            <summary>
            Copy Constructor
            </summary>
            <param name="netId">Net Id.</param>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetId.ToString">
            <summary>
            Converts the netId to string
            </summary>
            <returns>A <see cref="T:System.String" /> that represents this instance.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetId.ToString(System.String,System.IFormatProvider)">
            <summary>
            Returns a <see cref="T:System.String" /> that represents this instance.
            </summary>
            <param name="format">The format.</param>
            <param name="formatProvider">The format provider.</param>
            <returns>A <see cref="T:System.String" /> that represents this instance.</returns>
            <exception cref="T:System.FormatException"></exception>
            <remarks><list type="table">
              <listheader>
                <term>Formatting</term>
                <description>Description</description>
              </listheader>
              <item>
                <term>g</term>
                <description>Standard formatting</description>
              </item>
              <item>
                <term>x</term>
                <description>Formatting as Hexadecimal (small letters)</description>
              </item>
              <item>
                <term>X</term>
                <description>Formatting as Hexadecimal (big letters)</description>
              </item>
            </list></remarks>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetId.ToBytes">
            <summary>
            Converts the NetId object to byte array
            </summary>
            <returns>System.Byte[].</returns>
        </member>
        <member name="P:TwinCAT.Ads.AmsNetId.IsLocal">
            <summary>
            Determines, whether the <see cref="T:TwinCAT.Ads.AmsNetId"/> is local.
            </summary>
            <value><c>true</c> if this instance is local; otherwise, <c>false</c>.</value>
            <remarks>Doesn't check for <see cref="P:TwinCAT.Ads.AmsNetId.LocalHost"/>.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetId.Clone">
            <summary>
            Clones the NetId
            </summary>
            <returns>The cloned <see cref="T:TwinCAT.Ads.AmsNetId" /></returns>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetId.GetNetIdString(System.Byte[])">
            <summary>
            Gets the netId string from the byte array
            </summary>
            <param name="netId">The net identifier.</param>
            <returns>System.String.</returns>
            <exclude />
        </member>
        <member name="P:TwinCAT.Ads.AmsNetId.Empty">
            <summary>
            Creates an empty NetId ("0.0.0.0.0.0")
            </summary>
            <value>The empty.</value>
        </member>
        <member name="P:TwinCAT.Ads.AmsNetId.LocalHost">
            <summary>
            Creates the local NetId ("127.0.0.1.1.1")
            </summary>
            <value>The local host.</value>
        </member>
        <member name="F:TwinCAT.Ads.AmsNetId._localNetId">
            <summary>
            The _local net identifier
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.AmsNetId.Local">
            <summary>
            Gets the Local Net ID (System service must be running)
            </summary>
            <value>The local.</value>
            <remarks>The system service must be running</remarks>
        </member>
        <member name="F:TwinCAT.Ads.AmsNetId.LocalValue">
            <summary>
            The local value
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsNetId.EmptyValue">
            <summary>
            The empty value
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsNetId.LocalHostValue">
            <summary>
            The local host value
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsNetId.RegularExpressionPattern">
            <summary>
            The regular expression pattern
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsNetId.regex">
            <summary>
            The regex
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetId.GetNetId(System.String)">
            <summary>
            Gets the net Id as byte array
            </summary>
            <param name="str">The string.</param>
            <returns>System.Byte[].</returns>
            <exception cref="T:System.FormatException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetId.GetNetBytes(System.Text.RegularExpressions.Match)">
            <summary>
            Gets the net bytes.
            </summary>
            <param name="match">The match.</param>
            <returns>System.Byte[].</returns>
            <exception cref="T:System.ArgumentNullException">match</exception>
            <exception cref="T:System.ArgumentException">Regular exception didn't match!;match</exception>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetId.GetNetId(System.Text.RegularExpressions.Match)">
            <summary>
            Gets the net identifier.
            </summary>
            <param name="match">The match.</param>
            <returns>AmsNetId.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetId.TryParse(System.String,TwinCAT.Ads.AmsNetId@)">
            <summary>
            Converts the string representation of the address to <see cref="T:TwinCAT.Ads.AmsNetId" />.
            </summary>
            <param name="str">The string to parse.</param>
            <param name="netId">The parsed <see cref="T:TwinCAT.Ads.AmsNetId" />.</param>
            <returns><c>true</c> if parsed, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetId.Parse(System.String)">
            <summary>
            Converts the string representation of the address to <see cref="T:TwinCAT.Ads.AmsNetId" />.
            </summary>
            <param name="str">The string to parse.</param>
            <returns>AmsNetId.</returns>
            <exception cref="T:System.FormatException">Format of AmsNetId is not valid!</exception>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetId.FromBinHexString(System.String)">
            <summary>
            Creates the <see cref="T:TwinCAT.Ads.AmsNetId" /> from bin hex string.
            </summary>
            <param name="str">The BinHex string.</param>
            <returns>AmsNetId.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetId.ToBinHex(TwinCAT.Ads.AmsNetId)">
            <summary>
            Converts the specified <see cref="T:TwinCAT.Ads.AmsNetId" /> to a BinHex string.
            </summary>
            <param name="netId">NetId to convert</param>
            <returns>System.String.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetId.ToBinHex">
            <summary>
            Converts the <see cref="T:TwinCAT.Ads.AmsNetId" /> to a BinHex string.
            </summary>
            <returns>System.String.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetId.NetIdsEqual(System.Byte[],System.Byte[])">
            <summary>
            Compares the NetIds
            </summary>
            <param name="netId1">NetID1</param>
            <param name="netId2">NetId2</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetId.NetIdsEqual(System.Byte[],System.Byte[],System.Boolean)">
            <summary>
            Compares the NetIds for SubID equality.
            </summary>
            <param name="netId1">NetID1</param>
            <param name="netId2">NetId2</param>
            <param name="ignoreSubID">Ignores the SubId part of the NetId (last 2 numbers/bytes).</param>
            <returns><c>true</c> if the SubIds are equal, <c>false</c> otherwise.</returns>
            <remarks>The first 4 numbers indicate the global ID of the AmsNetId. The last 2
            numbers indicate the (local) submodule.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetId.NetIdsEqual(System.Byte[])">
            <summary>
            Compares the netIds
            </summary>
            <param name="netId">NetId in bytes.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetId.IsSameTarget(TwinCAT.Ads.AmsNetId,TwinCAT.Ads.AmsNetId)">
            <summary>
            Determines whether the <see cref="T:TwinCAT.Ads.AmsNetId" />s refer to the same target.
            </summary>
            <param name="netIDA">NetID of target system A</param>
            <param name="netIDB">NetID of target system B</param>
            <returns><c>true</c> if the target systems are the same, otherwise <c>false</c>.</returns>
            <seealso cref="M:TwinCAT.Ads.AmsNetId.IsEqual(TwinCAT.Ads.AmsNetId,TwinCAT.Ads.AmsNetId)" />
            <remarks>In comparison to the <see cref="M:TwinCAT.Ads.AmsNetId.IsEqual(TwinCAT.Ads.AmsNetId,TwinCAT.Ads.AmsNetId)" /> or <see cref="M:TwinCAT.Ads.AmsNetId.Equals(System.Object)" /> methods, this Method alse
            checks against the LocalHost ID, which means that <see cref="P:TwinCAT.Ads.AmsNetId.LocalHost" /> is the same target as <see cref="P:TwinCAT.Ads.AmsNetId.Local" /></remarks>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetId.IsSameTarget(TwinCAT.Ads.AmsNetId,TwinCAT.Ads.AmsNetId,System.Boolean)">
            <summary>
            Determines whether the <see cref="T:TwinCAT.Ads.AmsNetId" />s refer to the same target.
            </summary>
            <param name="netIDA">NetID of target system A</param>
            <param name="netIDB">NetID of target system B</param>
            <param name="ignoreSubId">Indicates only to check the 4 parts of the address (for SubId check).</param>
            <returns><c>true</c> if the target systems are the same, otherwise <c>false</c>.</returns>
            <exception cref="T:System.ArgumentNullException">netIDA</exception>
            <exception cref="T:System.ArgumentNullException">netIDB</exception>
            <seealso cref="M:TwinCAT.Ads.AmsNetId.IsEqual(TwinCAT.Ads.AmsNetId,TwinCAT.Ads.AmsNetId)" />
            <remarks>In comparison to the <see cref="M:TwinCAT.Ads.AmsNetId.IsEqual(TwinCAT.Ads.AmsNetId,TwinCAT.Ads.AmsNetId)" /> or <see cref="M:TwinCAT.Ads.AmsNetId.Equals(System.Object)" /> methods, this Method alse
            checks against the LocalHost ID, which means that <see cref="P:TwinCAT.Ads.AmsNetId.LocalHost" /> is the same target as <see cref="P:TwinCAT.Ads.AmsNetId.Local" /></remarks>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetId.IsEqual(TwinCAT.Ads.AmsNetId,TwinCAT.Ads.AmsNetId)">
            <summary>
            Determines whether the specified <see cref="T:TwinCAT.Ads.AmsNetId" />s are equal.
            </summary>
            <param name="netIDA">The net IDA.</param>
            <param name="netIDB">The net IDB.</param>
            <returns><c>true</c> if the specified net IDA is equal; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetId.Equals(System.Object)">
            <summary>
            Equals
            </summary>
            <param name="obj">The object to compare with the current object.</param>
            <returns><c>true</c> if the specified <see cref="T:System.Object" /> is equal to this instance; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetId.op_Equality(TwinCAT.Ads.AmsNetId,TwinCAT.Ads.AmsNetId)">
            <summary>
            Operator==
            </summary>
            <param name="o1">The o1.</param>
            <param name="o2">The o2.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetId.op_Inequality(TwinCAT.Ads.AmsNetId,TwinCAT.Ads.AmsNetId)">
            <summary>
            Implements the != operator.
            </summary>
            <param name="o1">The o1.</param>
            <param name="o2">The o2.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetId.GetHashCode">
            <summary>
            Gets the HashCode of the Address
            </summary>
            <returns>A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetId.CompareTo(TwinCAT.Ads.AmsNetId)">
            <summary>
            Compares the current object with another object of the same type.
            </summary>
            <param name="other">An object to compare with this object.</param>
            <returns>A value that indicates the relative order of the objects being compared. The return value has the following meanings: Value Meaning Less than zero This object is less than the <paramref name="other" /> parameter.Zero This object is equal to <paramref name="other" />. Greater than zero This object is greater than <paramref name="other" />.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetId.CompareTo(System.Object)">
            <summary>
            Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object.
            </summary>
            <param name="obj">An object to compare with this instance.</param>
            <returns>A value that indicates the relative order of the objects being compared. The return value has these meanings: Value Meaning Less than zero This instance precedes <paramref name="obj" /> in the sort order. Zero This instance occurs in the same position in the sort order as <paramref name="obj" />. Greater than zero This instance follows <paramref name="obj" /> in the sort order.</returns>
        </member>
        <member name="T:TwinCAT.Ads.AmsNetIdConverter">
            <summary>
            Type Converter class for the <see cref="T:TwinCAT.Ads.AmsNetId" />.
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetIdConverter.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.AmsNetIdConverter"/> class.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetIdConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
            <summary>
            Returns whether this converter can convert an object of the given type to the type of this converter, using the specified context.
            </summary>
            <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext"/> that provides a format context.</param>
            <param name="sourceType">A <see cref="T:System.Type"/> that represents the type you want to convert from.</param>
            <returns>
            true if this converter can perform the conversion; otherwise, false.
            </returns>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetIdConverter.CanConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Type)">
            <summary>
            Returns whether this converter can convert the object to the specified type, using the specified context.
            </summary>
            <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext"/> that provides a format context.</param>
            <param name="destinationType">A <see cref="T:System.Type"/> that represents the type you want to convert to.</param>
            <returns>
            true if this converter can perform the conversion; otherwise, false.
            </returns>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetIdConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
            <summary>
            Converts the given object to the type of this converter, using the specified context and culture information.
            </summary>
            <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext"/> that provides a format context.</param>
            <param name="culture">The <see cref="T:System.Globalization.CultureInfo"/> to use as the current culture.</param>
            <param name="value">The <see cref="T:System.Object"/> to convert.</param>
            <returns>
            An <see cref="T:System.Object"/> that represents the converted value.
            </returns>
            <exception cref="T:System.NotSupportedException">
            The conversion cannot be performed.
            </exception>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetIdConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)">
            <summary>
            Converts the given value object to the specified type, using the specified context and culture information.
            </summary>
            <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext"/> that provides a format context.</param>
            <param name="culture">A <see cref="T:System.Globalization.CultureInfo"/>. If null is passed, the current culture is assumed.</param>
            <param name="value">The <see cref="T:System.Object"/> to convert.</param>
            <param name="destinationType">The <see cref="T:System.Type"/> to convert the <paramref name="value"/> parameter to.</param>
            <returns>
            An <see cref="T:System.Object"/> that represents the converted value.
            </returns>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="destinationType"/> parameter is null.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The conversion cannot be performed.
            </exception>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetIdConverter.GetStandardValues(System.ComponentModel.ITypeDescriptorContext)">
            <summary>
            Returns a collection of standard values for the data type this type converter is designed for when provided with a format context.
            </summary>
            <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext"/> that provides a format context that can be used to extract additional information about the environment from which this converter is invoked. This parameter or properties of this parameter can be null.</param>
            <returns>
            A <see cref="T:System.ComponentModel.TypeConverter.StandardValuesCollection"/> that holds a standard set of valid values, or null if the data type does not support a standard set of values.
            </returns>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetIdConverter.GetStandardValuesExclusive(System.ComponentModel.ITypeDescriptorContext)">
            <summary>
            Returns whether the collection of standard values returned from <see cref="M:System.ComponentModel.TypeConverter.GetStandardValues"/> is an exclusive list of possible values, using the specified context.
            </summary>
            <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext"/> that provides a format context.</param>
            <returns>
            true if the <see cref="T:System.ComponentModel.TypeConverter.StandardValuesCollection"/> returned from <see cref="M:System.ComponentModel.TypeConverter.GetStandardValues"/> is an exhaustive list of possible values; false if other values are possible.
            </returns>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetIdConverter.GetStandardValuesSupported(System.ComponentModel.ITypeDescriptorContext)">
            <summary>
            Returns whether this object supports a standard set of values that can be picked from a list, using the specified context.
            </summary>
            <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext"/> that provides a format context.</param>
            <returns>
            true if <see cref="M:System.ComponentModel.TypeConverter.GetStandardValues"/> should be called to find a common set of values the object supports; otherwise, false.
            </returns>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetIdConverter.IsValid(System.ComponentModel.ITypeDescriptorContext,System.Object)">
            <summary>
            Returns whether the given value object is valid for this type and for the specified context.
            </summary>
            <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext"/> that provides a format context.</param>
            <param name="value">The <see cref="T:System.Object"/> to test for validity.</param>
            <returns>
            true if the specified value is valid for this object; otherwise, false.
            </returns>
        </member>
        <member name="T:TwinCAT.Ads.AmsAddress">
            <summary>
            Ams/Ads Address
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsAddress.netId">
            <summary>
            The net id
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsAddress.port">
            <summary>
            The port
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AmsAddress.#ctor">
            <summary>
            Protected constructor
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AmsAddress.#ctor(TwinCAT.Ads.AmsAddress)">
            <summary>
            Copy constructor
            </summary>
            <param name="address">The address.</param>
        </member>
        <member name="M:TwinCAT.Ads.AmsAddress.#ctor(TwinCAT.Ads.AmsNetId,TwinCAT.Ads.AmsPort)">
            <summary>
            Constructor
            </summary>
            <param name="netId">The net identifier.</param>
            <param name="port">The port.</param>
        </member>
        <member name="M:TwinCAT.Ads.AmsAddress.#ctor(TwinCAT.Ads.AmsNetId,System.Int32)">
            <summary>
            Constructor
            </summary>
            <param name="netId">Net Id</param>
            <param name="port">Port</param>
        </member>
        <member name="M:TwinCAT.Ads.AmsAddress.#ctor(System.String,TwinCAT.Ads.AmsPort)">
            <summary>
            Constructor
            </summary>
            <param name="netId">The net identifier.</param>
            <param name="port">The port.</param>
        </member>
        <member name="M:TwinCAT.Ads.AmsAddress.#ctor(System.String,System.Int32)">
            <summary>
            Constructor
            </summary>
            <param name="netId">The net identifier.</param>
            <param name="port">The port.</param>
        </member>
        <member name="M:TwinCAT.Ads.AmsAddress.#ctor(System.Byte[],TwinCAT.Ads.AmsPort)">
            <summary>
            Constructor
            </summary>
            <param name="netId">The net identifier.</param>
            <param name="port">The port.</param>
        </member>
        <member name="M:TwinCAT.Ads.AmsAddress.#ctor(System.Byte[],System.Int32)">
            <summary>
            Constructor
            </summary>
            <param name="netId">The net identifier.</param>
            <param name="port">The port.</param>
        </member>
        <member name="M:TwinCAT.Ads.AmsAddress.#ctor(TwinCAT.Ads.AmsPort)">
            <summary>
            Constructor
            </summary>
            <param name="port">The port.</param>
        </member>
        <member name="M:TwinCAT.Ads.AmsAddress.#ctor(System.Int32)">
            <summary>
            Constructor
            </summary>
            <param name="port">The port.</param>
        </member>
        <member name="M:TwinCAT.Ads.AmsAddress.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.AmsAddress" /> class.
            </summary>
            <param name="str">The address coded as string (Format NetId:Port, 1.2.3.4.5.6:Port)</param>
        </member>
        <member name="P:TwinCAT.Ads.AmsAddress.NetId">
            <summary>
            Gets the NetId
            </summary>
            <value>The net identifier.</value>
        </member>
        <member name="P:TwinCAT.Ads.AmsAddress.Port">
            <summary>
            Gets the Port number
            </summary>
            <value>The port.</value>
        </member>
        <member name="M:TwinCAT.Ads.AmsAddress.Equals(System.Object)">
            <summary>
            Equals
            </summary>
            <param name="obj">The object to compare with the current object.</param>
            <returns><c>true</c> if the specified <see cref="T:System.Object" /> is equal to this instance; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AmsAddress.op_Equality(TwinCAT.Ads.AmsAddress,TwinCAT.Ads.AmsAddress)">
            <summary>
            Operator==
            </summary>
            <param name="o1">The o1.</param>
            <param name="o2">The o2.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AmsAddress.op_Inequality(TwinCAT.Ads.AmsAddress,TwinCAT.Ads.AmsAddress)">
            <summary>
            Implements the != operator.
            </summary>
            <param name="o1">The o1.</param>
            <param name="o2">The o2.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AmsAddress.GetHashCode">
            <summary>
            Gets the HashCode of the Address
            </summary>
            <returns>A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AmsAddress.ToString">
            <summary>
            Converts the Address to String 'NetId:Port'
            </summary>
            <returns>A <see cref="T:System.String" /> that represents this instance.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AmsAddress.Parse(System.String)">
            <summary>
            Parses a string to an <see cref="T:TwinCAT.Ads.AmsAddress" /> object.
            </summary>
            <param name="str">The string.</param>
            <returns>AmsAddress.</returns>
            <exception cref="T:System.FormatException"></exception>
        </member>
        <member name="F:TwinCAT.Ads.AmsAddress.RegularExpressionPattern">
            <summary>
            The regular expression pattern for <see cref="T:TwinCAT.Ads.AmsAddress" />
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsAddress.regex">
            <summary>
            The regex
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AmsAddress.TryParse(System.String,TwinCAT.Ads.AmsNetId@,System.Int32@)">
            <summary>
            Tries the parse.
            </summary>
            <param name="str">The string.</param>
            <param name="netId">The net identifier.</param>
            <param name="port">The port.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AmsAddress.TryParse(System.String,TwinCAT.Ads.AmsAddress@)">
            <summary>
            Tries to parse the <see cref="T:TwinCAT.Ads.AmsAddress" /> from string.
            </summary>
            <param name="str">The STR.</param>
            <param name="address">The address.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AmsAddress.GetPort(System.Text.RegularExpressions.Match)">
            <summary>
            Gets the port.
            </summary>
            <param name="match">The match.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AmsAddress.Clone">
            <summary>
            Clones this instance.
            </summary>
            <returns>AmsAddress.</returns>
        </member>
        <member name="T:TwinCAT.Ads.AmsNetIdMarshaller">
            <summary>
            Marshaller class for <see cref="T:TwinCAT.Ads.AmsNetId"/>.
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.AmsNetIdMarshaller.SizeOf">
            <summary>
            Gets the Marshalling size of <see cref="T:TwinCAT.Ads.AmsNetId"/>.
            </summary>
            <value>The size of.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.AmsNetIdMarshaller.MarshalSize">
            <summary>
            Gets the Marshalling size of <see cref="T:TwinCAT.Ads.AmsNetId"/>.
            </summary>
            <value>The size of.</value>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetIdMarshaller.Marshal(TwinCAT.Ads.AmsNetId)">
            <summary>
            Marshals the <see cref="T:TwinCAT.Ads.AmsNetId"/> to a byte[]
            </summary>
            <param name="netId">The net identifier.</param>
            <returns>System.Byte[].</returns>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetIdMarshaller.Marshal(TwinCAT.Ads.AmsNetId,System.IO.BinaryWriter)">
            <summary>
            Marshals/Write the the <see cref="T:TwinCAT.Ads.AmsNetId"/> into a <see cref="T:System.IO.BinaryWriter"/>.
            </summary>
            <param name="netId">The AmsNetId.</param>
            <param name="writer">The writer.</param>
            <returns>Number of marshalled bytes.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetIdMarshaller.Marshal(TwinCAT.Ads.AmsNetId,System.Byte[],System.Int32)">
            <summary>
            Marshals the <see cref="T:TwinCAT.Ads.AmsNetId" /> to memory/span.
            </summary>
            <param name="netId">The AmsNetId.</param>
            <param name="data">The data.</param>
            <param name="offset">The offset.</param>
            <returns>Number of marshalled bytes.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetIdMarshaller.Unmarshal(System.Byte[],System.Int32,TwinCAT.Ads.AmsNetId@)">
            <summary>
            Unmarshals a <see cref="T:TwinCAT.Ads.AmsNetId" /> from memory/span.
            </summary>
            <param name="buffer">The memory/span representation.</param>
            <param name="offset">The offset.</param>
            <param name="netId">'The returned <see cref="T:TwinCAT.Ads.AmsNetId" />.</param>
            <returns>Number of unmarshalled bytes.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AmsNetIdMarshaller.Unmarshal(System.IO.BinaryReader,TwinCAT.Ads.AmsNetId@)">
            <summary>
            Unmarshals an <see cref="T:TwinCAT.Ads.AmsNetId"/> from <see cref="T:System.IO.BinaryReader"/>
            </summary>
            <param name="reader">The reader.</param>
            <param name="netId">The net identifier.</param>
            <returns>The number of unmarshalled bytes.</returns>
        </member>
        <member name="T:TwinCAT.Ads.AmsAddressMarshaller">
            <summary>
            Class AmsAddressMarshaller.
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.AmsAddressMarshaller.SizeOf(TwinCAT.Ads.AmsAddress)">
            <summary>
            Sizes the of.
            </summary>
            <param name="address">The address.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="P:TwinCAT.Ads.AmsAddressMarshaller.MarshalSize">
            <summary>
            Sizes the of.
            </summary>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AmsAddressMarshaller.Marshal(TwinCAT.Ads.AmsAddress)">
            <summary>
            Marshals the specified address.
            </summary>
            <param name="address">The address.</param>
            <returns>System.Byte[].</returns>
        </member>
        <member name="T:TwinCAT.Ads.StateInfo">
            <summary>
            The structure contains the ADS state and device state.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.StateInfo.#ctor(TwinCAT.Ads.AdsState,System.Int16)">
            <summary>
            Initializes a new Instance of the StateInfo struct.
            </summary>
            <param name="adsState">Ads state.</param>
            <param name="deviceState">Device state.</param>
        </member>
        <member name="P:TwinCAT.Ads.StateInfo.AdsState">
            <summary>
            Gets or sets the ADS state of this <see cref="T:TwinCAT.Ads.StateInfo"/> object.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.StateInfo.DeviceState">
            <summary>
            Gets or sets the device state of this <see cref="T:TwinCAT.Ads.StateInfo"/> object.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.StateInfo.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object" /> is equal to this instance.
            </summary>
            <param name="ob">The <see cref="T:System.Object" /> to compare with this instance.</param>
            <returns><c>true</c> if the specified <see cref="T:System.Object" /> is equal to this instance; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.Ads.StateInfo.op_Equality(TwinCAT.Ads.StateInfo,TwinCAT.Ads.StateInfo)">
            <summary>
            Implements the ==.
            </summary>
            <param name="a">a.</param>
            <param name="b">The b.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:TwinCAT.Ads.StateInfo.op_Inequality(TwinCAT.Ads.StateInfo,TwinCAT.Ads.StateInfo)">
            <summary>
            Implements the !=.
            </summary>
            <param name="a">a.</param>
            <param name="b">The b.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:TwinCAT.Ads.StateInfo.Equals(TwinCAT.Ads.StateInfo)">
            <summary>
            Determines whether the specified <see cref="T:TwinCAT.Ads.StateInfo" /> is equal to this instance.
            </summary>
            <param name="info">The <see cref="T:TwinCAT.Ads.StateInfo" /> to compare with this instance.</param>
            <returns><c>true</c> if the specified <see cref="T:TwinCAT.Ads.StateInfo" /> is equal to this instance; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.Ads.StateInfo.GetHashCode">
            <summary>
            Returns a hash code for this instance.
            </summary>
            <returns>A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.</returns>
        </member>
        <member name="T:TwinCAT.Ads.DeviceInfo">
            <summary>
            The structure contains the name and the version information of the device.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.DeviceInfo.Name">
            <summary>
            Gets or sets the name of the device.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.DeviceInfo.Version">
            <summary>
            Gets or sets the version information.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.DeviceInfo.IsEmpty">
            <summary>
            Gets a value indicating whether this instance is empty.
            </summary>
            <value><c>true</c> if this instance is empty; otherwise, <c>false</c>.</value>
        </member>
        <member name="T:TwinCAT.Ads.AdsVersion">
            <summary>
            The structure contains the version number, revision number and build number.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AdsVersion.#ctor(System.Int32,System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.AdsVersion"/> struct.
            </summary>
            <param name="version">The version.</param>
            <param name="revision">The revision.</param>
            <param name="build">The build.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            version
            or
            revision
            </exception>
        </member>
        <member name="P:TwinCAT.Ads.AdsVersion.Version">
            <summary>
            Gets or sets the version number.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.AdsVersion.Revision">
            <summary>
            Gets or sets the revision number.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.AdsVersion.Build">
            <summary>
            Gets or sets the build number.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.AdsVersion.IsEmpty">
            <summary>
            Gets a value indicating whether this instance is empty / uninitialized.
            </summary>
            <value><c>true</c> if this instance is empty; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:TwinCAT.Ads.AdsVersion.ConvertToStandard">
            <summary>
            Converts this <see cref="T:TwinCAT.Ads.AdsVersion"/> to a .NET Framework <see cref="P:TwinCAT.Ads.AdsVersion.Version"/> object.
            </summary>
            <returns>Version.</returns>
        </member>
        <member name="T:TwinCAT.Ads.AdsVersionConverter">
            <summary>
            Converts the <see cref="T:TwinCAT.Ads.AdsVersion"/> type to <see cref="T:System.Version"/> and vice versa.
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.AdsVersionConverter.Convert(TwinCAT.Ads.AdsVersion)">
            <summary>
            Converts the <see cref="T:TwinCAT.Ads.AdsVersion"/> to <see cref="T:System.Version"/>
            </summary>
            <param name="adsVersion">The ads version.</param>
            <returns>Version.</returns>
        </member>
        <member name="M:TwinCAT.Ads.AdsVersionConverter.Convert(System.Version)">
            <summary>
            Converts the <see cref="T:System.Version"/> to <see cref="T:TwinCAT.Ads.AdsVersion"/>
            </summary>
            <param name="version">The version.</param>
            <returns>AdsVersion.</returns>
            <exception cref="T:System.ArgumentNullException">version</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Revision number not supported by AdsVersion object!</exception>
        </member>
        <member name="T:TwinCAT.Ads.AdsTransMode">
            <summary>
            ADS Transmission Mode for ADS Notifications.
            </summary>
            <remarks>
            The <see cref="T:TwinCAT.Ads.AdsTransMode"/> configures the registration of the <see cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/> at the
            server system and how the parameters of the
            <see cref="M:TwinCAT.Ads.TcAdsClient.AddDeviceNotification(System.String,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,TwinCAT.Ads.AdsTransMode,System.Int32,System.Int32,System.Object)"/>
            are interpreted.
            The following general scenarios are addressed:
            <list type="bullet"><item>Cyclic notifications.</item><item>Notifications on value change.</item><item>Server side and Client side notifications.</item><item>Binding of notifications to specific tasks.</item></list>
            <para>
            <para>In the default case the <see cref="F:TwinCAT.Ads.AdsTransMode.OnChange"/> or the <see cref="F:TwinCAT.Ads.AdsTransMode.Cyclic"/> (Server cycle) should be used.
            All other modes are side cases for special purposes.</para>
            More about the AdsNotifications: <a href="0fb21396-9448-45f0-9970-115c333627c5.htm">ADS Notification concept</a>.
            </para>
            </remarks>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotificationEx"/>
            <seealso cref="O:TwinCAT.Ads.TcAdsClient.AddDeviceNotification"/>
            <seealso cref="O:TwinCAT.Ads.TcAdsClient.AddDeviceNotificationEx"/>
        </member>
        <member name="F:TwinCAT.Ads.AdsTransMode.None">
            <summary>
            None / Uninitalized transport mode.
            No <see cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/> event is fired.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsTransMode.ClientCycle">
            <summary>
            Client triggered cyclic <see cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/> event.
            The <see cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/> event is fired cyclically triggered from the client side.
            Polling is used from the User Application to read values, before they are fired as Notifications.
            <para>Client side triggering has the following consequences:
            <list type="bullet"><item>The realtime environment on the server side will be less stressed (expecially the mailbox queue).</item><item>Value requests are serialized one after another and are handled slower (synchronouly, not asynchronously)</item><item>Implicit synchronization of the events into the UI Thread.</item></list></para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsTransMode.ClientOnChange">
            <summary>
            The <see cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/> event is fired when data changes triggered by the client.
            The <see cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/> event is fired on-change triggered from the client side.
            Polling is used from the User Application to read values, before they are fired as Notifications.
            Client side triggering has the following consequences:
            <list type="bullet">
            <item><description>The realtime environment on the server side will be less stressed (expecially the mailbox queue).</description></item>
            <item><description>Value requests are serialized one after another and are handled slower (synchronouly, not asynchronously)</description>.</item>
            <item><description>Implicit synchronization of the events into the UI Thread.</description></item>
            </list>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsTransMode.Cyclic">
            <summary>
              <para>
            The <see cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/> event is fired cyclically.</para>
              <para>
            The Notification will be registered on the ADS Server side for a cyclical trigger (dependant on time parameter) and is bound
            to the 'default' task of the addressed target. In case of the PLC target (e.g. Port 851) the default
            task is the first configured task.</para>
            <para>
            Each time the 'default' task has finished its cycle the realtime system will check for the expired cycle time
            and sends the <see cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/> message on expiry.</para>
            <para>The used ContextMask for the 'default' task is 0.
            </para>
            <para>
            <strong>Please be aware, that server side 'Change' notifications stress the realtime system and should be handled with care.
            Therefore, dependent of the cycle time of the task and the capabilities of the system only a limited set of Cyclic Notifications should be used!
            </strong>
            </para>
            <para>A system limit for server side notification registrations is 1024.</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsTransMode.OnChange">
            <summary>
            <para>
            On-Change <see cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/> event.</para>
            <para>The Notification will be registered on the ADS Server side for an on-change and optional cyclical trigger (dependant on parameters) and is bound
            to the 'default' task of the addressed target. In case of the PLC target (e.g. Port 851) the default
            task is the first configured task.
            </para>
            <para>Each time this task has finished its cycle the realtime system will check for the changed value and an optional expired cycle time
            and sends the <see cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/> message on change or expiry.</para>
            <para>The used ContextMask for the 'default' task is 0.</para>
            <para>
            <strong>Please be aware, that server side 'OnChange' notifications stress the realtime system / the default task with value comparisons.
            Therefore, dependent of the cycle time of the task and the capabilities of the system a higher amount of notification registrations should be handled with care !
            </strong>
            </para>
            <para>A system limit for server side notification registrations is 1024.</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsTransMode.CyclicInContext">
            <summary>
              <para>
            The <see cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/> event is fired cyclically within the given task context.</para>
              <para>A Value of parameter is interpreted as task context number <see cref="P:TwinCAT.Ads.ITcAdsSymbol2.ContextMask"/>. This can be important, if
            the notifications have to be synchron with specific tasks, but should not be used in the default case.</para>
              <para>The Notification will be registered on the ADS Server side for a cyclical trigger (dependant on time parameter) and is bound
            to the task specified by the ContextMask of the addressed target. In case of the PLC target (e.g. Port 851)
            the ContextMask is the Index of the global TASKINFOARRAY - 1.
            </para>
              <para>Each time this task has finished its cycle the realtime system will check for the expired cycle time
            and sends the <see cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/> message on expiry.
            </para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsTransMode.OnChangeInContext">
            <summary>
              <para>
            The <see cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/> event is fired when the data changes within the given task context.</para>
              <para>A
            Value of parameter is interpreted as task context number <see cref="P:TwinCAT.Ads.ITcAdsSymbol2.ContextMask"/>. This can be important, if
            the notifications have to be synchron with specific tasks, but should not be used in the default case.</para>
              <para>The Notification will be registered on the ADS Server side for an on-change and optional cyclical trigger (dependant on parameters) and is bound
            to the task specified by the ContextMask of the addressed target. In case of the PLC target (e.g. Port 851)
            the ContextMask is the Index of the global TASKINFOARRAY - 1.
            Each time this task has finished its cycle the realtime system will check for the changed value and an optional expired cycle time
            and sends the <see cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/> message on change or expiry.</para>
              <para>
                <b>
                  <strong>Please be aware, that server side 'OnChange' notifications stress the realtime system / the default task with value comparisons.
            Therefore, dependent of the cycle time of the task and the capabilities of the system only a limited set of OnChange Notifications should be used!
            </strong>
                </b>
              </para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsTransMode.Client1Req">
            <summary>
            The client1 req 
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.AdsTransMode.CyclicC0">
            <summary>
            The <see cref="E:TwinCAT.Ads.IAdsNotifications.AdsNotification"/> event is fired cyclically. Same as 'Cyclic'.
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.AdsTransMode.CyclicC1">
            <summary>
            The <see cref="E:TwinCAT.Ads.IAdsNotifications.AdsNotification"/> event is fired cyclically.
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.AdsTransMode.CyclicC2">
            <summary>
            The <see cref="E:TwinCAT.Ads.IAdsNotifications.AdsNotification"/> event is fired cyclically.
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.AdsTransMode.CyclicC3">
            <summary>
            The <see cref="E:TwinCAT.Ads.IAdsNotifications.AdsNotification"/> event is fired cyclically.
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.AdsTransMode.CyclicC4">
            <summary>
            The <see cref="E:TwinCAT.Ads.IAdsNotifications.AdsNotification"/> event is fired cyclically.
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.AdsTransMode.CyclicC5">
            <summary>
            The <see cref="E:TwinCAT.Ads.IAdsNotifications.AdsNotification"/> event is fired cyclically.
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.AdsTransMode.CyclicC6">
            <summary>
            The <see cref="E:TwinCAT.Ads.IAdsNotifications.AdsNotification"/> event is fired cyclically.
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.AdsTransMode.CyclicC7">
            <summary>
            The <see cref="E:TwinCAT.Ads.IAdsNotifications.AdsNotification"/> event is fired cyclically.
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.AdsTransMode.CyclicC8">
            <summary>
            The <see cref="E:TwinCAT.Ads.IAdsNotifications.AdsNotification"/> event is fired cyclically.
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.AdsTransMode.CyclicC9">
            <summary>
            The <see cref="E:TwinCAT.Ads.IAdsNotifications.AdsNotification"/> event is fired cyclically.
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.AdsTransMode.CyclicC10">
            <summary>
            The <see cref="E:TwinCAT.Ads.IAdsNotifications.AdsNotification"/> event is fired cyclically.
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.AdsTransMode.CyclicC11">
            <summary>
            The A<see cref="E:TwinCAT.Ads.IAdsNotifications.AdsNotification"/> event is fired cyclically.
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.AdsTransMode.CyclicC12">
            <summary>
            The <see cref="E:TwinCAT.Ads.IAdsNotifications.AdsNotification"/> event is fired cyclically.
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.AdsTransMode.CyclicC13">
            <summary>
            The <see cref="E:TwinCAT.Ads.IAdsNotifications.AdsNotification"/> event is fired cyclically.
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.AdsTransMode.CyclicC14">
            <summary>
            The <see cref="E:TwinCAT.Ads.IAdsNotifications.AdsNotification"/> event is fired cyclically.
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.AdsTransMode.CyclicC15">
            <summary>
            The <see cref="E:TwinCAT.Ads.IAdsNotifications.AdsNotification"/> event is fired cyclically.
            </summary>
            <exclude/>
        </member>
        <member name="T:TwinCAT.Ads.AmsRouterState">
            <summary>
            State of the AMS Router.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsRouterState.Unknown">
            <summary>
            Unknown Router State
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsRouterState.Stop">
            <summary>
            AMS Router is stopped.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsRouterState.Start">
            <summary>
            AMS Router is started.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsRouterState.Removed">
            <summary>
            AMS Router has been removed.
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.AmsPort">
            <summary>
            AmsPorts
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.Router">
            <summary>
            AMS Router (Port 1)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.Debugger">
            <summary>
            AMS Debugger (Port 2)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R0_TComServer">
            <summary>
            The TCom Server. Dpc or passive level.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R0_TComServerTask">
            <summary>
            TCom Serve Task. RT context.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R0_TComServer_PL">
            <summary>
            TCom Serve Task. Passive level.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R0_TcDebugger">
            <summary>
            TwinCAT Debugger
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R0_TcDebuggerTask">
            <summary>
            TwinCAT Debugger Task
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R0_LicenseServer">
            <summary>
            The License Server (Port 30)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.Logger">
            <summary>
            Logger (Port 100)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.EventLog">
            <summary>
            Event Logger (Port 110)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.DeviceApplication">
            <summary>
            application for coupler (EK), gateway (EL), etc.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.EventLog_UM">
            <summary>
            Event Logger UM
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.EventLog_RT">
            <summary>
            Event Logger RT
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.EventLogPublisher">
            <summary>
            Event Logger Publisher
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R0_Realtime">
            <summary>
            R0 Realtime (Port 200)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R0_Trace">
            <summary>
            R0 Trace (Port 290)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R0_IO">
            <summary>
            R0 IO (Port 300)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R0_NC">
            <summary>
            NC (R0) (Port 500)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R0_NCSAF">
            <summary>
            R0 Satzausführung (Port 501)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R0_NCSVB">
            <summary>
            R0 Satzvorbereitung (Port 511)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R0_NCINSTANCE">
            <summary>
            Preconfigured Nc2-Nc3-Instance
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R0_ISG">
            <summary>
            R0 ISG (Port 550)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R0_CNC">
            <summary>
            R0 CNC (Port 600)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R0_LINE">
            <summary>
            R0 Line (Port 700)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R0_PLC">
            <summary>
            R0 PLC (Port 800)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.PlcRuntime1">
            <summary>
            Obsolete
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.Tc2_Plc1">
            <summary>
            Tc2 PLC RuntimeSystem 1 (Port 801)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.PlcRuntime2">
            <summary>
            Obsolete
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.Tc2_Plc2">
            <summary>
            Tc2 PLC RuntimeSystem 2 (Port 811)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.PlcRuntime3">
            <summary>
            Obsolete
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.Tc2_Plc3">
            <summary>
            Tc2 PLC RuntimeSystem 3 (Port 821)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.PlcRuntime4">
            <summary>
            Obsolete
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.Tc2_Plc4">
            <summary>
            Tc2 PLC RuntimeSystem 4 (Port 831)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R0_RTS">
            <summary>
            R0 RTS (Port 850)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.CamshaftController">
            <summary>
            Camshaft Controller (R0) (Port 900)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R0_CAMTOOL">
            <summary>
            R0 CAM Tool (Port 950)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R0_USER">
            <summary>
            R0 User (Port 2000)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.SystemService">
            <summary>
            System Service (AMSPORT_R3_SYSSERV, 10000)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R3_CTRLPROG">
            <summary>
            (Port 10000)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R3_SYSCTRL">
            <summary>
            (Port 10001)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R3_SYSSAMPLER">
            <summary>
            Port 10100
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R3_TCPRAWCONN">
            <summary>
            Port 10200
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R3_TCPIPSERVER">
            <summary>
            Port 10201
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R3_SYSMANAGER">
            <summary>
            Port 10300
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R3_SMSSERVER">
            <summary>
            Port 10400
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R3_MODBUSSERVER">
            <summary>
            Port 10500
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R3_AMSLOGGER">
            <summary>
            Port 10502
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R3_S7SERVER">
            <summary>
            Port 10600
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R3_XMLDATASERVER">
            <summary>
            Port 10600
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R3_AUTOCONFIG">
            <summary>
            Port 10700
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R3_PLCCONTROL">
            <summary>
            Port 10800
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R3_FTPCLIENT">
            <summary>
            Port 10900
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R3_NCCTRL">
            <summary>
            Port 11000
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R3_NCINTERPRETER">
            <summary>
            Port 11500
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R3_GSTINTERPRETER">
            <summary>
            Port 11600
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R3_STRECKECTRL">
            <summary>
            Port 12000
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R3_CAMCTRL">
            <summary>
            Port 13000
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R3_SCOPE">
            <summary>
            Port 14000
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R3_CONDITIONMON">
            <summary>
            Port 14100
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R3_SINECH1">
            <summary>
            Port 15000
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R3_CONTROLNET">
            <summary>
            Port 16000
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R3_OPCSERVER">
            <summary>
            Port 17000
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R3_OPCCLIENT">
            <summary>
            Port 17500
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R3_MAILSERVER">
            <summary>
            Port 18000
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R3_EL60XX">
            <summary>
            Port 19000
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R3_MANAGEMENT">
            <summary>
            Port 19100
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R3_MIELEHOME">
            <summary>
            Port 19200
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R3_CPLINK3">
            <summary>
            Port 19300
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.R3_VNSERVICE">
            <summary>
            Port 19500
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AmsPort.USEDEFAULT">
             <summary>
            
             </summary>
        </member>
        <member name="T:TwinCAT.Ads.AdsState">
            <summary>
            Describes the AdsState.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsState.Invalid">
             <summary>
            Invalid
             </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsState.Idle">
            <summary>
            Idle
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsState.Reset">
            <summary>
            Reset
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsState.Init">
            <summary>
            Initialize
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsState.Start">
            <summary>
            Start
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsState.Run">
            <summary>
            Run
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsState.Stop">
            <summary>
            Stop
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsState.SaveConfig">
            <summary>
            Save Configuration
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsState.LoadConfig">
            <summary>
            Load Configuration
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsState.PowerFailure">
            <summary>
            Power failure
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsState.PowerGood">
            <summary>
            Power Good
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsState.Error">
            <summary>
            Error
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsState.Shutdown">
            <summary>
            Shutdown
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsState.Suspend">
            <summary>
            Suspend
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsState.Resume">
            <summary>
            Resume
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsState.Config">
            <summary>
            Config (System is in config mode)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsState.Reconfig">
            <summary>
            Reconfig (System should restart in config mode)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsState.Stopping">
            <summary>
            Stopping
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsState.Incompatible">
            <summary>
            Incompatible
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsState.Exception">
            <summary>
            Exception
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsState.Maxstates">
            <summary>
            Maxstates (no valid state)
            </summary>
            <exclude/>
        </member>
        <member name="T:TwinCAT.Ads.AdsReservedIndexGroups">
            <summary>
            Describes predefined Index-Groups.
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.AdsReservedIndexGroups.PlcRWIB">
            <summary>
            PlcRWIB (0x4000, 16384)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsReservedIndexGroups.PlcRWOB">
            <summary>
            PlcRWOB (0x4010, 16400)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsReservedIndexGroups.PlcRWMB">
            <summary>
            PlcRWMB (0x4020, 16416)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsReservedIndexGroups.PlcRWRB">
            <summary>
            PlcRWRB (0x4030, 16432)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsReservedIndexGroups.PlcRWDB">
            <summary>
            PlcRWDB (0x4040,16448)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsReservedIndexGroups.SymbolTable">
            <summary>
            SymbolTable (0xF000, 61440)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsReservedIndexGroups.SymbolName">
            <summary>
            SymbolName (0xF001, 61441)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsReservedIndexGroups.SymbolValue">
            <summary>
            SymbolValue (0xF002, 61442)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsReservedIndexGroups.SymbolHandleByName">
            <summary>
            SymbolHandleByName (0xF003, 61443)
            </summary>
            <remarks>
            readLength == 4: handle
            readLength > 4: handle(4) + var size(4) + type decoration(4) +
                            type name length(2) + type name(n) + '\0'(1)
            </remarks>
        </member>
        <member name="F:TwinCAT.Ads.AdsReservedIndexGroups.SymbolValueByName">
            <summary>
            SymbolValueByName (0xF004, 61444)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsReservedIndexGroups.SymbolValueByHandle">
            <summary>
            SymbolValueByHandle (0xF005, 61445)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsReservedIndexGroups.SymbolReleaseHandle">
            <summary>
            SymbolReleaseHandle (0xF006, 61446)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsReservedIndexGroups.SymbolInfoByName">
            <summary>
            SymbolInfoByName (0xF007, 61447)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsReservedIndexGroups.SymbolVersion">
            <summary>
            SymbolVersion (0xF008, 61448)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsReservedIndexGroups.SymbolInfoByNameEx">
            <summary>
            SymbolInfoByNameEx (0xF009, 61449)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsReservedIndexGroups.SymbolDownload">
            <summary>
            SymbolDownload (F00A, 61450)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsReservedIndexGroups.SymbolUpload">
            <summary>
            SymbolUpload (F00B, 61451)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsReservedIndexGroups.SymbolUploadInfo">
            <summary>
            SymbolUploadInfo (0xF00C, 61452)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsReservedIndexGroups.SymbolNote">
            <summary>
            Notification of named handle (0xF010, 61456)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsReservedIndexGroups.IOImageRWIB">
            <summary>
            read/write input byte(s) (0xF020, 61472)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsReservedIndexGroups.IOImageRWIX">
            <summary>
            read/write input bit (0xF021, 61473)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsReservedIndexGroups.IOImageRWOB">
            <summary>
            read/write output byte(s) (0xF030, 61488)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsReservedIndexGroups.IOImageRWOX">
            <summary>
            read/write output bit (0xF031, 61489)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsReservedIndexGroups.IOImageClearI">
            <summary>
            write inputs to null (0xF040, 61504)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsReservedIndexGroups.IOImageClearO">
            <summary>
            write outputs to null (0xF050, 61520)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsReservedIndexGroups.SumCommandRead">
            <summary>
            ADS Sum Read Command (ADSIGRP_SUMUP_READ, 0xF080, 61568)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsReservedIndexGroups.SumCommandWrite">
            <summary>
            ADS Sum Write Command (ADSIGRP_SUMUP_WRITE, 0xF081, 61569)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsReservedIndexGroups.SumCommandReadWrite">
            <summary>
            ADS sum Read/Write command (ADSIGRP_SUMUP_READWRITE, 0xF082, 61570)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsReservedIndexGroups.SumCommandReadEx">
            <summary>
            ADS sum ReadEx command (ADSIGRP_SUMUP_READEX, 0xF083, 61571)
            AdsRW  IOffs list size 
            W: {list of IGrp, IOffs, Length} 
            R: {list of results, Length} followed by {list of data (expepted lengths)}
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsReservedIndexGroups.SumCommandReadEx2">
            <summary>
            ADS sum ReadEx2 command (ADSIGRP_SUMUP_READEX2, 0xF084, 61572)
            AdsRW  IOffs list size 
            W: {list of IGrp, IOffs, Length} 
            R: {list of results, Length} followed by {list of data (returned lengths)}
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsReservedIndexGroups.SumCommandAddDevNote">
            <summary>
            ADS sum AddDevNote command (ADSIGRP_SUMUP_ADDDEVNOTE, 0xF085, 61573)
            AdsRW  IOffs list size
            W: {list of IGrp, IOffs, Attrib} 
            R: {list of results, handles}
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsReservedIndexGroups.SumCommandDelDevNote">
            <summary>
            ADS sum DelDevNot command (ADSIGRP_SUMUP_DELDEVNOTE, 0xF086, 61574)
            AdsRW  IOffs list size
            W: {list of handles} 
            R: {list of results}
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsReservedIndexGroups.DeviceData">
            <summary>
            DeviceData (0xF100,61696)
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.AdsReservedIndexOffsets">
            <summary>
            Describes predefined Index-Offsets.
            </summary>
            <exclude/>"
        </member>
        <member name="F:TwinCAT.Ads.AdsReservedIndexOffsets.DeviceDataAdsState">
            <summary>
            Device Data ADS State
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsReservedIndexOffsets.DeviceDataDeviceState">
            <summary>
            DeviceDataDeviceState
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsReservedIndexOffsets.DeviceDataConfigID">
            <summary>
            DeviceDataConfigID
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsReservedIndexOffsets.DeviceDataAdsVersionCheck">
            <summary>
            DeviceDataAdsVersionCheck
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.AdsErrorCode">
            <summary>
            Describes the ADS error that occured.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.NoError">
            <summary>
            No Error.
            <para>Error code: 0(0x000).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.InternalError">
            <summary>
            Internal Error.
            <para>Error code: 1(0x001).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.NoRTime">
            <summary>
            No Rtime.
            <para>Error code: 2(0x002).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.LockedMemoryError">
            <summary>
            Allocation locked memory error.
            <para>Error code: 3(0x003).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.MailBoxError">
            <summary>
            Insert mailbox error.
            <para>Error code: 4(0x004).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.WrongHMsg">
            <summary>
            Wrong receive HMSG.
            <para>Error code: 5(0x005).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.TargetPortNotFound">
            <summary>
            Target port not found.
            <para>Error code: 6(0x006).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.TargetMachineNotFound">
            <summary>
            Target machine not found.
            <para>Error code: 7(0x007).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.UnknownCommandID">
            <summary>
            Unknown command ID.
            <para>Error code: 8(0x008).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.BadTaskID">
            <summary>
            Bad task ID.
            <para>Error code: 9(0x009).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.NoIO">
            <summary>
            No IO.
            <para>Error code: 10(0x00A).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.UnknwonAmsCommand">
            <summary>
            Unknown AMS command.
            <para>Error code: 11(0x00B).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.Win32Error">
            <summary>
            Win 32 error.
            <para>Error code: 12(0x00C).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.PortNotConnected">
            <summary>
            Port is not connected.
            <para>Error code: 13(0x00D).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.InvalidAmsLength">
            <summary>
            Invalid AMS length.
            <para>Error code: 14(0x00E).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.InvalidAmsNetID">
            <summary>
            Invalid AMS Net ID.
            <para>Error code: 15(0x00F).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.LowInstallLevel">
            <summary>
            Low Installation level.
            <para>Error code: 16(0x010).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.NoDebug">
            <summary>
            No debug available.
            <para>Error code: 17(0x011).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.PortDisabled">
            <summary>
            Port disabled.
            <para>Error code: 18(0x012).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.PortConnected">
            <summary>
            Port is already connected.
            <para>Error code: 19(0x013).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.AmsSyncWin32Error">
            <summary>
            AMS Sync Win32 error.
            <para>Error code: 20(0x014).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.SyncTimeOut">
            <summary>
            AMS Sync timeout.
            <para>Error code: 21(0x015).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.AmsSyncAmsError">
            <summary>
            AMS Sync AMS error
            <para>Error code: 22(0x016).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.AmsSyncNoIndexMap">
            <summary>
            AMS Sync no index map.
            <para>Error code: 23(0x017).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.InvalidAmsPort">
            <summary>
            Invalid AMS port.
            <para>Error code: 24(0x018).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.NoMemory">
            <summary>
            No memory.
            <para>Error code: 25(0x019).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.TCPSendError">
            <summary>
            TCP send error.
            <para>Error code: 26(0x01A).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.HostUnreachable">
            <summary>
            Host unreachable.
            <para>Error code: 27(0x1B).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.AmsInvalidFragment">
            <summary>
            Invalid AMS fragment.
            <para>Error code: 28(0x1C).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.NoLockedMemory">
            <summary>
            Router: no locked memory.
            <para>Error code: 1280(0x500).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.ResizeMemory">
            <summary>
            Router: The size of the  router memory could not be changed.
            <para>Error code: 1281(0x501).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.MailboxFull">
            <summary>
            Router: mailbox full.
            <para>Error code: 1282(0x502).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DebugBoxFull">
            <summary>
            Router: The mailbox has reached the maximum number of possible messages.
            <para>Error code: 1283(0x503).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.UnknownPortType">
            <summary>
            Router: Unknown Port Type
            <para>Error code: 1284(0x504).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.RouterNotInitialized">
            <summary>
            Router: Router is not initialized.
            <para>Error code: 1285(0x505).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.PortAlreadyInUse">
            <summary>
            Router: The desired port number is already assigned.
            <para>Error code: 1286(0x506).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.PortNotRegistered">
            <summary>
            Router: Port not registered.
            <para>Error code: 1287(0x507).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.NoMoreQueues">
            <summary>
            Router: The maximum number of Ports reached.
            <para>Error code: 1288(0x508).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.InvalidPort">
            <summary>
            Router: The port is invalid.
            <para>Error code: 1289(0x509).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.RouterNotActive">
            <summary>
            Router:  TwinCAT Router not active.
            <para>Error code: 1290(0x50A).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceError">
            <summary>
            error class &lt;device error"&gt;
            <para>Error code: 1792(0x700).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceServiceNotSupported">
            <summary>
            Service is not supported by server.
            <para>Error code: 1793(0x701).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceInvalidGroup">
            <summary>
            Invalid index group.
            <para>Error code: 1794(0x702).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceInvalidOffset">
            <summary>
            Invalid index offset.
            <para>Error code: 1795(0x703).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceInvalidAccess">
            <summary>
            Reading/writing not permitted.
            <para>Error code: 1796(0x704).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceInvalidSize">
            <summary>
            Parameter size not correct.
            <para>Error code: 1797(0x705).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceInvalidData">
            <summary>
            Invalid parameter value(s).
            <para>Error code: 1798(0x706).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceNotReady">
            <summary>
            Device is not in a ready state.
            <para>Error code: 1799(0x707).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceBusy">
            <summary>
            Device is busy.
            <para>Error code: 1800(0x708).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceInvalidContext">
            <summary>
            Invalid context (must be in Windows).
            <para>Error code: 1801(0x709).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceNoMemory">
            <summary>
            Out of memory.
            <para>Error code: 1802(0x70a).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceInvalidParam">
            <summary>
            Invalid parameter value(s).
            <para>Error code: 1803(0x70b).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceInavlidParam">
            <summary>
            Obsolete
            <para>Error code: 1803(0x70b).</para>
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceNotFound">
            <summary>
            Not found(files, ...).
            <para>Error code: 1804(0x70c).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceSyntaxError">
            <summary>
            Syntax error in command or file.
            <para>Error code: 1805(0x70d).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceIncompatible">
            <summary>
            Objects do not match.
            <para>Error code: 1806(0x70e).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceExists">
            <summary>
            Object already exists.
            <para>Error code: 1807(0x70f).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceSymbolNotFound">
            <summary>
            Symbol not found.
            <para>Error code: 1808(0x7010).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceSymbolVersionInvalid">
            <summary>
            Symbol version is invalid.
            <para>Error code: 1809(0x711).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceInvalidState">
            <summary>
            Server is not i a valid state.
            <para>Error code: 1810(0x712).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceTransModeNotSupported">
            <summary>
            ADS transmode is not supported.
            <para>Error code: 1811(0x713).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceNotifyHandleInvalid">
            <summary>
            Notification handle is invalid.
            <para>Error code: 1812(0x714).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceClientUnknown">
            <summary>
            Notification vlient not registered.
            <para>Error code: 1813(0x715).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceNoMoreHandles">
            <summary>
            No more notification handles.
            <para>Error code: 1814(0x716).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceInvalidWatchsize">
            <summary>
            Size for watch to big.
            <para>Error code: 1815(0x717).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceNotInitialized">
            <summary>
            Device is not initialized.
            <para>Errocr code: 1818(0x718).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceTimeOut">
            <summary>
            Devicee has a timeout.
            <para>Error code: 1817(0x719).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceNoInterface">
            <summary>
            Query interface has failed.
            <para>Error code: 1818(0x71A).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceInvalidInterface">
            <summary>
            Wrong interface required.
            <para>Error code: 1819(0x71B).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceInvalidCLSID">
            <summary>
            Class ID is invalid.
            <para>Error code: 1820(0x71C).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceInvalidObjectID">
            <summary>
            Object ID is invalid.
            <para>Error code: 1821(0x71D).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceRequestIsPending">
            <summary>
            Device: Request is Pending.
            <para>Error code: 1822(0x71E).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceRequestIsAborted">
            <summary>
            Device: Request is Aborted.
            <para>Error code: 1823(0x71F).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceSignalWarning">
            <summary>
            Device: Signal warning.
            <para>Error code: 1824(0x720).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceInvalidArrayIndex">
            <summary>
            Device: Invalid Array Index (ADSERR_DEVICE_INVALIDARRAYIDX)
            <para>Error code: 1825(0x721).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceSymbolNotActive">
            <summary>
            Device: Symbol not Active
            <para>Error code: 1826(0x722).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceAccessDenied">
            <summary>
            Device: Access denied.
            <para>Error code: 1827(0x723).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceMissingLicense">
            <summary>
            Device: Missing license
            <para>Error code: 1828(0x724).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceLicenseNotFound">
            <summary>
            Device: license not found
            <para>Error code: 1828(0x724).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceLicenseExpired">
            <summary>
            Device: license expired
            <para>Error code: 1829(0x725).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceLicenseExceeded">
            <summary>
            Device: license exceeded
            <para>Error code: 1830(0x726).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceLicenseInvalid">
            <summary>
            Device: license invalid 
            <para>Error code: 1831(0x727).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceLicenseSystemId">
            <summary>
            Device: license invalid system id
            <para>Error code: 1832(0x728).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceLicenseNoTimeLimit">
            <summary>
            Device: license not time limited
            <para>Error code: 1833(0x729).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceLicenseFutureIssue">
            <summary>
            Device: license issue time in the future
            <para>Error code: 1834(0x72A).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceLicenseTimeToLong">
            <summary>
            Device: license time period to long
            <para>Error code: 1835(0x72B).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceExceptionDuringStartup">
            <summary>
            Device: Exception occured during system start.
            <para>Error code: 1836(0x72C).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceException">
            <summary>
            Device: Exception in device specific code
            <para>Error code: 1836(0x72C).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceLicenseDuplicated">
            <summary>
            Device: license file read twice
            <para>Error code: 1837(0x72D).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceSignatureInvalid">
            <summary>
            Device:  invalid signature
            <para>Error code: 1838(0x72E).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceCertificateInvalid">
            <summary>
            Device: public key certificate
            <para>Error code: 1839(0x72F).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceLicenseOemNotFound">
            <summary>
            Device: public key of OEM unknown
            <para>Error code: 1840(0x730).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceLicenseRestricted">
            <summary>
            Device: license not valid for this system id type
            <para>Error code: 1841(0x731).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceLicenseDemoDenied">
            <summary>
            Device: trial license denied
            <para>Error code: 1842(0x732).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceInvalidFncId">
            <summary>
            Device: function id is invalid
            <para>Error code: 1843(0x733).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceOutOfRange">
            <summary>
            Device:  a parameter, an index, an iterator, ... is out of range
            <para>Error code: 1844(0x734).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceInvalidAlignment">
            <summary>
            Device: invalid alignment
            <para>Error code: 1845(0x735).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.DeviceLicensePlatform">
            <summary>
            Device: license invalid platform level
            <para>Error code: 1846(0x736).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.ClientError">
            <summary>
            Error class &lt;client error&gt;
            <para>Error code: 1856(0x740).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.ClientInvalidParameter">
            <summary>
            Parameter at service is invalid.
            <para></para>Error code: 1857(0x741).
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.ClientListEmpty">
            <summary>
            Polling list is empty.
            <para>Error code: 1858(0x742).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.ClientVaraiableInUse">
            <summary>
            Obsolete
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.ClientVariableInUse">
            <summary>
            Variable connection is already in use.
            <para>Error code: 1859(0x743).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.ClientDuplicateInvokeID">
            <summary>
            Invoke ID already in use.
            <para>Error code: 1860(0x744).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.ClientSyncTimeOut">
            <summary>
            Timeout has elapsed.
            <para>Error code: 1861(x745).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.ClientW32OR">
            <summary>
            Error in win32 subsystem.
            <para>Error code: 1862(0x746).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.ClientTimeoutInvalid">
            <summary>
            Timeout value is invalid.
            <para>Error code: 1863(0x747).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.ClientPortNotOpen">
            <summary>
            ADS port is not opened.
            <para>Error code: 1864(0x748).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.ClientNoAmsAddr">
            <summary>
            No AMS Address.
            <para>Error code: 1865(0x749).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.ClientSyncInternal">
            <summary>
            An internal in ADS sync has occurred.
            <para>Error code: 1872(0x750).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.ClientAddHash">
            <summary>
            Hash table overflow.
            <para>Error code: 1873(0x751).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.ClientRemoveHash">
            <summary>
            There are no more symbols in the hash table.
            <para>Error code: 1874(0x752).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.ClientNoMoreSymbols">
            <summary>
            There are no more symbols in cache.
            <para>Error code: 1875(0x753).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.ClientSyncResInvalid">
            <summary>
            An invalid response has been received.
            <para>Error code: 1876(0x754).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.ClientSyncPortLocked">
            <summary>
            Sync port is locked.
            <para>Error code: 1877(0x755).</para>
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.ClientQueueFull">
            <summary>
            Client queue is full
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsErrorCode.WSA_ConnRefused">
            <summary>
            Windows sockets connection refused (0x274d, 10061)
            </summary>
            <remarks>
            No connection could be made because the target computer actively refused it.
            This usually results from trying to connect to a service that is inactive on
            the foreign host—that is, one with no server application running.
            </remarks>
        </member>
        <member name="T:TwinCAT.Ads.TcReg">
            <summary>
            This class encapsulates accesses to the TwinCAT Registry part.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcReg._tcInstallation">
            <summary>
            TwinCAT Installation type
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcReg._tcInstallationPath">
            <summary>
            TwinCAT Installation path
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TcReg.RootPath">
            <summary>
            Gets the root path ("Software\\Beckhoff\\TwinCAT", or "Software\\Beckhoff\\TwinCAT3")
            </summary>
            <value>The root.</value>
        </member>
        <member name="F:TwinCAT.Ads.TcReg.KeyNameSystem">
            <summary>
            "Software\\Beckhoff\\TwinCAT\\System"
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcReg.KeyNameInstPathTc2">
            <summary>
            Installation Path (TwinCAT2) Registry Key ("InstallationPath")
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcReg.KeyNameInstPathTc3">
            <summary>
            Installation Path (TwinCAT3) Registry Key ("InstallDir")
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcReg.KeyNameCurrentVersion">
            <summary>
            Installation Path (TwinCAT3) Registry Key ("CurrentVersion")
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TcReg.LocalNetId">
            <summary>
            Gets the AmsNet ID from the Registry
            </summary>
            <value>The ams net id.</value>
        </member>
        <member name="P:TwinCAT.Ads.TcReg.RootTc3">
            <summary>
            Registry TwinCAT Root path (TwinCAT 3)
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TcReg.IsWow64">
            <summary>
            Gets a value indicating whether this code is running within a Wow64 Process (32-Bit Processon 64-Bit Operating system)
            </summary>
            <value>
                <c>true</c> if this instance is wow64 process; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:TwinCAT.Ads.TcReg.SystemRegKey">
            <summary>
            Gets the SystemKey registry key (Don't forget to close the key) "HKLM\\Software\\Beckhoff\\TwinCAT\\System";
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.TcReg.TwinCATSubSystemType">
            <summary>
            Enumeration describes whether Tc2 or Tc3 is associated.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcReg.TwinCATSubSystemType.None">
            <summary>
            No installation found / Uninitialized
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcReg.TwinCATSubSystemType.Tc2">
            <summary>
            Tc2 Installation detected
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcReg.TwinCATSubSystemType.Tc3">
            <summary>
            Tc3 Installation detected
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TcReg.TryGetTwinCAT2Path(System.String@,System.Version@)">
            <summary>
            Tries to get the TwinCAT 2 Installation Path (if installed)
            </summary>
            <param name="path">The TwinCAT 2 root path.</param>
            <param name="version">The version  (TwinCAT29</param>
            <returns></returns>
        </member>
        <member name="M:TwinCAT.Ads.TcReg.TryGetTwinCAT3Path(System.String@,System.Version@)">
            <summary>
            Tries to get the TwinCAT 3 Installation Path (if installed)
            </summary>
            <param name="path">The TwinCAT root path.</param>
            <param name="version">The TwinCAT version.</param>
            <returns></returns>
        </member>
        <member name="T:TwinCAT.Ads.TransportProtocol">
            <summary>
            Enum ADS TransportProtocol
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TransportProtocol.None">
            <summary>
            None / Uninitialized
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TransportProtocol.Router">
            <summary>
            ADS via Router
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TransportProtocol.TcpIp">
            <summary>
            ADS via TCP/IP (without router)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TransportProtocol.All">
            <summary>
            Indicates that <see cref="F:TwinCAT.Ads.TransportProtocol.Router"/> and <see cref="F:TwinCAT.Ads.TransportProtocol.TcpIp"/> are appropriate (for establishing connections)
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.AdsNotificationEventArgs">
            <summary>
            Provides data for AdsNotificationEvent of the class TcAdsClient.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AdsNotificationEventArgs.#ctor(System.Int64,System.Object,System.Int32,System.Int32,System.Int32,TwinCAT.Ads.AdsStream)">
            <summary>
            Initializes a new instance of the AdsStream class AdsSyncNotificationEventArgs.
            </summary>
            <param name="timeStamp">TwinCAT realtime timestamp.</param>
            <param name="userData">An object, that is passed by AddDeviceNotification.</param>
            <param name="notificationHandle">Handle of the connection.</param>
            <param name="length">Length of the data in dataStream.</param>
            <param name="offset">The offset of the data in dataStream .</param>
            <param name="dataStream">Stream that is used to store the data.</param>
            <remarks>The TwinCAT realtime target system (even when working locally) has its own TimeSystem which is synchronized with
            the Desktop/User time at TwinCAT Start. From this moment on the Desktop/User time can drift from the local Realtime/Target time.
            can differ.
            The TimeStamp can be converted to a .NET DateTime Object with <see cref="M:System.DateTime.FromFileTimeUtc(System.Int64)"/> or
            <see cref="M:System.DateTime.FromFileTime(System.Int64)"/>
            </remarks>
        </member>
        <member name="P:TwinCAT.Ads.AdsNotificationEventArgs.TimeStamp">
            <summary>
            Gets the timestamp of this <see cref="T:TwinCAT.Ads.AdsNotificationEventArgs">Notification.</see>
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.AdsNotificationEventArgs.UserData">
            <summary>
            Gets the user object. This object is passed by to AddDeviceNotification and can
            be used to store data.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.AdsNotificationEventArgs.NotificationHandle">
            <summary>
            Gets the handle of the connection.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.AdsNotificationEventArgs.DataStream">
            <summary>
            Streams that holds the notification data.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.AdsNotificationEventArgs.Length">
            <summary>
            Gets the Length of the data in the stream.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.AdsNotificationEventArgs.Offset">
            <summary>
            Gets the Offset of the data in the stream.
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.AdsNotificationExEventArgs">
            <summary>
            Provides data for AdsNotificationExEvent of the class TcAdsClient.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AdsNotificationExEventArgs.#ctor(System.Int64,System.Object,System.Int32,System.Object)">
            <summary>
            Initializes a new instance of the AdsStream class AdsSyncNotificationEventArgs.
            </summary>
            <param name="timeStamp">Timestamp.</param>
            <param name="userData">An object, that is passed by AddDeviceNotificationEx.</param>
            <param name="notificationHandle">Handle of the connection.</param>
            <param name="value">Value of the ADS variable.</param>
        </member>
        <member name="P:TwinCAT.Ads.AdsNotificationExEventArgs.TimeStamp">
            <summary>
            Gets the timestamp.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.AdsNotificationExEventArgs.UserData">
            <summary>
            Gets the user object. This object is passed by to AddDeviceNotification and can
            be used to store data.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.AdsNotificationExEventArgs.Value">
            <summary>
            Value of the ads variable.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.AdsNotificationExEventArgs.NotificationHandle">
            <summary>
            Gets the handle of the connection.
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.AmsRouterNotificationEventArgs">
            <summary>
            Provides data for AmsRouterNotificationEvent of the class TcAdsClient.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AmsRouterNotificationEventArgs.#ctor(TwinCAT.Ads.AmsRouterState)">
            <summary>
               Initializes a new instance of the AmsRouterNotificationEventArgs class.
            </summary>
            <param name="state">The current state of the Router.</param>
        </member>
        <member name="P:TwinCAT.Ads.AmsRouterNotificationEventArgs.State">
            <summary>
            Current state of the AMS Router.
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.AdsNotificationErrorEventArgs">
            <summary>
            Provides data for AdsNotificationErrorEvent of the class TcAdsClient.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AdsNotificationErrorEventArgs.#ctor(System.Exception)">
            <summary>
               Initializes a new instance of the AdsNotificationErrorEventArgs class.
            </summary>
            <param name="e">Exception that was caught while handling notifications.</param>
        </member>
        <member name="P:TwinCAT.Ads.AdsNotificationErrorEventArgs.Exception">
            <summary>
            Exception that was caught while handling notifications.
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.AdsStateChangedEventArgs">
            <summary>
            Provides data for AdsStateChangedEvent of the class TcAdsClient.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsStateChangedEventArgs._state">
            <summary>
            The state
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AdsStateChangedEventArgs.#ctor(TwinCAT.Ads.StateInfo)">
            <summary>
            Initializes a new instance of the AdsStateChangedEventArgs class.
            </summary>
            <param name="state">Current state of the ADS device.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsStateChangedEventArgs.#ctor(TwinCAT.Ads.AdsStateChangedEventArgs)">
            <summary>
            Initializes a new instance of the AdsStateChangedEventArgs class.
            </summary>
            <param name="eventArgs">The <see cref="T:TwinCAT.Ads.AdsStateChangedEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="P:TwinCAT.Ads.AdsStateChangedEventArgs.State">
            <summary>
            Current state of the ADS device.
            </summary>
            <value>The state.</value>
        </member>
        <member name="T:TwinCAT.Ads.AdsStateChangedEventArgs2">
            <summary>
            Event Arguments for AdsStateChanged events.
            </summary>
            <seealso cref="T:System.EventArgs" />
        </member>
        <member name="M:TwinCAT.Ads.AdsStateChangedEventArgs2.#ctor(TwinCAT.Ads.StateInfo,TwinCAT.Ads.StateInfo,TwinCAT.Ads.IAdsSession)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.AdsStateChangedEventArgs2"/> class.
            </summary>
            <param name="newState">The new state.</param>
            <param name="oldState">The old state.</param>
            <param name="session">The session.</param>
        </member>
        <member name="F:TwinCAT.Ads.AdsStateChangedEventArgs2.NewState">
            <summary>
            The new state
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsStateChangedEventArgs2.OldState">
            <summary>
            The old state
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsStateChangedEventArgs2.Session">
            <summary>
            The session
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.AdsStateChangedEventArgs2.Connection">
            <summary>
            Gets the connection.
            </summary>
            <value>The connection.</value>
        </member>
        <member name="T:TwinCAT.Ads.AdsSymbolVersionChangedEventArgs">
            <summary>
            Provides data for AdsSymbolVersionChangedEvent of the class TcAdsClient.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsSymbolVersionChangedEventArgs._symbolVersion">
            <summary>
            The _symbol version
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AdsSymbolVersionChangedEventArgs.#ctor(System.Byte)">
            <summary>
            Initializes a new instance of the AdsSymbolVersionChangedEventArgs class.
            </summary>
            <param name="symbolVersion">Current symbol version.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsSymbolVersionChangedEventArgs.#ctor(TwinCAT.Ads.AdsSymbolVersionChangedEventArgs)">
            <summary>
            Initializes a new instance of the AdsSymbolVersionChangedEventArgs class.
            </summary>
            <param name="eventArgs">The <see cref="T:TwinCAT.Ads.AdsSymbolVersionChangedEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="P:TwinCAT.Ads.AdsSymbolVersionChangedEventArgs.SymbolVersion">
            <summary>
            Current symbol version device.
            </summary>
            <value>The symbol version.</value>
        </member>
        <member name="T:TwinCAT.Ads.AdsNotificationEventHandler">
            <summary>
            Event handler for the AdsNotification event in the class TcAdsClient.
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.AdsNotificationExEventHandler">
            <summary>
            Event handler for the AdsNotification event in the class TcAdsClient.
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.AmsRouterNotificationEventHandler">
            <summary>
            Event handler for the AmsRouterNotification event in the class TcAdsClient.
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.AdsNotificationErrorEventHandler">
            <summary>
            Event handler for the AdsNotificationError event in the class TcAdsClient.
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.AdsStateChangedEventHandler">
            <summary>
            Event handler for the AdsStateChanged event in the class TcAdsClient.
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.SymbolLoaderSettings">
            <summary>
            Settings object for the <see cref="T:TwinCAT.Ads.TypeSystem.IAdsSymbolLoader" /> initialization.
            </summary>
            <seealso cref="T:TwinCAT.ISymbolLoaderSettings" />
            <seealso cref="T:TwinCAT.Ads.TypeSystem.SymbolLoaderFactory" />
            <seealso cref="T:TwinCAT.Ads.TypeSystem.IAdsSymbolLoader"/>
            <seealso cref="T:TwinCAT.SymbolsLoadMode"/>   
            <seealso cref="T:TwinCAT.Ads.ValueAccess.ValueAccessMode"/>
            <remarks>This settings object is used for the initialization of the <see cref="T:TwinCAT.Ads.TypeSystem.IAdsSymbolLoader">Symbol loader</see> object.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.SymbolLoaderSettings.#ctor(TwinCAT.SymbolsLoadMode)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SymbolLoaderSettings"/> class with <see cref="F:TwinCAT.Ads.ValueAccess.ValueAccessMode.IndexGroupOffsetPreferred"/>.
            </summary>
            <param name="loadMode">The load mode.</param>
        </member>
        <member name="M:TwinCAT.Ads.SymbolLoaderSettings.#ctor(TwinCAT.SymbolsLoadMode,TwinCAT.Ads.ValueAccess.ValueAccessMode)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SymbolLoaderSettings"/> class.
            </summary>
            <param name="loadMode">The load mode.</param>
            <param name="valueAccess">The value access.</param>
        </member>
        <member name="M:TwinCAT.Ads.SymbolLoaderSettings.#ctor(TwinCAT.SymbolsLoadMode,TwinCAT.ValueAccess.ValueCreationMode,TwinCAT.Ads.ValueAccess.ValueAccessMode)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.SymbolLoaderSettings"/> class.
            </summary>
            <param name="loadMode">The load mode.</param>
            <param name="valueCreation">The dynamic value creation.</param>
            <param name="valueAccess">The value access.</param>
        </member>
        <member name="P:TwinCAT.Ads.SymbolLoaderSettings.SymbolsLoadMode">
            <summary>
            Gets or sets the symbols load mode.
            </summary>
            <value>The symbols load mode.</value>
        </member>
        <member name="P:TwinCAT.Ads.SymbolLoaderSettings.ValueAccessMode">
            <summary>
            Gets or sets the value access mode.
            </summary>
            <value>The value access mode.</value>
        </member>
        <member name="P:TwinCAT.Ads.SymbolLoaderSettings.NonCachedArrayElements">
            <summary>
            Gets or sets the setting to create ArrayElements "On-The-Fly" (Default True)
            </summary>
            <value>The value access mode.</value>
        </member>
        <member name="P:TwinCAT.Ads.SymbolLoaderSettings.AutomaticReconnection">
            <summary>
            Gets or sets a value indicating whether Disconnect connections can be reconnected.
            </summary>
            <value><c>true</c> if Disconnect connections can be reconnecte; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.SymbolLoaderSettings.ValueCreation">
            <summary>
            Gets or sets the value creation mode.
            </summary>
            <value>The dynamic value mode.</value>
        </member>
        <member name="P:TwinCAT.Ads.SymbolLoaderSettings.Default">
            <summary>
            Gets the default settings object (SymbolsLoadMode.VirtualTree + ValueAccessMode.IndexGroupOffsetPreferred)
            </summary>
            <remarks>
            The following defaults are set here:
            <list type="table">
            <listheader><term>Setting</term><description>Description</description></listheader>
                <item><term>Symbols load mode (<see cref="P:TwinCAT.Ads.SymbolLoaderSettings.SymbolsLoadMode"/>)</term><description>Create virtual tree (<see cref="F:TwinCAT.SymbolsLoadMode.VirtualTree"/>.</description></item>
                <item><term>Value access mode (<see cref="P:TwinCAT.Ads.SymbolLoaderSettings.ValueAccessMode"/>)</term><description>Prefer Symbolic access of values (<see cref="F:TwinCAT.Ads.ValueAccess.ValueAccessMode.Symbolic"/>).</description></item>
                <item><term>Value creation mode <see cref="P:TwinCAT.Ads.SymbolLoaderSettings.ValueCreation"/></term><description>Create .NET integral primitives if possible (<see cref="F:TwinCAT.ValueAccess.ValueCreationMode.Default"/>.</description></item>
            </list>
            </remarks>
            <value>The default settings object.</value>
        </member>
        <member name="P:TwinCAT.Ads.SymbolLoaderSettings.DefaultDynamic">
            <summary>
            Gets the default settings object (SymbolsLoadMode.DynamicTree + ValueCreationMode.TranslateToPrimitives + ValueAccessMode.IndexGroupOffsetPreferred)
            </summary>
            <remarks>
            The following defaults are set here:
            <list type="table">
            <listheader><term>Setting</term><description>Description</description></listheader>
                <item><term>Symbols load mode (<see cref="P:TwinCAT.Ads.SymbolLoaderSettings.SymbolsLoadMode"/>)</term><description>Create dynamic tree (<see cref="F:TwinCAT.SymbolsLoadMode.DynamicTree"/>.</description></item>
                <item><term>Value access mode (<see cref="P:TwinCAT.Ads.SymbolLoaderSettings.ValueAccessMode"/>)</term><description>Prefer Symbolic access of values (<see cref="F:TwinCAT.Ads.ValueAccess.ValueAccessMode.Symbolic"/>).</description></item>
                <item><term>Value creation mode <see cref="P:TwinCAT.Ads.SymbolLoaderSettings.ValueCreation"/></term><description>Create .NET integral primitives if possible (<see cref="F:TwinCAT.ValueAccess.ValueCreationMode.Default"/>.</description></item>
            </list>
            </remarks>
            <value>The dynamic default settings object.</value>
            <seealso cref="P:TwinCAT.Ads.SymbolLoaderSettings.Default"/>
        </member>
        <member name="T:TwinCAT.Ads.AdsClientSettings">
            <summary>
            Settings object for <see cref="T:TwinCAT.Ads.TcAdsClient"/>.
            </summary>
            <remarks>This <see cref="T:TwinCAT.Ads.AdsClientSettings"/> object is used to initalize the <see cref="T:TwinCAT.Ads.TcAdsClient"/> with application appropriate
            settings.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.AdsClientSettings.#ctor">
            <summary>
            Prevents a default instance of the <see cref="T:TwinCAT.Ads.AdsClientSettings"/> class from being created.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AdsClientSettings.#ctor(System.Int32)">
            <summary>
            Creates a Default settings <see cref="T:TwinCAT.Ads.AdsClientSettings"/> object with custom timeout.
            </summary>
            <param name="timeout">The timeout of the <see cref="T:TwinCAT.Ads.TcAdsClient"/> in milliseconds.</param>
        </member>
        <member name="P:TwinCAT.Ads.AdsClientSettings.Default">
            <summary>
            Gets the default settings.
            </summary>
            <value>The default.</value>
            <remarks>Creates an settings object, with specification for <see cref="F:TwinCAT.Ads.TransportProtocol.All"/> and
            <see cref="T:TwinCAT.Ads.IFailFastHandler"/>.
            <list type="bullet">
            <item><description><see cref="F:TwinCAT.Ads.TransportProtocol.All"/></description></item>
            <item><description><see cref="T:TwinCAT.Ads.IFailFastHandler">Fail fast handler</see> is active.</description></item>
            <item><description>Default communication timeout 5000ms.</description></item>
            <item><description>Not synchronized Notifications.</description></item>
            </list>
            </remarks>
        </member>
        <member name="P:TwinCAT.Ads.AdsClientSettings.FastReconnection">
            <summary>
            Gets a Settings object that configures the TcAdsClient for FastReconnection
            </summary>
            <value>The fast reconnection.</value>
            <remarks>The settings typically can be used for polling clients, that detect
            returning (getting accessible) ADS targets faster.
            This has the Drawback that communication Timeouts are longer and subsequent timeouts
            block the ADS mailbox. So use these settings only for Availability detection of ADS Devices and
            should not be used for the general communication layer.
            <list type="bullet">
            <item><description>No <see cref="T:TwinCAT.Ads.IFailFastHandler">FailFastHandler</see> active.</description></item>
            <item><description>Default communication timeout 200ms.</description></item>
            <item><description>Not synchronized Notifications.</description></item>
            </list>
            </remarks>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.AdsClientSettings.FastWriteThrough">
            <summary>
            Gets a Settings object that configures the TcAdsClient for FastWriteThrough
            </summary>
            <value>Client settings for a fast write through (with 200 ms Timeout).</value>
            <remarks>The settings typically can be used for polling clients, where the "FailFast"
            feature will be bypassed. That means, that communication fails doesn't trigger
            the FailFast interceptor and every Request will go out via ADS.
            This has the Drawback that communication Timeouts are longer and subsequent timeouts
            block the ADS mailbox (with the danger of overflows). So use this setting with care 
            for specific purposes and should not be used for standard communication.
            <list type="bullet">
            <item><description>No <see cref="T:TwinCAT.Ads.IFailFastHandler">FailFastHandler</see> active.</description></item>
            <item><description>Default communicationtimeout 200ms.</description></item>
            <item><description>Not synchronized Notifications.</description></item>
            </list>
            </remarks>
        </member>
        <member name="P:TwinCAT.Ads.AdsClientSettings.CompatibilityDefault">
            <summary>
            Compatibility settings object
            </summary>
            <value>The settings object.</value>
            <remarks>The compatibility settings intitialize the TcAdsClient the same way
            as it is done in earlier versions of the TwinCAT.Ads.dll (earlier than Version 4.2)
            <list type="bullet">
            <item><description><see cref="F:TwinCAT.Ads.TransportProtocol.All"/></description></item>
            <item><description>No <see cref="T:TwinCAT.Ads.IFailFastHandler">FailFastHandler</see> active.</description></item>
            <item><description>Default communicationtimeout 5000ms.</description></item>
            <item><description>Synchronized Notifications.</description></item>
            </list>
            </remarks>
        </member>
        <member name="F:TwinCAT.Ads.AdsClientSettings._protocol">
            <summary>
            The Protocol settings
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.AdsClientSettings.Protocol">
            <summary>
            Gets the protocol settings
            </summary>
            <value>The protocol.</value>
        </member>
        <member name="P:TwinCAT.Ads.AdsClientSettings.Interceptors">
            <summary>
            Gets the interceptors.
            </summary>
            <value>The interceptors.</value>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.AdsClientSettings.CreateDefaultInterceptors">
            <summary>
            Creates the default interceptors.
            </summary>
            <returns>CommunicationInterceptors.</returns>
            <remarks>The Default is to create a <see cref="T:TwinCAT.Ads.IFailFastHandler">FailFastHandler</see>, which is the default now also for a standard <see cref="T:TwinCAT.Ads.TcAdsClient"/>
            </remarks>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.AdsClientSettings.ClientCycle">
            <summary>
            Gets or sets a value indicating whether Notifications should be polled from the Client side.
            </summary>
            <value><c>true</c> if [client cycle]; otherwise, <c>false</c>.</value>
            <exception cref="T:TwinCAT.Ads.AdsException">Cannot change ClientCycle value while notifications are active.</exception>
            <exclude/>
            <remarks>The ClientCycle moves the creation of Notifications from the Server side to the clients side.
            That means that a Timer (synchronous or asynchronous (BackgroundThread)) will trigger on the client side
            to poll the registered Notification/Variable handles for their values. The polling is done optimized by a
            SumRead command.
            
            If ClientCycle is set to false, the ADS that has been addressed writes the data cyclically
            to the TcAdsClient object. The smallest possible time is the cycle time of the ADS device.
            For the PLC, this is the task cycle time. The cycle time can be handled in 1 ms steps.
            If you enter 0 ms as the cycle time, then the data is sent to the TcAdsClient object with
            every cycle of the ADS device task.
            If ClientCycle is set to true, the TcAdsClient object polls the variables cyclically.
            The timer that initiates the read / write runs in Windows NT/2000 user mode, which means
            that the time behavior strongly depends on the loading of the system.
            Under CE Systems this property is set to <b>TRUE</b> by default.
            Full .NET Framework has a default of <b>FALSE</b>.
             
            The ClientCycle has the following advantages/disadvantages:
            
            Advantages:
            <list type="bullet">
            <item><description>Advantages</description></item>
            <item><description>Can be faster on slow WindowsCE targets to create notifications.</description></item>
            <item><description>More notifications are supported.</description></item>
            <item><description>Realtime is less affected.</description></item>
            </list>
            
            Disadvantages:
            <list type="bullet">
            <item><description>On (non-CE) targets slower than ServerCycle notifications (standard)</description></item>
            <item><description>An extra network round trip for the SumRead polling.</description></item>
            <item>Notification Timing strongly depends on the workload of the (client) system</item>
            </list>
            This is only a workaround for CE targets and a large number of Notifications that cannot be supported from
            ServerCycle notifications (standard).
            </remarks>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.AdsClientSettings.Synchronize">
            <summary>
            Gets a value indicating whether the <see cref="N:TwinCAT.Ads"/>
            </summary>
            <value><c>true</c> if synchronize; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.AdsClientSettings.Timeout">
            <summary>
            The communication Timeout of the <see cref="T:TwinCAT.Ads.TcAdsClient"/>
            </summary>
            <value>The timeout.</value>
        </member>
        <member name="T:TwinCAT.Ads.TcAdsClient">
            <summary>
            ADS Client / ADS Communication object.
            </summary>
            <remarks>
            <b>IMPORTANT: The Default setting of the <see cref="P:TwinCAT.Ads.TcAdsClient.Synchronize"/> property has changed to 'false' from Version 4.2.XX on.
            This has the effect that - by default - the notifications events <see cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/> and <see cref="E:TwinCAT.Ads.TcAdsClient.AdsNotificationEx"/>
            are not synchronized into the UI thread anymore. To re enable the obsolete behavior set <see cref="P:TwinCAT.Ads.TcAdsClient.Synchronize"/> to 'true'.</b>
            Use an instance of this object to create a point-to-point send/receive connection to an ADS Server/Device object.
            The class TcAdsClient is a wrapper for the TcAdsdll.dll and enables synchronous/asynchronous access to data of an ADS Device.
            </remarks>
            <example>
            The following sample shows how to instantiate and use the <see cref="T:TwinCAT.Ads.TcAdsClient"/> class.
            <code language="C#" title="TcAdsClient Demo" source="..\Samples\Sample.TwinCATAds\AdsClient.cs" region="CODE_SAMPLE"/>
            <code language="C#" title="Argument Parser" source="..\Samples\Sample.TwinCATAds\ArgParser.cs" region="CODE_SAMPLE"/>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC directly from the <see cref="T:TwinCAT.Ads.TcAdsClient"/> class.
            <code language="C#" title="RPC Call Example" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV1.cs" region="CODE_SAMPLE_RPCCALL" />
            </example>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsClient._syncPort">
            <summary>
            Synchronous port of the local system
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.#ctor(System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TcAdsClient"/> class (obsolete)
            </summary>
            <param name="noInterceptors">if set to <c>true</c> [no interceptors].</param>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.#ctor(TwinCAT.Ads.AdsClientSettings)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TcAdsClient" /> class.
            </summary>
            <param name="settings">The settings.</param>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.#ctor">
            <summary>
            Initializes a new instance of the class TcAdsClient.
            </summary>
            <remarks>Default Interceptors (<see cref="T:TwinCAT.Ads.IFailFastHandler">FailFastHandler</see>) will be used.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.#ctor(TwinCAT.Ads.AdsSession)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TcAdsClient"/> class.
            </summary>
            <param name="session">The session.</param>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsClient.s_id">
            <summary>
            Static identifier counter
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsClient._id">
            <summary>
            <see cref="T:TwinCAT.Ads.TcAdsClient"/> identifier
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsClient.Id">
            <summary>
            Gets the <see cref="T:TwinCAT.Ads.TcAdsClient"/> Identifier.
            </summary>
            <value>The identifier.</value>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsClient.Name">
            <summary>
            Gets the name identificator of this object.
            </summary>
            <value>The name.</value>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.Finalize">
            <summary>
            Finalizes an instance of the <see cref="T:TwinCAT.Ads.TcAdsClient"/> class.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsClient.Disposed">
            <summary>
            Determines, whether the <see cref="T:TwinCAT.Ads.TcAdsClient"/> is disposed
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.Dispose">
            <summary>
            Releases the resources used by TcAdsClient.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.Close">
            <summary>
            Closes this <see cref="T:TwinCAT.IConnection" />
            </summary>
            <remarks>The <see cref="T:TwinCAT.Ads.TcAdsClient"/> is disposed afterwards.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.Dispose(System.Boolean)">
            <summary>
            Disposes the <see cref="T:TwinCAT.Ads.TcAdsClient"/>.
            </summary>
            <param name="disposing"></param>
            <remarks>When overwritten don't forget to call the base class</remarks>
        </member>
        <member name="E:TwinCAT.Ads.TcAdsClient.AdsNotification">
            <summary>
            Occurs when the ADS device sends a ADS Notification to the client.
            </summary>
            <remarks>
            In most implementations, these notifications indicate changed values on the client target. These 'ADS notifications' will be received asynchronously from
            the target system and distributed via this <see cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/> event.
            <b>IMPORTANT: The Default setting of the <see cref="P:TwinCAT.Ads.TcAdsClient.Synchronize"/> property has changed to 'false' from Version 4.2.XX on.
            This has the effect that - by default - the notifications events <see cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/> and <see cref="E:TwinCAT.Ads.TcAdsClient.AdsNotificationEx"/>
            are not synchronized into the UI thread anymore. To re-enable the obsolete behavior for legacy applications set <see cref="P:TwinCAT.Ads.TcAdsClient.Synchronize"/> to 'true'.</b>
            </remarks>
            <example>
            The following sample shows how to register/unregister for AdsNotifications (asynchronous change messages) via <see cref="M:TwinCAT.Ads.TcAdsClient.AddDeviceNotification(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,TwinCAT.Ads.AdsTransMode,System.Int32,System.Int32,System.Object)"/> and <see cref="M:TwinCAT.Ads.TcAdsClient.DeleteDeviceNotification(System.Int32)"/>
            <code language="C#" title="Receive AdsNotifications" source="..\Samples\TwinCAT.ADS.NET_Samples\03_ADS.NET_EventReading\Form1.cs" region="CODE_SAMPLE_NOTIFICATIONS" />
            </example>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.DeleteDeviceNotification(System.Int32)"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotificationEx"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotificationError"/>
        </member>
        <member name="E:TwinCAT.Ads.TcAdsClient.AdsNotificationEx">
            <summary>
            Occurs when the ADS devices sends an (extended) notification to the client.
            </summary>
            <remarks>
            In most implementations, these notifications indicate changed values on the client target. These 'ADS notifications' will be received asynchronously from
            the target system and distributed via this <see cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/> event.
            <b>IMPORTANT: The Default setting of the <see cref="P:TwinCAT.Ads.TcAdsClient.Synchronize"/> property has changed to 'false' from Version 4.2.XX on.
            This has the effect that - by default - the notifications events <see cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/> and <see cref="E:TwinCAT.Ads.TcAdsClient.AdsNotificationEx"/>
            are not synchronized into the UI thread anymore. To re-enable the obsolete behavior for legacy applications set <see cref="P:TwinCAT.Ads.TcAdsClient.Synchronize"/> to 'true'.</b>
            </remarks>
            <example>
            The following sample shows how to use <see cref="E:TwinCAT.Ads.TcAdsClient.AdsNotificationEx"/> events.
            <code language="C#" title="Receive AdsNotifications" source="..\Samples\TwinCAT.ADS.NET_Samples\14_ADS.NET_ReadWriteAnyType\Form1.cs" region="CODE_SAMPLE_NOTIFICATIONEX" />
            </example>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.AddDeviceNotificationEx(System.Int64,System.Int64,TwinCAT.Ads.AdsTransMode,System.Int32,System.Int32,System.Object,System.Type)"/>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.DeleteDeviceNotification(System.Int32)"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotificationError"/>
        </member>
        <member name="E:TwinCAT.Ads.TcAdsClient.AdsNotificationError">
            <summary>
            Occurs when a exception has occurred during notification management.
            </summary>
            <remarks>
            The occurrence of this event can have two different reasons:
            <list type="number">
            <item>Indicates an internal error occurred during Notification management.</item>
            <item>The registered notification becomes invalid on the server, eg. after a PLC Download / Online Change. If the ADS Server detects that the (still registered) Notification Sender is getting invalid, it sends 
            an error notification so that the client will be informed about detached notifications. The event arguments contains the <see cref="T:TwinCAT.Ads.AdsInvalidNotificationException"/> which describes the invalid notification handle
            by its <see cref="P:TwinCAT.Ads.AdsInvalidNotificationException.Handle"/> property.</item>
            </list>
            </remarks>
            <seealso cref="T:TwinCAT.Ads.AdsInvalidNotificationException"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotificationEx"/>
        </member>
        <member name="E:TwinCAT.Ads.TcAdsClient.AmsRouterNotification">
            <summary>
            Occurs when the state of the local Router has changed.
            </summary>
        </member>
        <member name="E:TwinCAT.Ads.TcAdsClient.AdsStateChanged">
            <summary>
            Occurs when the ADS state changes.
            </summary>
        </member>
        <member name="E:TwinCAT.Ads.TcAdsClient.AdsSymbolVersionChanged">
            <summary>
            Occurs when the symbol version has been changed changes.
            </summary>
            <remarks>This is the case when the connected ADS server restarts. This invalidates all actual opened
            symbol handles.
            The SymbolVersion counter doesn't trigger, when an online change is made on the PLC (ports 801, ..., 851 ...)</remarks>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.Connect(System.String,System.Int32)">
            <summary>
            Establishes a connection to a ADS device.
            </summary>
            <param name="netID">NetId of the ADS server.</param>
            <param name="srvPort">Port number of the ADS server.</param>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.Connect(System.Byte[],System.Int32)">
            <summary>
            Establishes a connection to a ADS device.
            </summary>
            <param name="netID">NetId of the ADS server.</param>
            <param name="srvPort">Port number of the ADS server.</param>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.Connect(System.Int32)">
            <summary>
            Establishes a connection to a ADS device using the local netID.
            </summary>
            <param name="srvPort">Port number of the ADS server.</param>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.Connect(TwinCAT.Ads.AmsNetId,System.Int32)">
            <summary>
            Establishes a connection to a ADS device.
            </summary>
            <param name="netID">NetId of the ADS server.</param>
            <param name="srvPort">Port number of the ADS server.</param>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.TwinCAT#IConnection#Connect">
            <summary>
            Connects this instance.
            </summary>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
            <exception cref="T:TwinCAT.Ads.AdsException">Target address not specified!</exception>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsClient._syncConnection">
            <summary>
            Locks the TcAdsClient for the time of a Connect against communication requests
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.TryResurrect(TwinCAT.Ads.AdsException@)">
            <summary>
            Resurrects the connection
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.Connect(TwinCAT.Ads.AmsNetId,TwinCAT.Ads.AmsPort)">
            <summary>
            Establishes a connection to a ADS device.
            </summary>
            <param name="netID">NetId of the ADS server.</param>
            <param name="srvPort">Port number of the ADS server.</param>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.Connect(TwinCAT.Ads.AmsAddress)">
            <summary>
            Establishes a connection to a ADS device.
            </summary>
            <param name="address">The address.</param>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.Disconnect">
            <summary>
            Disconnects the <see cref="T:TwinCAT.Ads.TcAdsClient"/>
            </summary>
            <returns><c>true</c> if successfully disconnected, <c>false</c> if the <see cref="T:TwinCAT.Ads.TcAdsClient"/> was already disconnected.</returns>
            <remarks>The <see cref="T:TwinCAT.Ads.TcAdsClient"/> can be connected again afterwards. Disconnection doesn't mean disposing / closing:
            </remarks>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.OnBeforeDisconnect">
            <summary>
            Called when before the <see cref="T:TwinCAT.Ads.TcAdsClient"/> is disconnected.
            </summary>
        </member>
        <member name="E:TwinCAT.Ads.TcAdsClient.ConnectionStateChanged">
            <summary>
            Occurs when the connection state has been changed.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.OnConnectionStateChanged(TwinCAT.ConnectionState,TwinCAT.ConnectionState)">
            <summary>
            Called when the <see cref="P:TwinCAT.Ads.TcAdsClient.ConnectionState" /> of the <see cref="T:TwinCAT.Ads.TcAdsClient" /> has changed.
            </summary>
            <param name="newState">The new state.</param>
            <param name="oldState">The old state.</param>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsClient.RawInterface">
            <summary>
            Gets the raw ADS interface.
            </summary>
            <value>The raw interface.</value>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsClient._timeout">
            <summary>
            Cached timeout
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsClient.Timeout">
            <summary>
            Sets the timeout for the ads communication. Unit is in ms.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsClient.ClientCycle">
            <summary>
            Gets or sets a value indicating whether Notifications should be polled from the Client side.
            </summary>
            <value><c>true</c> if [client cycle]; otherwise, <c>false</c>.</value>
            <exception cref="T:TwinCAT.Ads.AdsException">Cannot change ClientCycle value while notifications are active.</exception>
            <exclude/>
            <remarks>The ClientCycle moves the creation of Notifications from the Server side to the clients side.
            That means that a Timer (synchronous or asynchronous (BackgroundThread)) will trigger on the client side
            to poll the registered Notification/Variable handles for their values. The polling is done optimized by a
            SumRead command.
            
            If ClientCycle is set to false, the ADS that has been addressed writes the data cyclically
            to the TcAdsClient object. The smallest possible time is the cycle time of the ADS device.
            For the PLC, this is the task cycle time. The cycle time can be handled in 1 ms steps.
            If you enter 0 ms as the cycle time, then the data is sent to the TcAdsClient object with
            every cycle of the ADS device task.
            If ClientCycle is set to true, the TcAdsClient object polls the variables cyclically.
            The timer that initiates the read / write runs in Windows NT/2000 user mode, which means
            that the time behavior strongly depends on the loading of the system.
            Under CE Systems this property is set to <b>TRUE</b> by default.
            Full .NET Framework has a default of <b>FALSE</b>.
             
            The ClientCycle has the following advantages/disadvantages:
            
            Advantages:
            <list type="bullet">
            <item><description>Advantages</description></item>
            <item><description>Can be faster on slow WindowsCE targets to create notifications.</description></item>
            <item><description>More notifications are supported.</description></item>
            <item><description>Realtime is less affected.</description></item>
            </list>
            
            Disadvantages:
            <list type="bullet">
            <item><description>On (non-CE) targets slower than ServerCycle notifications (standard)</description></item>
            <item><description>An extra network round trip for the SumRead polling.</description></item>
            <item>Notification Timing strongly depends on the workload of the (client) system</item>
            </list>
            This is only a workaround for CE targets and a large number of Notifications that cannot be supported from
            ServerCycle notifications (standard).
            </remarks>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsClient.Synchronize">
            <summary>
            Gets or sets a value indicating whether the TcAdsClient object synchronizes the incoming notifications (obsolete)
            </summary>
            <remarks>
            <b>IMPORTANT: Be aware that this setting could be removed in later version of this API.
            The default setting changed from 'true' to 'false' in newer versions, because synchronization should be done
            in the Application and not has helper functionality within this class / API.</b>
            <b>Please think about of using .NET SynchronizationContexts or Control.Invoke(...) calls for
            Application side synchronization.</b>
            If Synchronize is set to true, the notifications are synchronized onto the Main thread.
            This is helpful for Windows Forms projects because this automatically synchronizes the notifications
            into the main UI thread and prevents any synchronization issues like deadlocks.
            In Console Applications it is necessary to set this flag to <c>false</c> if ADS notifications are used,
            because the Console Host doesn't trigger any message pumps, effectively blocking any Windows Messages and
            ADS Notifications.
            </remarks>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsClient.IsLocal">
            <summary>
            Gets a value indicating whether the ADS client is connected to a ADS Server on the local
            computer.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsClient.ServerPort">
            <summary>
            Gets the port number of the ADS server (Obsolete)
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsClient.ServerNetID">
            <summary>
            Gets the AmsNetId of the ADS server (Obsolete)
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsClient.Address">
            <summary>
            Gets the <see cref="T:TwinCAT.Ads.AmsAddress"/> of the ADS server (Target side)
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsClient.ServerAddress">
            <summary>
            Obsolete, do not use
            </summary>
            <value>The server address.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsClient.ClientPort">
            <summary>
            Obsolet do not use.
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsClient.ClientNetID">
            <summary>
            Obsolete, do not use.
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsClient.ClientAddress">
            <summary>
            Get the <see cref="T:TwinCAT.Ads.AmsAddress" /> of the ADS client (Source side)
            </summary>
            <value>The client address if connection is up and running, otherwise <b>NULL</b>.</value>
            <remarks>The ClientAddress is only available if the connection is up and running.
            For the different (possible) connection methods:
            
            <list type="table">
            <listheader><term>Port</term><description>Description</description></listheader>
                <item><term>1</term><description>Connection is using the TCP/IP protocol.</description></item>
                <item><term>>=0x8000 (>=32768)</term><description>Ads communication via ADS Router (Default)</description></item>
            </list>
            </remarks>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsClient.Protocol">
            <summary>
            Gets actual ADS Transport protocol
            </summary>
            <value>The protocol.</value>
            <remarks>
            <list type="table">
            <listheader><term>Transport protocol</term><description>Description</description></listheader>
                <item><term><see cref="F:TwinCAT.Ads.TransportProtocol.TcpIp"/></term><description>Connection is using the TCP/IP protocol (Client port 1)</description></item>
                <item><term><see cref="F:TwinCAT.Ads.TransportProtocol.Router"/></term><description>Ads communication via local ADS Router (Default, Client Port >=0x8000 (32768))</description></item>
            </list>
            </remarks>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsClient.IsConnected">
            <summary>
            Gets a value indicating whether the local ADS port was opened successfully. It
            does not indicate if the target port is available. Use the method ReadState to
            determine if the target port is available.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsClient.RouterState">
            <summary>
            Gets the current state of the local AMS Router.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsClient.ConnectionState">
            <summary>
            Gets the current Connection state of the <see cref="T:TwinCAT.IConnectionStateProvider" />
            </summary>
            <value>The state of the connection.</value>
            <Exclude/>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsClient._session">
            <summary>
            The session
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsClient.Session">
            <summary>
            Gets the session that initiated this <see cref="T:TwinCAT.IConnection" />
            </summary>
            <value>The session or NULL</value>
            <remarks>The Session can be null on standalone connections.</remarks>
        </member>
        <member name="T:TwinCAT.Ads.TcAdsClient.DataStreamSizeException">
            <summary>
            DataStream size Exception
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.DataStreamSizeException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TcAdsClient.DataStreamSizeException"/> class.
            </summary>
            <param name="parameterName">Name of the parameter.</param>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.Read(System.Int32,System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32)">
            <summary>
            Reads data synchronously from an ADS device and writes it to the given stream.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that receives the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <returns>Number of succesfully returned data bytes.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.Read(System.Int32,System.Int32,TwinCAT.Ads.AdsStream)">
            <summary>
            Reads data synchronously from an ADS device and writes it to the given stream.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that receives the data.</param>
            <returns>Number of successfully returned data bytes.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.Read(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32)">
            <summary>
            Reads data synchronously from an ADS device and writes it to the given stream.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that receives the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <returns>Number of successfully returned data bytes.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.Read(System.UInt32,System.UInt32,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Reads data synchronously from an ADS device and writes it to the given stream.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that receives the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <returns>Number of successfully returned data bytes.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.TryRead(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,System.Int32@)">
            <summary>
            Reads data synchronously from an ADS device and writes it to the given stream.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that receives the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <param name="readBytes">Number of successfully returned data bytes.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.TryRead(System.UInt32,System.UInt32,System.Byte[],System.Int32,System.Int32,System.Int32@)">
            <summary>
            Reads data synchronously from an ADS device and writes it to the given stream.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that receives the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <param name="readBytes">Number of successfully returned data bytes.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.Read(System.Int64,System.Int64,TwinCAT.Ads.AdsStream,System.Int32,System.Int32)">
            <summary>
            Reads data synchronously from an ADS device and writes it to the given stream.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that receives the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <returns>Number of successfully returned data bytes.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.Read(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream)">
            <summary>
            Reads data synchronously from an ADS device and writes it to the given stream.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that receives the data.</param>
            <returns>Number of successfully returned data bytes.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.TryRead(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,System.Int32@)">
            <summary>
            Reads data synchronously from an ADS device and writes it to the given stream.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that receives the data.</param>
            <param name="readBytes">Number of successfully returned data bytes.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.TryReadWrite(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,System.Int32@)">
            <summary>
            Writes data synchronously to an ADS device and then Reads data from this device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="rdDataStream">Stream that receives the data that has been read.</param>
            <param name="rdOffset">Offset of the data in rdDataStream.</param>
            <param name="rdLength">Length of the data in rdDataStream.</param>
            <param name="wrDataStream">Stream that contains the data that should be written.</param>
            <param name="wrOffset">Offset of the data in wrDataStream.</param>
            <param name="wrLength">Length of the data in wrDataStream.</param>
            <param name="readBytes">The read bytes.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.TryReadWrite(System.UInt32,System.UInt32,System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32,System.Int32@)">
            <summary>
            Writes data synchronously to an ADS device and then Reads data from this device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="rdDataStream">Stream that receives the data that has been read.</param>
            <param name="rdOffset">Offset of the data in rdDataStream.</param>
            <param name="rdLength">Length of the data in rdDataStream.</param>
            <param name="wrDataStream">Stream that contains the data that should be written.</param>
            <param name="wrOffset">Offset of the data in wrDataStream.</param>
            <param name="wrLength">Length of the data in wrDataStream.</param>
            <param name="readBytes">The read bytes.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.TryWrite(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that contains the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.TryWrite(System.UInt32,System.UInt32,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="writeBuffer">The write buffer.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.Read(System.Int64,System.Int64,TwinCAT.Ads.AdsStream)">
            <summary>
            Reads data synchronously from an ADS device and writes it to the given stream.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that receives the data.</param>
            <returns>Number of successfully returned data bytes.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.Read(System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32)">
            <summary>
            Reads data synchronously from an ADS device and writes it to the given stream.
            </summary>
            <param name="variableHandle">Handle of the ADS variable</param>
            <param name="dataStream">Stream that receives the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <returns>Number of successfully returned data bytes.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.TryRead(System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,System.Int32@)">
            <summary>
            Reads data synchronously from an ADS device and writes it to the given stream.
            </summary>
            <param name="variableHandle">Handle of the ADS variable</param>
            <param name="dataStream">Stream that receives the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <param name="readBytes">Number of successfully returned data bytes.</param>
            <returns>AdsErrorCode</returns>
            <exception cref="T:System.ArgumentException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.Read(System.Int32,TwinCAT.Ads.AdsStream)">
            <summary>
            Reads data synchronously from an ADS device and writes it to the given stream.
            </summary>
            <param name="variableHandle">Handle of the ADS variable</param>
            <param name="dataStream">Stream that receives the data.</param>
            <returns>Number of successfully returned data bytes.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.Write(System.Int32,System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that contains the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.Write(System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="writeBuffer">The write buffer.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.Write(System.Int32,System.Int32,TwinCAT.Ads.AdsStream)">
            <summary>
            Writes data synchronously to an ADS device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that receives the data.</param>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.Write(System.Int32,System.Int32)">
            <summary>
            Trigger Client Method/Command.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
            <remarks>This method is used to trigger Client Methods/Commands without parameters.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.Write(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that contains the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.Write(System.UInt32,System.UInt32,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that contains the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.Write(System.Int64,System.Int64,TwinCAT.Ads.AdsStream,System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that contains the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.Write(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream)">
            <summary>
            Writes data synchronously to an ADS device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that receives the data.</param>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.Write(System.Int64,System.Int64,TwinCAT.Ads.AdsStream)">
            <summary>
            Writes data synchronously to an ADS device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">Stream that receives the data.</param>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.Write(System.UInt32,System.UInt32)">
            <summary>
            Trigger Client Method/Command.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
            <remarks>This method is used to trigger Client Methods/Commands without parameters.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.Write(System.Int64,System.Int64)">
            <summary>
            Trigger Client Method/Command.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
            <remarks>This method is used to trigger Client Methods/Commands without parameters.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.EnsureOffsetLengthZero(System.Int32,System.Int32)">
            <summary>
            Ensures that offset and length parameter are 0
            </summary>
            <param name="offset">The offset.</param>
            <param name="length">The length.</param>
            <exception cref="T:TwinCAT.Ads.TcAdsClient.OffsetLengthOutOfRangeException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.EnsureValidStreamSize(TwinCAT.Ads.AdsStream,System.Int32,System.Int32)">
            <summary>
            Ensures that offset and length parameters refer to valid position within stream.
            </summary>
            <param name="dataStream">The data stream.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length.</param>
            <exception cref="T:System.ArgumentNullException">dataStream</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            offset
            or
            length
            </exception>
            <exception cref="T:TwinCAT.Ads.TcAdsClient.DataStreamSizeException">dataStream</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.EnsureValidBufferSize(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Ensures that offset and length parameters refer to valid position within stream.
            </summary>
            <param name="buffer">The buffer.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length.</param>
            <exception cref="T:System.ArgumentNullException">dataStream</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            offset
            or
            length
            </exception>
            <exception cref="T:TwinCAT.Ads.TcAdsClient.DataStreamSizeException">dataStream</exception>
            <exception cref="T:System.ArgumentNullException">dataStream</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">offset
            or
            length</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.Write(System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device.
            </summary>
            <param name="variableHandle">Handle of the ADS variable</param>
            <param name="dataStream">Stream that contains the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.TryWrite(System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device.
            </summary>
            <param name="variableHandle">Handle of the ADS variable</param>
            <param name="dataStream">Stream that contains the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <returns>AdsErrorCode.</returns>
            <exception cref="T:System.ArgumentException">
            </exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.Write(System.Int32,TwinCAT.Ads.AdsStream)">
            <summary>
            Writes data synchronously to an ADS device.
            </summary>
            <param name="variableHandle">Handle of the ADS variable</param>
            <param name="dataStream">Stream that receives the data.</param>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.ReadAny(System.Int32,System.Type,System.Int32[])">
            <summary>
            Reads data synchronously from an ADS device and writes it to an object.
            </summary>
            <remarks>
            If the Type of the object to be read is a string type, the first element of
            the parameter args specifies the number of characters of the string.
            If the Type of the object to be read is an array type, the number of elements
            for each dimension has to be specified in the parameter args. At the moment
            only 1 dimensional Arrays are supported.
            </remarks>
            <param name="variableHandle">Handle of the ADS variable.</param>
            <param name="type">Type of the object to be read.</param>
            <param name="args">Additional arguments.</param>
            <returns>The object the read data is written to.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.ReadAny(System.Int32,System.Type)">
            <summary>
            Reads data synchronously from an ADS device and writes it to an object.
            </summary>
            <param name="variableHandle">Handle of the ADS variable.</param>
            <param name="type">Type of the object to be read.</param>
            <returns>The object the read data is written to.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.ReadAny(System.Int64,System.Int64,System.Type,System.Int32[])">
            <summary>
            Reads data synchronously from an ADS device and writes it to an object.
            </summary>
            <remarks>
            If the Type of the object to be read is a string type, the first element of
            the parameter args specifies the number of characters of the string.
            If the Type of the object to be read is an array type, the number of elements
            for each dimension has to be specified in the parameter args. At the moment
            only 1 dimensional Arrays are supported.
            </remarks>
            <param name="indexGroup">Index group of the ADS variable.</param>
            <param name="indexOffset">Index offset of the ADS variable.</param>
            <param name="type">Type of the object to be read.</param>
            <param name="args">Additional arguments.</param>
            <returns>The object the read data is written to.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.ReadAny(System.UInt32,System.UInt32,System.Type,System.Int32[])">
            <summary>
            Reads data synchronously from an ADS device and writes it to an object.
            </summary>
            <remarks>
            If the Type of the object to be read is a string type, the first element of
            the parameter args specifies the number of characters of the string.
            If the Type of the object to be read is an array type, the number of elements
            for each dimension has to be specified in the parameter args. At the moment
            only 1 dimensional Arrays are supported.
            </remarks>
            <param name="indexGroup">Index group of the ADS variable.</param>
            <param name="indexOffset">Index offset of the ADS variable.</param>
            <param name="type">Type of the object to be read.</param>
            <param name="args">Additional arguments.</param>
            <returns>The object the read data is written to.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.ReadAny(System.Int64,System.Int64,System.Type)">
            <summary>
            Reads data synchronously from an ADS device and writes it to an object.
            </summary>
            <param name="indexGroup">Index group of the ADS variable.</param>
            <param name="indexOffset">Index offset of the ADS variable.</param>
            <param name="type">Type of the object to be read.</param>
            <returns>The object the read data is written to.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.ReadAny(System.UInt32,System.UInt32,System.Type)">
            <summary>
            Reads data synchronously from an ADS device and writes it to an object.
            </summary>
            <param name="indexGroup">Index group of the ADS variable.</param>
            <param name="indexOffset">Index offset of the ADS variable.</param>
            <param name="type">Type of the object to be read.</param>
            <returns>The object the read data is written to.</returns>
            <example>
            <code language="C#" title="Usage of ReadAny/WriteAny" source="..\Samples\TwinCAT.ADS.NET_Samples\01_ADS.NET_ReadWriteFlag\Form1.cs" region="CODE_SAMPLE_READWRITE_ANY"/>
            </example>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.ReadAnyString(System.UInt32,System.UInt32,System.Int32,System.Text.Encoding)">
            <summary>
            Reads the string
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="len">The length of the string.</param>
            <param name="encoding">The encoding (<see cref="P:System.Text.Encoding.Default"/> or <see cref="P:System.Text.Encoding.Unicode"/>).</param>
            <returns>System.String.</returns>
            <example>
            The following code shows how to Read/Write string values with the ANY concept.
            <code language="C#" title="Read/Write Any Strings" source="..\Samples\TwinCAT.ADS.NET_Samples\10_ADS.NET_ReadWriteString\Form1.cs" region="CODE_SAMPLE_ANYSTRING" />
            </example>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.ReadAnyString(System.Int32,System.Int32,System.Text.Encoding)">
            <summary>
            Reads the string.
            </summary>
            <param name="variableHandle">The variable handle.</param>
            <param name="len">The length of the string (e.g. 80 for STRING[80] or WSTRING[80]</param>
            <param name="encoding">The encoding (<see cref="P:System.Text.Encoding.Default"/> or <see cref="P:System.Text.Encoding.Unicode"/>).</param>
            <returns>System.String.</returns>
            <example>
            The following code shows how to Read/Write string values with the ANY concept.
            <code language="C#" title="Read/Write Any Strings" source="..\Samples\TwinCAT.ADS.NET_Samples\10_ADS.NET_ReadWriteString\Form1.cs" region="CODE_SAMPLE_ANYSTRING" />
            </example>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.WriteAny(System.Int64,System.Int64,System.Object)">
            <summary>
            Writes an object synchronously to an ADS device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="value">Object to write to the ADS device.</param>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.WriteAny(System.UInt32,System.UInt32,System.Object)">
            <summary>
            Writes an object synchronously to an ADS device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="value">Object to write to the ADS device.</param>
            <example>
            <code language="C#" title="Usage of ReadAny/WriteAny" source="..\Samples\TwinCAT.ADS.NET_Samples\01_ADS.NET_ReadWriteFlag\Form1.cs" region="CODE_SAMPLE_READWRITE_ANY"/>
            </example>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.WriteAny(System.Int32,System.Object)">
            <summary>
            Writes an object synchronously to an ADS device.
            </summary>
            <param name="variableHandle">Handle of the ADS variable.</param>
            <param name="value">Object to write to the ADS device.</param>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.WriteAny(System.Int64,System.Int64,System.Object,System.Int32[])">
            <summary>
            Writes an object synchronously to an ADS device.
            </summary>
            <remarks>
            If the Type of the object to be written is a string type, the first element of parameter args
            specifies the number of characters of the string.
            </remarks>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="value">Object to write to the ADS device.</param>
            <param name="args">Additional arguments.</param>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.WriteAny(System.UInt32,System.UInt32,System.Object,System.Int32[])">
            <summary>
            Writes an object synchronously to an ADS device.
            </summary>
            <remarks>
            If the Type of the object to be written is a string type, the first element of parameter args
            specifies the number of characters of the string.
            </remarks>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="value">Object to write to the ADS device.</param>
            <param name="args">Additional arguments.</param>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.WriteAny(System.Int32,System.Object,System.Int32[])">
            <summary>
            Writes an object synchronously to an ADS device.
            </summary>
            <remarks>
            If the Type of the object to be written is a string type, the first element of parameter args
            specifies the number of characters of the string.
            </remarks>
            <param name="variableHandle">Handle of the ADS variable.</param>
            <param name="value">Object to write to the ADS device.</param>
            <param name="args">Additional arguments.</param>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.WriteAnyString(System.UInt32,System.UInt32,System.String,System.Int32,System.Text.Encoding)">
            <summary>
            Writes the string (Potentially unsafe!)
            </summary>
            <param name="indexGroup">The index group.</param>
            <param name="indexOffset">The index offset.</param>
            <param name="value">The value.</param>
            <param name="length">The length.</param>
            <param name="encoding">The encoding.</param>
            <exception cref="T:System.NotImplementedException"></exception>
            <remarks>ATTENTION: Potentially this method is unsafe because following data can be overwritten
            after the string symbol. Please be sure to specify the string length lower than the string size
            reserved within the process image!</remarks>
            <example>
            The following code shows how to Read/Write string values with the ANY concept.
            <code language="C#" title="Read/Write Any Strings" source="..\Samples\TwinCAT.ADS.NET_Samples\10_ADS.NET_ReadWriteString\Form1.cs" region="CODE_SAMPLE_ANYSTRING" />
            </example>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.WriteAnyString(System.Int32,System.String,System.Int32,System.Text.Encoding)">
            <summary>
            Writes the string (Potentially unsafe!)
            </summary>
            <param name="variableHandle">The variable handle.</param>
            <param name="value">The value.</param>
            <param name="length">The length of the string to write</param>
            <param name="encoding">The encoding.</param>
            <exception cref="T:System.NotImplementedException"></exception>
            <remarks>ATTENTION: Potentially this method is unsafe because following data can be overwritten
            after the string symbol. Please be sure to specify the string length lower than the string size
            reserved within the process image!
            </remarks>
            <example>
            The following code shows how to Read/Write string values with the ANY concept.
            <code language="C#" title="Read/Write Any Strings" source="..\Samples\TwinCAT.ADS.NET_Samples\10_ADS.NET_ReadWriteString\Form1.cs" region="CODE_SAMPLE_ANYSTRING" />
            </example>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.ReadWrite(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device and then Reads data from this device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="rdDataStream">Stream that receives the data that has been read.</param>
            <param name="rdOffset">Offset of the data in rdDataStream.</param>
            <param name="rdLength">Length of the data in rdDataStream.</param>
            <param name="wrDataStream">Stream that contains the data that should be written.</param>
            <param name="wrOffset">Offset of the data in wrDataStream.</param>
            <param name="wrLength">Length of the data in wrDataStream.</param>
            <returns>Number of successfully returned data bytes.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.ReadWrite(System.UInt32,System.UInt32,System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device and then Reads data from this device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="rdDataStream">Stream that receives the data that has been read.</param>
            <param name="rdOffset">Offset of the data in rdDataStream.</param>
            <param name="rdLength">Length of the data in rdDataStream.</param>
            <param name="wrDataStream">Stream that contains the data that should be written.</param>
            <param name="wrOffset">Offset of the data in wrDataStream.</param>
            <param name="wrLength">Length of the data in wrDataStream.</param>
            <returns>Number of successfully returned data bytes.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.ReadWrite(System.Int64,System.Int64,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device and then Reads data from this device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="rdDataStream">Stream that receives the data that has been read.</param>
            <param name="rdOffset">Offset of the data in rdDataStream.</param>
            <param name="rdLength">Length of the data in rdDataStream.</param>
            <param name="wrDataStream">Stream that contains the data that should be written.</param>
            <param name="wrOffset">Offset of the data in wrDataStream.</param>
            <param name="wrLength">Lenght of the data in wrDataStream.</param>
            <returns>Number of succesfully returned data bytes.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.ReadWrite(System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device and then Reads data from this device.
            </summary>
            <param name="variableHandle">Variable handle.</param>
            <param name="rdDataStream">Stream that receives the data that has been read.</param>
            <param name="rdOffset">Offset of the data in rdDataStream.</param>
            <param name="rdLength">Length of the data in rdDataStream.</param>
            <param name="wrDataStream">Stream that contains the data that should be written.</param>
            <param name="wrOffset">Offset of the data in wrDataStream.</param>
            <param name="wrLength">Length of the data in wrDataStream.</param>
            <returns>Number of successfully returned data bytes.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.TryReadWrite(System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,System.Int32@)">
            <summary>
            Writes data synchronously to an ADS device and then Reads data from this device.
            </summary>
            <param name="variableHandle">Variable handle.</param>
            <param name="rdDataStream">Stream that receives the data that has been read.</param>
            <param name="rdOffset">Offset of the data in rdDataStream.</param>
            <param name="rdLength">Length of the data in rdDataStream.</param>
            <param name="wrDataStream">Stream that contains the data that should be written.</param>
            <param name="wrOffset">Offset of the data in wrDataStream.</param>
            <param name="wrLength">Length of the data in wrDataStream.</param>
            <param name="readBytes">The read bytes.</param>
            <returns>AdsErrorCode.</returns>
            <exception cref="T:System.ArgumentException">
            </exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.TryReadWrite(System.Int32,System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32,System.Int32@)">
            <summary>
            Writes data synchronously to an ADS device and then Reads data from this device.
            </summary>
            <param name="variableHandle">Variable handle.</param>
            <param name="rdDataStream">Stream that receives the data that has been read.</param>
            <param name="rdOffset">Offset of the data in rdDataStream.</param>
            <param name="rdLength">Length of the data in rdDataStream.</param>
            <param name="wrDataStream">Stream that contains the data that should be written.</param>
            <param name="wrOffset">Offset of the data in wrDataStream.</param>
            <param name="wrLength">Length of the data in wrDataStream.</param>
            <param name="readBytes">The read bytes.</param>
            <returns>AdsErrorCode.</returns>
            <exception cref="T:System.ArgumentException">
            </exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.ReadWrite(System.Int32,System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device and then Reads data from this device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="rdDataStream">Stream that receives the data that has been read.</param>
            <param name="rdOffset">Offset of the data in rdDataStream.</param>
            <param name="rdLength">Length of the data in rdDataStream.</param>
            <param name="wrDataStream">Stream that contains the data that should be written.</param>
            <param name="wrOffset">Offset of the data in wrDataStream.</param>
            <param name="wrLength">Length of the data in wrDataStream.</param>
            <returns>Number of successfully returned data bytes.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.ReadWrite(System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes data synchronously to an ADS device and then Reads data from this device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="readBuffer">The read buffer.</param>
            <param name="rdOffset">Offset of the data in rdDataStream.</param>
            <param name="rdLength">Length of the data in rdDataStream.</param>
            <param name="writeBuffer">The write buffer.</param>
            <param name="wrOffset">Offset of the data in wrDataStream.</param>
            <param name="wrLength">Length of the data in wrDataStream.</param>
            <returns>Number of successfully returned data bytes.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.ReadWrite(System.Int32,System.Int32,TwinCAT.Ads.AdsStream,TwinCAT.Ads.AdsStream)">
            <summary>
            Writes data synchronously to an ADS device and then Reads data from this device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="rdDataStream">Stream that receives the data that has been read.</param>
            <param name="wrDataStream">Stream that contains the data that should be written.</param>
            <returns>Number of successfully returned data bytes.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.ReadWrite(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,TwinCAT.Ads.AdsStream)">
            <summary>
            Writes data synchronously to an ADS device and then Reads data from this device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="rdDataStream">Stream that receives the data that has been read.</param>
            <param name="wrDataStream">Stream that contains the data that should be written.</param>
            <returns>Number of successfully returned data bytes.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.ReadWrite(System.Int64,System.Int64,TwinCAT.Ads.AdsStream,TwinCAT.Ads.AdsStream)">
            <summary>
            Writes data synchronously to an ADS device and then Reads data from this device.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="rdDataStream">Stream that receives the data that has been read.</param>
            <param name="wrDataStream">Stream that contains the data that should be written.</param>
            <returns>Number of successfully returned data bytes.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.AddDeviceNotificationEx(System.UInt32,System.UInt32,TwinCAT.Ads.AdsTransMode,System.Int32,System.Int32,System.Object,System.Type)">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <param name="type">Type of the object stored in the event argument.</param>
            <returns>The handle of the notification.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
            <example>
            The following sample shows how to use <see cref="E:TwinCAT.Ads.TcAdsClient.AdsNotificationEx"/> events.
            <code language="C#" title="Receive AdsNotifications" source="..\Samples\TwinCAT.ADS.NET_Samples\14_ADS.NET_ReadWriteAnyType\Form1.cs" region="CODE_SAMPLE_NOTIFICATIONEX" />
            </example>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.DeleteDeviceNotification(System.Int32)"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.AddDeviceNotificationEx(System.UInt32,System.UInt32,TwinCAT.Ads.AdsTransMode,System.TimeSpan,System.TimeSpan,System.Object,System.Type)">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <param name="type">Type of the object stored in the event argument.</param>
            <returns>The handle of the notification.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
            <example>
            The following sample shows how to use <see cref="E:TwinCAT.Ads.TcAdsClient.AdsNotificationEx"/> events.
            <code language="C#" title="Receive AdsNotifications" source="..\Samples\TwinCAT.ADS.NET_Samples\14_ADS.NET_ReadWriteAnyType\Form1.cs" region="CODE_SAMPLE_NOTIFICATIONEX" />
            </example>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.DeleteDeviceNotification(System.Int32)"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.AddDeviceNotificationEx(System.Int64,System.Int64,TwinCAT.Ads.AdsTransMode,System.Int32,System.Int32,System.Object,System.Type)">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <param name="type">Type of the object stored in the event argument.</param>
            <returns>The handle of the notification.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.DeleteDeviceNotification(System.Int32)"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.AddDeviceNotificationEx(System.Int64,System.Int64,TwinCAT.Ads.AdsTransMode,System.TimeSpan,System.TimeSpan,System.Object,System.Type)">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <param name="type">Type of the object stored in the event argument.</param>
            <returns>The handle of the notification.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.DeleteDeviceNotification(System.Int32)"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.AddDeviceNotificationEx(System.UInt32,System.UInt32,TwinCAT.Ads.AdsTransMode,System.Int32,System.Int32,System.Object,System.Type,System.Int32[])">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            If type is a string type, the first element of the parameter args specifies the number of characters of the string.
            If type is an array type, the number of elements for each dimension has to be specified in the parameter args.
            At the moment only 1 dimensional Arrays are supported.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <param name="type">Type of the object s0000tored in the event argument.</param>
            <param name="args">Additional arguments.</param>
            <returns>The handle of the notification.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
            <example>
            The following sample shows how to use <see cref="E:TwinCAT.Ads.TcAdsClient.AdsNotificationEx"/> events.
            <code language="C#" title="Receive AdsNotifications" source="..\Samples\TwinCAT.ADS.NET_Samples\14_ADS.NET_ReadWriteAnyType\Form1.cs" region="CODE_SAMPLE_NOTIFICATIONEX" />
            </example>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.DeleteDeviceNotification(System.Int32)"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotificationEx"/>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.AddDeviceNotificationEx(System.UInt32,System.UInt32,TwinCAT.Ads.AdsTransMode,System.TimeSpan,System.TimeSpan,System.Object,System.Type,System.Int32[])">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            If type is a string type, the first element of the parameter args specifies the number of characters of the string.
            If type is an array type, the number of elements for each dimension has to be specified in the parameter args.
            At the moment only 1 dimensional Arrays are supported.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <param name="type">Type of the object s0000tored in the event argument.</param>
            <param name="args">Additional arguments.</param>
            <returns>The handle of the notification.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.DeleteDeviceNotification(System.Int32)"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotificationEx"/>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.AddDeviceNotification(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,TwinCAT.Ads.AdsTransMode,System.Int32,System.Int32,System.Object)"/>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.AddDeviceNotificationEx(System.Int64,System.Int64,TwinCAT.Ads.AdsTransMode,System.Int32,System.Int32,System.Object,System.Type,System.Int32[])">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            If type is a string type, the first element of the parameter args specifies the number of characters of the string.
            If type is an array type, the number of elements for each dimension has to be specified in the parameter args.
            At the moment only 1 dimensional Arrays are supported.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <param name="type">Type of the object s0000tored in the event argument.</param>
            <param name="args">Additional arguments.</param>
            <returns>The handle of the notification.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.DeleteDeviceNotification(System.Int32)"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotificationEx"/>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.AddDeviceNotificationEx(System.Int64,System.Int64,TwinCAT.Ads.AdsTransMode,System.TimeSpan,System.TimeSpan,System.Object,System.Type,System.Int32[])">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            If type is a string type, the first element of the parameter args specifies the number of characters of the string.
            If type is an array type, the number of elements for each dimension has to be specified in the parameter args.
            At the moment only 1 dimensional Arrays are supported.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <param name="type">Type of the object s0000tored in the event argument.</param>
            <param name="args">Additional arguments.</param>
            <returns>The handle of the notification.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.DeleteDeviceNotification(System.Int32)"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotificationEx"/>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.AddDeviceNotificationEx(System.String,TwinCAT.Ads.AdsTransMode,System.Int32,System.Int32,System.Object,System.Type)">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="variableName">Name of the ADS variable.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <param name="type">Type of the object stored in the event argument.</param>
            <returns>The handle of the notification.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
            <example>
            The following sample shows how to use <see cref="E:TwinCAT.Ads.TcAdsClient.AdsNotificationEx"/> events.
            <code language="C#" title="Receive AdsNotifications" source="..\Samples\TwinCAT.ADS.NET_Samples\14_ADS.NET_ReadWriteAnyType\Form1.cs" region="CODE_SAMPLE_NOTIFICATIONEX" />
            </example>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.DeleteDeviceNotification(System.Int32)"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotificationEx"/>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.AddDeviceNotificationEx(System.String,TwinCAT.Ads.AdsTransMode,System.TimeSpan,System.TimeSpan,System.Object,System.Type)">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="variableName">Name of the ADS variable.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <param name="type">Type of the object stored in the event argument.</param>
            <returns>The handle of the notification.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
            <example>
            The following sample shows how to use <see cref="E:TwinCAT.Ads.TcAdsClient.AdsNotificationEx"/> events.
            <code language="C#" title="Receive AdsNotifications" source="..\Samples\TwinCAT.ADS.NET_Samples\14_ADS.NET_ReadWriteAnyType\Form1.cs" region="CODE_SAMPLE_NOTIFICATIONEX" />
            </example>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.DeleteDeviceNotification(System.Int32)"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotificationEx"/>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.AddDeviceNotificationEx(System.String,TwinCAT.Ads.AdsTransMode,System.Int32,System.Int32,System.Object,System.Type,System.Int32[])">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="variableName">Name of the ADS variable.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <param name="type">Type of the object stored in the event argument.</param>
            <param name="args">Additional arguments.</param>
            <returns>The handle of the notification.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
            <example>
            The following sample shows how to use <see cref="E:TwinCAT.Ads.TcAdsClient.AdsNotificationEx"/> events.
            <code language="C#" title="Receive AdsNotifications" source="..\Samples\TwinCAT.ADS.NET_Samples\14_ADS.NET_ReadWriteAnyType\Form1.cs" region="CODE_SAMPLE_NOTIFICATIONEX" />
            </example>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.DeleteDeviceNotification(System.Int32)"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotificationEx"/>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.TryAddDeviceNotificationEx(System.String,TwinCAT.Ads.NotificationSettings,System.Object,System.Type,System.Int32[],System.UInt32@)">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="variableName">Name of the ADS variable.</param>
            <param name="settings">The settings.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <param name="type">Type of the object stored in the event argument.</param>
            <param name="args">Additional arguments.</param>
            <param name="handle">The handle.</param>
            <returns>The handle of the notification.</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.AddDeviceNotificationEx(System.String,TwinCAT.Ads.AdsTransMode,System.TimeSpan,System.TimeSpan,System.Object,System.Type,System.Int32[])">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="variableName">Name of the ADS variable.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <param name="type">Type of the object stored in the event argument.</param>
            <param name="args">Additional arguments.</param>
            <returns>The handle of the notification.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
            <example>
            The following sample shows how to use <see cref="E:TwinCAT.Ads.TcAdsClient.AdsNotificationEx"/> events.
            <code language="C#" title="Receive AdsNotifications" source="..\Samples\TwinCAT.ADS.NET_Samples\14_ADS.NET_ReadWriteAnyType\Form1.cs" region="CODE_SAMPLE_NOTIFICATIONEX" />
            </example>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.DeleteDeviceNotification(System.Int32)"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotificationEx"/>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.AddDeviceNotification(System.Int32,System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,TwinCAT.Ads.AdsTransMode,System.Int32,System.Int32,System.Object)">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">The stream that should receive the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <returns>The handle of the notification.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.DeleteDeviceNotification(System.Int32)"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotificationEx"/>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.AddDeviceNotification(System.Int32,System.Int32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,TwinCAT.Ads.AdsTransMode,System.TimeSpan,System.TimeSpan,System.Object)">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">The stream that should receive the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <returns>The handle of the notification.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.DeleteDeviceNotification(System.Int32)"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotificationEx"/>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.AddDeviceNotification(System.Int32,System.Int32,TwinCAT.Ads.AdsStream,TwinCAT.Ads.AdsTransMode,System.Int32,System.Int32,System.Object)">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">The stream that should receive the data.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <returns>The handle of the notification.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.DeleteDeviceNotification(System.Int32)"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotificationEx"/>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.AddDeviceNotification(System.Int32,System.Int32,TwinCAT.Ads.AdsStream,TwinCAT.Ads.AdsTransMode,System.TimeSpan,System.TimeSpan,System.Object)">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">The stream that should receive the data.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <returns>The handle of the notification.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.DeleteDeviceNotification(System.Int32)"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotificationEx"/>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.AddDeviceNotification(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,TwinCAT.Ads.AdsTransMode,System.Int32,System.Int32,System.Object)">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">The stream that should receive the data.</param>
            <param name="offset">Byte Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream (in bytes)</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms. </param>
            <param name="userData">This object can be used to store user specific data.</param>
            <returns>The handle of the notification.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
            <example>
            The following sample shows how to register/unregister for AdsNotifications (asynchronous change messages) via <see cref="M:TwinCAT.Ads.TcAdsClient.AddDeviceNotification(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,TwinCAT.Ads.AdsTransMode,System.Int32,System.Int32,System.Object)"/> and <see cref="M:TwinCAT.Ads.TcAdsClient.DeleteDeviceNotification(System.Int32)"/>
            <code language="C#" title="Receive AdsNotifications" source="..\Samples\TwinCAT.ADS.NET_Samples\03_ADS.NET_EventReading\Form1.cs" region="CODE_SAMPLE_NOTIFICATIONS" />
            </example>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.DeleteDeviceNotification(System.Int32)"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotificationEx"/>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.AddDeviceNotification(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,TwinCAT.Ads.AdsTransMode,System.TimeSpan,System.TimeSpan,System.Object)">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">The stream that should receive the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms. </param>
            <param name="userData">This object can be used to store user specific data.</param>
            <returns>The handle of the notification.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
            <example>
            The following sample shows how to register/unregister for AdsNotifications (asynchronous change messages) via <see cref="M:TwinCAT.Ads.TcAdsClient.AddDeviceNotification(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,TwinCAT.Ads.AdsTransMode,System.Int32,System.Int32,System.Object)"/> and <see cref="M:TwinCAT.Ads.TcAdsClient.DeleteDeviceNotification(System.Int32)"/>
            <code language="C#" title="Receive AdsNotifications" source="..\Samples\TwinCAT.ADS.NET_Samples\03_ADS.NET_EventReading\Form1.cs" region="CODE_SAMPLE_NOTIFICATIONS" />
            </example>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.DeleteDeviceNotification(System.Int32)"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotificationEx"/>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.AddDeviceNotification(System.Int64,System.Int64,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,TwinCAT.Ads.AdsTransMode,System.Int32,System.Int32,System.Object)">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">The stream that should receive the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms. </param>
            <param name="userData">This object can be used to store user specific data.</param>
            <returns>The handle of the notification.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.DeleteDeviceNotification(System.Int32)"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotificationEx"/>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.AddDeviceNotification(System.Int64,System.Int64,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,TwinCAT.Ads.AdsTransMode,System.TimeSpan,System.TimeSpan,System.Object)">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">The stream that should receive the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms. </param>
            <param name="userData">This object can be used to store user specific data.</param>
            <returns>The handle of the notification.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.DeleteDeviceNotification(System.Int32)"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotificationEx"/>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.AddDeviceNotification(System.Int64,System.Int64,TwinCAT.Ads.AdsStream,TwinCAT.Ads.AdsTransMode,System.Int32,System.Int32,System.Object)">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">The stream that should receive the data.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <returns>The handle of the notification.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.DeleteDeviceNotification(System.Int32)"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotificationEx"/>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.AddDeviceNotification(System.Int64,System.Int64,TwinCAT.Ads.AdsStream,TwinCAT.Ads.AdsTransMode,System.TimeSpan,System.TimeSpan,System.Object)">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">The stream that should receive the data.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <returns>The handle of the notification.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.DeleteDeviceNotification(System.Int32)"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotificationEx"/>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.AddDeviceNotification(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,TwinCAT.Ads.AdsTransMode,System.Int32,System.Int32,System.Object)">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">The stream that should receive the data.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <returns>The handle of the created ADS notification.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
            <example>
            The following sample shows how to register/unregister for AdsNotifications (asynchronous change messages) via <see cref="M:TwinCAT.Ads.TcAdsClient.AddDeviceNotification(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,TwinCAT.Ads.AdsTransMode,System.Int32,System.Int32,System.Object)"/> and <see cref="M:TwinCAT.Ads.TcAdsClient.DeleteDeviceNotification(System.Int32)"/>
            <code language="C#" title="Receive AdsNotifications" source="..\Samples\TwinCAT.ADS.NET_Samples\03_ADS.NET_EventReading\Form1.cs" region="CODE_SAMPLE_NOTIFICATIONS" />
            </example>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.DeleteDeviceNotification(System.Int32)"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotificationEx"/>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.AddDeviceNotification(System.UInt32,System.UInt32,TwinCAT.Ads.AdsStream,TwinCAT.Ads.AdsTransMode,System.TimeSpan,System.TimeSpan,System.Object)">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="indexGroup">Contains the index group number of the requested ADS service.</param>
            <param name="indexOffset">Contains the index offset number of the requested ADS service.</param>
            <param name="dataStream">The stream that should receive the data.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <returns>The handle of the notification.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
            <example>
            The following sample shows how to register/unregister for AdsNotifications (asynchronous change messages) via <see cref="M:TwinCAT.Ads.TcAdsClient.AddDeviceNotification(System.String,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,TwinCAT.Ads.AdsTransMode,System.TimeSpan,System.TimeSpan,System.Object)"/> and <see cref="M:TwinCAT.Ads.TcAdsClient.DeleteDeviceNotification(System.Int32)"/>
            <code language="C#" title="Receive AdsNotifications" source="..\Samples\TwinCAT.ADS.NET_Samples\03_ADS.NET_EventReading\Form1.cs" region="CODE_SAMPLE_NOTIFICATIONS" />
            </example>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.DeleteDeviceNotification(System.Int32)"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotificationEx"/>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.AddDeviceNotification(System.String,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,TwinCAT.Ads.AdsTransMode,System.Int32,System.Int32,System.Object)">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="variableName">Name of the ADS variable.</param>
            <param name="dataStream">The stream that should receive the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <returns>The handle of the notification.</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.DeleteDeviceNotification(System.Int32)" />
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification" />
            <seealso cref="O:TwinCAT.Ads.TcAdsClient.AddDeviceNotificationEx" />
            <remarks><list type="table">
              <listheader>
                <term>
                  <see cref="T:TwinCAT.Ads.AdsTransMode" />
                </term>
                <description>Parameter semantic</description>
              </listheader>
              <item>
                <term>
                  <see cref="F:TwinCAT.Ads.AdsTransMode.CyclicInContext" />
                </term>
                <description>Value of parameter is interpreted as task context number <see cref="P:TwinCAT.Ads.ITcAdsSymbol2.ContextMask" /></description>
              </item>
              <item>
                <term>
                  <see cref="F:TwinCAT.Ads.AdsTransMode.OnChangeInContext" />
                </term>
                <description>Value of parameter is interpreted as task context number <see cref="P:TwinCAT.Ads.ITcAdsSymbol2.ContextMask" /></description>
              </item>
            </list></remarks>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.TryAddDeviceNotification(System.String,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,TwinCAT.Ads.NotificationSettings,System.Object,System.UInt32@)">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="variableName">Name of the ADS variable.</param>
            <param name="dataStream">The stream that should receive the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <param name="settings">The notification settings.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <param name="handle">The handle.</param>
            <returns>The handle of the notification.</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
            <exception cref="T:TwinCAT.Ads.AdsErrorException"></exception>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.DeleteDeviceNotification(System.Int32)" />
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification" />
            <seealso cref="O:TwinCAT.Ads.TcAdsClient.AddDeviceNotificationEx" />
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.AddDeviceNotification(System.String,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,TwinCAT.Ads.AdsTransMode,System.TimeSpan,System.TimeSpan,System.Object)">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="variableName">Name of the ADS variable.</param>
            <param name="dataStream">The stream that should receive the data.</param>
            <param name="offset">Offset of the data in dataStream.</param>
            <param name="length">Length of the data in dataStream.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms.</param>
            <param name="userData">This object can be used to store user specific data.</param>
            <returns>
            The handle of the notification.
            </returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
            <remarks>
            <list type="table">
            <listheader><term><see cref="T:TwinCAT.Ads.AdsTransMode"/></term><description>Parameter semantic</description></listheader>
            <item>
                <term><see cref="F:TwinCAT.Ads.AdsTransMode.CyclicInContext"/></term><description>Value of parameter is interpreted as task context number <see cref="P:TwinCAT.Ads.ITcAdsSymbol2.ContextMask"/></description>
            </item>
            <item>
                <term><see cref="F:TwinCAT.Ads.AdsTransMode.OnChangeInContext"/></term><description>Value of parameter is interpreted as task context number <see cref="P:TwinCAT.Ads.ITcAdsSymbol2.ContextMask"/></description>
            </item>
            </list>
            </remarks>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.DeleteDeviceNotification(System.Int32)"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotificationEx"/>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.AddDeviceNotification(System.String,TwinCAT.Ads.AdsStream,TwinCAT.Ads.AdsTransMode,System.Int32,System.Int32,System.Object)">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="variableName">Name of the ADS variable.</param>
            <param name="dataStream">The stream that should receive the data.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms. </param>
            <param name="userData">This object can be used to store user specific data.</param>
            <returns>The handle of the notification.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.DeleteDeviceNotification(System.Int32)"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotificationEx"/>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.AddDeviceNotification(System.String,TwinCAT.Ads.AdsStream,TwinCAT.Ads.AdsTransMode,System.TimeSpan,System.TimeSpan,System.Object)">
            <summary>
            Connects a variable to the ADS client. The ADS client will be notified by the AdsNotification event.
            </summary>
            <param name="variableName">Name of the ADS variable.</param>
            <param name="dataStream">The stream that should receive the data.</param>
            <param name="transMode">Specifies if the event should be fired cyclically or only if the variable has changed.</param>
            <param name="cycleTime">The ADS server checks whether the variable has changed after this time interval. Unit is in ms.</param>
            <param name="maxDelay">The AdsNotification event is fired at the latest when this time has elapsed. The unit is ms. </param>
            <param name="userData">This object can be used to store user specific data.</param>
            <returns>The handle of the notification.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.DeleteDeviceNotification(System.Int32)"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotification"/>
            <seealso cref="E:TwinCAT.Ads.TcAdsClient.AdsNotificationEx"/>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.DeleteDeviceNotification(System.Int32)">
            <summary>
            Deletes an existing notification.
            </summary>
            <param name="notificationHandle">Handle of the notification.</param>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
            <example>
            The following sample shows how to register/unregister for AdsNotifications (asynchronous change messages) via <see cref="M:TwinCAT.Ads.TcAdsClient.AddDeviceNotification(System.String,TwinCAT.Ads.AdsStream,System.Int32,System.Int32,TwinCAT.Ads.AdsTransMode,System.TimeSpan,System.TimeSpan,System.Object)"/> and <see cref="M:TwinCAT.Ads.TcAdsClient.DeleteDeviceNotification(System.Int32)"/>
            <code language="C#" title="Receive AdsNotifications" source="..\Samples\TwinCAT.ADS.NET_Samples\03_ADS.NET_EventReading\Form1.cs" region="CODE_SAMPLE_NOTIFICATIONS" />
            </example>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.TryDeleteDeviceNotification(System.UInt32)">
            <summary>
            Deletes an existing notification.
            </summary>
            <param name="notificationHandle">Handle of the notification.</param>
            <returns>AdsErrorCode.</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.ReadDeviceInfo">
            <summary>
            Reads the identification and version number of an ADS server.
            </summary>
            <returns>DeviceInfo struct containing the name of the device and the version information.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.WriteControl(TwinCAT.Ads.StateInfo,TwinCAT.Ads.AdsStream,System.Int32,System.Int32)">
            <summary>
            Changes the ADS status and the device status of an ADS server.
            </summary>
            <param name="stateInfo">New ADS status and device status.</param>
            <param name="dataStream">Stream that contains the data that should be sent to the ADS device</param>
            <param name="offset">Offset of the data in the stream.</param>
            <param name="length">Length of the data in the stream.</param>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.TryWriteControl(TwinCAT.Ads.StateInfo,TwinCAT.Ads.AdsStream,System.Int32,System.Int32)">
            <summary>
            Changes the ADS status and the device status of an ADS server.
            </summary>
            <param name="stateInfo">New ADS status and device status.</param>
            <param name="dataStream">Stream that contains the data that should be sent to the ADS device</param>
            <param name="offset">Offset of the data in the stream.</param>
            <param name="length">Length of the data in the stream.</param>
            <returns>AdsErrorCode.</returns>
            <exception cref="T:System.ArgumentException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.TryWriteControl(TwinCAT.Ads.StateInfo)">
            <summary>
            Changes the ADS status and the device status of an ADS server.
            </summary>
            <param name="stateInfo">New ADS status and device status.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.WriteControl(TwinCAT.Ads.StateInfo)">
            <summary>
            Changes the ADS status and the device status of an ADS server.
            </summary>
            <param name="stateInfo">New ADS status and device status.</param>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.ReadState">
            <summary>
            Reads the ADS status and the device status from an ADS server.
            </summary>
            <returns>The ADS statue and device status.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.TryReadState(TwinCAT.Ads.StateInfo@)">
            <summary>
            Reads the ADS status and the device status from an ADS server. Unlike the ReadState method this method does not call an exception on failure. Instead an AdsErrorCode is returned.
            If the return value is equal to AdsErrorCode.NoError the call was successfull.
            </summary>
            <param name="stateInfo">The ADS statue and device status.</param>
            <returns>AdsErrorCode of the ads read state call. Check for AdsErrorCode.NoError to see if call was successfull.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.CreateVariableHandle(System.String)">
            <summary>
            Generates a unique handle for an ADS variable.
            </summary>
            <param name="variableName">Name of the ADS variable</param>
            <returns>The handle of the ADS Variable.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.DeleteVariableHandle(System.Int32)">
            <summary>
            Releases the handle of a ADS variable again.
            </summary>
            <param name="variableHandle">Handle of the ADS variable</param>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.ReadSymbolInfo(System.String)">
            <summary>
            Call this method to obtain information about the individual symbols (variables) in ADS devices.
            </summary>
            <param name="name">Name of the symbol.</param>
            <returns>A ITcAdsSymbol containing the requested symbol information or null if symbol could not
            be found.</returns>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.ReadDataType(System.String)">
            <summary>
            Call this method to obtain information about the specified data type.
            </summary>
            <param name="typeName">Name of the data type (without namespace)</param>
            <returns>An <IDataType></IDataType> containing the requested type.</returns>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.TryReadDataType(System.String,TwinCAT.TypeSystem.IDataType@)" />
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.TryReadDataType(System.String,TwinCAT.TypeSystem.IDataType@)">
            <summary>
            Call this method to obtain information about the specified data type.
            </summary>
            <param name="typeName">Name of the symbol.</param>
            <param name="dataType">The symbol.</param>
            <returns>A <see cref="T:TwinCAT.TypeSystem.IDataType" /> containing the requested symbol information or null if symbol could not
            be found.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">typeName</exception>
            <exception cref="T:System.ObjectDisposedException"></exception>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.ReadDataType(System.String)" />
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.getSymbolTable">
            <summary>
            Gets the symbol table.
            </summary>
            <returns>SymbolInfoTable.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.CreateSymbolInfoLoader">
            <summary>
            Creates a new instance of the TcAdsSymbolInfoLoader class (Symbol Browser V1, obsolete).
            </summary>
            <remarks>This is the traditional way of accessing symbol information from the target device that is still supported here
            for backward compatibility. 
            For new implementations please consider to use the new symbol browsing capabilities accessed by the
            <see cref="T:TwinCAT.Ads.TypeSystem.SymbolLoaderFactory"/> class (<see cref="M:TwinCAT.Ads.TypeSystem.SymbolLoaderFactory.Create(TwinCAT.IConnection,TwinCAT.ISymbolLoaderSettings)"/> method).
            </remarks>
            <returns>Instance of the TcAdsSymbolInfoLoader class.</returns>
            <example>
            <code language="C#" title="Create SymbolLoader V1 object" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV1.cs" region="CODE_SAMPLE"/>
            </example>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC directly from the <see cref="T:TwinCAT.Ads.TcAdsClient"/> class.
            <code language="C#" title="RPC Call Example" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV1.cs" region="CODE_SAMPLE_RPCCALL" />
            </example>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.CreateSymbolLoader">
            <summary>
            Creates the symbol loader with default settings.
            </summary>
            <returns>ISymbolLoader interface of the created symbol loader.</returns>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.CreateSymbolLoader(TwinCAT.SymbolsLoadMode)">
            <summary>
            This method is obsolete.
            </summary>
            <param name="mode">The mode.</param>
            <returns>ISymbolLoader interface of the created symbol loader.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.CreateSymbolLoader(TwinCAT.Ads.SymbolLoaderSettings)">
            <summary>
            Creates a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.IAdsSymbolLoader">Symbol loader</see> with the specified mode (SymbolBrowser V2, new version)
            </summary>
            <param name="settings">The settings.</param>
            <returns>The <see cref="T:TwinCAT.Ads.TypeSystem.IAdsSymbolLoader" /> interface of the Symbol loader.</returns>
            <example>
            The following sample shows how to create a dynamic version of the SymbolLoader V2. The dynamic symbol loader makes use of the Dynamic Language Runtime (DLR) of the .NET Framework.
            That means Structures, Arrays and Enumeration types and instances are generated 'on-the-fly' during symbol Browsing. These created dynamic objects are a one to one representation
            of the Symbol Server target objects (e.g the IEC61131 types on the PLC).
            Dynamic language features are only available from .NET4 upwards.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV2DynamicTree.cs" region="CODE_SAMPLE" />
            The following sample shows how to create a static (non dynamic) version of the SymbolLoader V2.
            The static symbol loader in version 2 is a nearly code compatible version of the Dynamic Loader, only the dynamic creation of objects is not available. The reason for supporting
            this mode is that .NET Framework Versions lower than Version 4.0 (CLR2) doesn't support the Dynamic Language Runtime (DLR).
            The SymbolLoader V2 static object is supported from .NET 2.0 on.
            <code language="C#" title="Virtual Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV2VirtualTree.cs" region="CODE_SAMPLE" /></example>
            <example>
            The SymbolLoader V2 static object is supported from .NET 2.0 on.
            <code language="C#" title="Flat Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV2Flat.cs" region="CODE_SAMPLE" /></example>
            <example>
              <code language="C#" title="Argument Parser" source="..\Samples\Sample.TwinCATAds\ArgParser.cs" region="CODE_SAMPLE" />
              <code language="C#" title="Dumping Symbols" source="..\Samples\Sample.TwinCATAds\SymbolDump.cs" region="CODE_SAMPLE" />
            </example>
            <seealso cref="T:TwinCAT.Ads.TypeSystem.SymbolLoaderFactory" />
            <remarks>The Symbol Loader (V2) supports the following <see cref="T:TwinCAT.SymbolsLoadMode">modes</see>.
            <list type="Table"><listheader><term></term><description></description></listheader><item><term><see cref="F:TwinCAT.SymbolsLoadMode.Flat" /></term><description>The flat mode organizes the Symbols in a flat list. This mode is available in all .NET versions.
            </description></item><item><term><see cref="F:TwinCAT.SymbolsLoadMode.VirtualTree" /></term><description>The virtual tree mode organizes the Symbols hierarchically with parent-child relationships. This mode is available in all .NET Versions.
            </description></item><item><term><see cref="F:TwinCAT.SymbolsLoadMode.DynamicTree" /></term><description>The Dynamic tree mode organizes the Symbols hierarchically and (dynamically) creates struct members,
            array elements and enum fields on the fly. This feature is only available on platforms that support the Dynamic
            Language Runtime (DLR), actually all .NET Framework Version larger than 4.0.
            </description></item></list>
            Virtual instances means, that all Symbols are ordered within a tree structure. For that symbol nodes that are not located on a fixed address, a Virtual Symbol will be created.
            Setting the virtualInstance parameter to 'false' means, that the located symbols will be returned in a flattened list.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.CreateSymbolLoader(TwinCAT.ISession,TwinCAT.Ads.SymbolLoaderSettings)">
            <summary>
            Creates a new instance of the <see cref="T:TwinCAT.Ads.TypeSystem.IAdsSymbolLoader">Symbol loader</see> with the specified mode (SymbolBrowser V2, new version)
            </summary>
            <param name="session">The session (for session orientated loads / symbols). Can be NULL if not present.</param>
            <param name="settings">The settings.</param>
            <returns>The <see cref="T:TwinCAT.Ads.TypeSystem.IAdsSymbolLoader" /> interface of the Symbol loader.</returns>
            <example>
            The following sample shows how to create a dynamic version of the SymbolLoader V2. The dynamic symbol loader makes use of the Dynamic Language Runtime (DLR) of the .NET Framework.
            That means Structures, Arrays and Enumeration types and instances are generated 'on-the-fly' during symbol Browsing. These created dynamic objects are a one to one representation
            of the Symbol Server target objects (e.g the IEC61131 types on the PLC).
            Dynamic language features are only available from .NET4 upwards.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV2DynamicTree.cs" region="CODE_SAMPLE" />
            The following sample shows how to create a static (non dynamic) version of the SymbolLoader V2.
            The static symbol loader in version 2 is a nearly code compatible version of the Dynamic Loader, only the dynamic creation of objects is not available. The reason for supporting
            this mode is that .NET Framework Versions lower than Version 4.0 (CLR2) doesn't support the Dynamic Language Runtime (DLR).
            The SymbolLoader V2 static object is supported from .NET 2.0 on.
            <code language="C#" title="Virtual Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV2VirtualTree.cs" region="CODE_SAMPLE" /></example>
            <example>
            The SymbolLoader V2 static object is supported from .NET 2.0 on.
            <code language="C#" title="Flat Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV2Flat.cs" region="CODE_SAMPLE" /></example>
            <example>
              <code language="C#" title="Argument Parser" source="..\Samples\Sample.TwinCATAds\ArgParser.cs" region="CODE_SAMPLE" />
              <code language="C#" title="Dumping Symbols" source="..\Samples\Sample.TwinCATAds\SymbolDump.cs" region="CODE_SAMPLE" />
            </example>
            <seealso cref="T:TwinCAT.Ads.TypeSystem.SymbolLoaderFactory" />
            <remarks>The Symbol Loader (V2) supports the following <see cref="T:TwinCAT.SymbolsLoadMode">modes</see>.
            <list type="Table"><listheader><term></term><description></description></listheader><item><term><see cref="F:TwinCAT.SymbolsLoadMode.Flat" /></term><description>The flat mode organizes the Symbols in a flat list. This mode is available in all .NET versions.
            </description></item><item><term><see cref="F:TwinCAT.SymbolsLoadMode.VirtualTree" /></term><description>The virtual tree mode organizes the Symbols hierarchically with parent-child relationships. This mode is available in all .NET Versions.
            </description></item><item><term><see cref="F:TwinCAT.SymbolsLoadMode.DynamicTree" /></term><description>The Dynamic tree mode organizes the Symbols hierarchically and (dynamically) creates struct members,
            array elements and enum fields on the fly. This feature is only available on platforms that support the Dynamic
            Language Runtime (DLR), actually all .NET Framework Version larger than 4.0.
            </description></item></list>
            Virtual instances means, that all Symbols are ordered within a tree structure. For that symbol nodes that are not located on a fixed address, a Virtual Symbol will be created.
            Setting the virtualInstance parameter to 'false' means, that the located symbols will be returned in a flattened list.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.ReadSymbol(System.String,System.Type,System.Boolean)">
            <summary>
            Reads the symbol value by handle
            </summary>
            <param name="symbolPath">The Symbol path.</param>
            <param name="managedType">Managed type</param>
            <param name="reloadInfo">Reload type/symbol information and the handle cache.</param>
            <returns>The value.</returns>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.ReadSymbolByName(System.String,System.Type,System.Boolean)"/>
            <remarks>This method reads the value of the symbol by handle. The handle is internally cached.
            Therefore this method is more efficient than <see cref="M:TwinCAT.Ads.TcAdsClient.ReadSymbolByName(System.String,System.Type,System.Boolean)"/>, if the symbol (symbolPath) is accessed more frequently by the price of 2 extra communication
            rountrips (one on first symbol access creating the handle and the second on deleting the handle on dispose"/>.
            The following communication sequence will be processed:
            <list type="number">
            <item>Reading the SymbolInfo if not cached yet</item>
            <item>Reading the DataTypeInfo if not cached yet</item>
            <item>Registering the Symbol handle if not cached yet or not valid anymore</item>
            <item>Reading the value by Handle</item>
            <item>Unregistering the handle when connection is closed / cache will be reset.</item>
            </list>
            </remarks>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.ReadSymbolByName(System.String,System.Type,System.Boolean)">
            <summary>
            Reads the symbol value by symbol path.
            </summary>
            <param name="symbolPath">The Symbol path.</param>
            <param name="managedType">Managed type</param>
            <param name="reloadInfo">Reload type/symbol information.</param>
            <returns>The value.</returns>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.ReadSymbol(System.String,System.Type,System.Boolean)"/>
            <remarks>This method reads the value of the symbol directly not using the handle indirection. Therefore it is more efficient than
            <see cref="M:TwinCAT.Ads.TcAdsClient.ReadSymbol(System.String,System.Type,System.Boolean)"/> if the symbol/symbol path is only accessed once. Furthermore no handling for invalid handles is necessary (Project reload, restarted targets).
            The following communication sequence will be processed:
            <list type="number">
            <item>Reading the SymbolInfo if not cached yet</item>
            <item>Reading the DataTypeInfo if not cached yet</item>
            <item>Reading the value by Path</item>
            </list>
            </remarks>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.ReadSymbol(System.String,System.Type,System.Boolean)"/>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.WriteSymbol(System.String,System.Object,System.Boolean)"/>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.WriteSymbol(System.String,System.Object,System.Boolean)">
            <summary>
            Writes the symbol (by handle)
            </summary>
            <param name="symbolPath">The symbol path.</param>
            <param name="value">The value.</param>
            <param name="reloadInfo">Reload type/symbol information and the handle cache.</param>
            <remarks>This method writes the value of the symbol by handle.
            The value must be 'marshalable' to the symbol types memory layout.
            The handle is internally cached.
            The following communication sequence will be processed:
            <list type="number">
            <item>Reading the SymbolInfo if not cached yet</item>
            <item>Reading the DataTypeInfo if not cached yet</item>
            <item>Registering the Symbol handle if not cached yet or not valid anymore</item>
            <item>Writing the value by Handle</item>
            <item>Unregistering the handle when connection is closed / cache will be reset.</item>
            </list>
            </remarks>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.ReadSymbol(System.String,System.Type,System.Boolean)"/>
            <seealso cref="M:TwinCAT.Ads.TcAdsClient.ReadSymbolByName(System.String,System.Type,System.Boolean)"/>
        </member>
        <member name="T:TwinCAT.Ads.TcAdsClient.AccessMethods">
            <summary>
            Enum SumAccessMode
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsClient.AccessMethods.IndexGroupIndexOffset">
            <summary>
            Access by IndexGroup / IndexOffset
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsClient.AccessMethods.ValueByHandle">
            <summary>
            Accesses a value by handle
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsClient.AccessMethods.ValueByName">
            <summary>
            Access a value by name
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsClient.AccessMethods.AcquireHandleByName">
            <summary>
            Acquire handle by name
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsClient.AccessMethods.ReleaseHandle">
            <summary>
            Release handle
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsClient.AccessMethods.None">
            <summary>
            None / Uninitialized
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsClient.AccessMethods.Mask_All">
            <summary>
            All Access methods are allowed
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsClient.AccessMethods.Mask_Symbolic">
            <summary>
            Only Symbolic access is allowed (No Processimage IndexGroup/IndexOffset)
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.useSymbolPathAccess(TwinCAT.Ads.ITcAdsSymbol)">
            <summary>
            Uses the symbol path access.
            </summary>
            <param name="symbol">The symbol.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.ReadSymbol(TwinCAT.Ads.ITcAdsSymbol)">
            <summary>
            Reads the value of a symbol and returns it as an object. Strings and all primitive datatypes(UInt32, Int32, Bool etc.) are supported. 
            Arrays and structures cannot be read.
            </summary>
            <param name="symbol">The symbol that should be read.</param>
            <returns>The value of the symbol as an object.</returns>
            <exception cref="T:TwinCAT.Ads.AdsDatatypeNotSupportedException">Thrown when a ADS datatype is not supported.</exception>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the Sync port is not open.</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.WriteSymbol(TwinCAT.Ads.ITcAdsSymbol,System.Object)">
            <summary>
            Writes a value to the symbol. Strings and all primitive data types(UInt32, Int32, Bool etc.) are supported.  Array and structures are not supported.
            If a string is passed as parameter, the method attempts to parse the string according to the ADS data type of the symbol.
            </summary>
            <param name="symbol">The symbol the value is written to.</param>
            <param name="val">The value to write.</param>
            <exception cref="T:TwinCAT.Ads.AdsDatatypeNotSupportedException">Thrown when a ADS data type is not supported.</exception>
            <exception cref="T:TwinCAT.Ads.AdsErrorException">Thrown when the ADS call fails.</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.InvokeRpcMethod(System.String,System.String,System.Object[])">
            <summary>
            Invokes the specified RPC Method.
            </summary>
            <param name="symbolPath">The symbol path.</param>
            <param name="methodName">Name of the method.</param>
            <param name="inParameters">The RPC In-Parameters, or NULL.</param>
            <returns>The return value of the Method (as object) or NULL if void.</returns>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV1.cs" region="CODE_SAMPLE_RPCCALL" /></example>
            <remarks>This method only supports primitive data types as <paramref name="inParameters" />. Any available outparameters will be ignored.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.InvokeRpcMethod(System.String,System.String,System.Object[],System.Object[]@)">
            <summary>
            Invokes the specified RPC Method.
            </summary>
            <param name="symbolPath">The symbol path.</param>
            <param name="methodName">Name of the method.</param>
            <param name="inParameters">The RPC In-Parameters, or NULL.</param>
            <param name="outParameters">The RPC Out-parameters, or NULL</param>
            <returns>The return value of the Method (as object) or NULL if void.</returns>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV1.cs" region="CODE_SAMPLE_RPCCALL" /></example>
            <remarks>This method only supports primitive data types as <paramref name="inParameters" />/<paramref name="outParameters" />.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.InvokeRpcMethod(TwinCAT.Ads.ITcAdsSymbol,System.String,System.Object[])">
            <summary>
            Invokes the specified RPC Method.
            </summary>
            <param name="symbol">The symbol with RPC Methods.</param>
            <param name="methodName">Name of the method.</param>
            <param name="inParameters">The RPC In-Parameters, or NULL.</param>
            <returns>The return value of the Method (as object) or NULL if void.</returns>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV1.cs" region="CODE_SAMPLE_RPCCALL" /></example>
            <remarks>This method only supports primitive data types as <paramref name="inParameters" />. Any available outparameters will be ignored.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.InvokeRpcMethod(TwinCAT.Ads.ITcAdsSymbol,System.String,System.Object[],System.Object[]@)">
            <summary>
            Invokes the specified RPC Method.
            </summary>
            <param name="symbol">The symbol with RPC Methods.</param>
            <param name="methodName">Name of the method.</param>
            <param name="inParameters">The RPC In-Parameters, or NULL.</param>
            <param name="outParameters">The RPC Out-parameters, or NULL</param>
            <returns>The return value of the Method (as object) or NULL if void.</returns>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV1.cs" region="CODE_SAMPLE_RPCCALL" /></example>
            <remarks>This method only supports primitive data types as <paramref name="inParameters" />/<paramref name="outParameters" />.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.InvokeRpcMethod(TwinCAT.Ads.ITcAdsSymbol,System.String,System.Object[],TwinCAT.TypeSystem.AnyTypeSpecifier[],TwinCAT.TypeSystem.AnyTypeSpecifier,System.Object[]@)">
            <summary>
            Invokes the specified RPC Method.
            </summary>
            <param name="symbol">The symbol with RPC Methods.</param>
            <param name="methodName">Name of the method.</param>
            <param name="inParameters">The RPC In-Parameters, or NULL.</param>
            <param name="outSpecifiers">The out specifiers (specifying the out types) or NULL.</param>
            <param name="retSpecifier">The ret specifier (specifying the return value) or NULL.</param>
            <param name="outParameters">The out parameters.</param>
            <returns>The return value of the Method (as object) or NULL if void.</returns>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV1.cs" region="CODE_SAMPLE_RPCCALL" /></example>
            <remarks>The RpcMethod optionally support In-Parameters, Out-Parameters and Return values. Therefore the parameters <paramref name="inParameters" />, <paramref name="outParameters" />, <paramref name="outSpecifiers" />, <paramref name="retSpecifier" />
            are allowed to be empty or NULL.
            In case of using primitive datatypes, the type specifier parameters (<paramref name="outSpecifiers" /> and <paramref name="retSpecifier" />) are not necessary and should not be set.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.InvokeRpcMethod(System.String,System.String,System.Object[],TwinCAT.TypeSystem.AnyTypeSpecifier[],TwinCAT.TypeSystem.AnyTypeSpecifier,System.Object[]@)">
            <summary>
            Invokes the specified RPC Method
            </summary>
            <param name="symbolPath">The symbol path.</param>
            <param name="methodName">The method name.</param>
            <param name="inParameters">The RPC In-Parameters, or NULL.</param>
            <param name="outSpecifiers">The out specifiers (specifying the out types) or NULL.</param>
            <param name="retSpecifier">The ret specifier (specifying the return value) or NULL.</param>
            <param name="outParameters">The RPC Out-parameters, or NULL</param>
            <returns>The return value of the Method (as object).</returns>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV1.cs" region="CODE_SAMPLE_RPCCALL" /></example>
            <remarks>The RpcMethod optionally support In-Parameters, Out-Parameters and Return values. Therefore the parameters <paramref name="inParameters" />, <paramref name="outParameters" />, <paramref name="outSpecifiers" />, <paramref name="retSpecifier" />
            are allowed to be empty or NULL.
            In case of using primitive datatypes, the type specifier parameters (<paramref name="outSpecifiers" /> and <paramref name="retSpecifier" />) are not necessary and should not be set.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.TryInvokeRpcMethod(System.String,System.String,System.Object[],System.Object[]@,System.Object@)">
            <summary>
            Invokes the specified RPC Method
            </summary>
            <param name="symbolPath">The symbol path.</param>
            <param name="methodName">The method name.</param>
            <param name="inParameters">The RPC In-parameters, or NULL</param>
            <param name="outParameters">The RPC Out-parameters, or NULL</param>
            <param name="retValue">The return value of the RPC method as object.</param>
            <returns>The ADS Error Code.</returns>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV1.cs" region="CODE_SAMPLE_RPCCALL" /></example>
            <remarks>This method only supports primitive data types as <paramref name="inParameters" />/<paramref name="outParameters" />.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.TryInvokeRpcMethod(System.String,System.String,System.Object[],System.Object@)">
            <summary>
            Invokes the specified RPC Method
            </summary>
            <param name="symbolPath">The symbol path.</param>
            <param name="methodName">The method name.</param>
            <param name="inParameters">The RPC In-Parameters, or NULL.</param>
            <param name="retValue">The return value of the RPC method as object.</param>
            <returns>The ADS Error Code.</returns>
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV1.cs" region="CODE_SAMPLE_RPCCALL" /></example>
            <remarks>This method only supports primitive data types as <paramref name="inParameters" />.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.TryInvokeRpcMethod(TwinCAT.Ads.ITcAdsSymbol,System.Int32,System.Object[],TwinCAT.TypeSystem.AnyTypeSpecifier[],TwinCAT.TypeSystem.AnyTypeSpecifier,System.Object[]@,System.Object@)">
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV1.cs" region="CODE_SAMPLE_RPCCALL" />
            </example>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.TryInvokeRpcMethod(System.String,System.String,System.Object[],TwinCAT.TypeSystem.AnyTypeSpecifier[],TwinCAT.TypeSystem.AnyTypeSpecifier,System.Object[]@,System.Object@)">
            <summary>
            Tries the invoke RPC method.
            </summary>
            <param name="symbolPath">The symbol path.</param>
            <param name="methodName">Name of the method.</param>
            <param name="inParameters">The in parameters.</param>
            <param name="outSpecifiers">The out specifiers.</param>
            <param name="retSpecifier">The ret specifier.</param>
            <param name="outParameters">The out parameters.</param>
            <param name="returnValue">The return value.</param>
            <returns>AdsErrorCode.</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
            <exception cref="T:System.ArgumentOutOfRangeException">symbolPath</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">methodName</exception>
            <exception cref="T:System.ArgumentNullException">parameters</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.TryInvokeRpcMethod(TwinCAT.Ads.ITcAdsSymbol,System.String,System.Object[],TwinCAT.TypeSystem.AnyTypeSpecifier[],TwinCAT.TypeSystem.AnyTypeSpecifier,System.Object[]@,System.Object@)">
            <summary>
            Tries the invoke RPC method.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="methodName">Name of the method.</param>
            <param name="inParameters">The in parameters.</param>
            <param name="outSpecifiers">The out specifiers.</param>
            <param name="retSpecifier">The ret specifier.</param>
            <param name="outParameters">The out parameters.</param>
            <param name="returnValue">The return value.</param>
            <returns>AdsErrorCode.</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
            <exception cref="T:System.ArgumentNullException">symbol</exception>
            <exception cref="T:System.ArgumentNullException">parameters</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">methodName</exception>
            <exception cref="T:TwinCAT.Ads.RpcMethodNotSupportedException"></exception>
            <exception cref="T:TwinCAT.Ads.RpcMethodNotSupportedException"></exception>
            <exception cref="T:TwinCAT.Ads.RpcMethodNotSupportedException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.TryInvokeRpcMethod(System.String,System.Int32,System.Object[],TwinCAT.TypeSystem.AnyTypeSpecifier[],TwinCAT.TypeSystem.AnyTypeSpecifier,System.Object[]@,System.Object@)">
            <example>
            The following sample shows how to call (Remote Procedures / Methods) within the PLC.
            <code language="C#" title="Dynamic Tree Mode" source="..\Samples\Sample.TwinCATAds\SymbolBrowserV1.cs" region="CODE_SAMPLE_RPCCALL" />
            </example>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.TryInvokeRpcMethod(TwinCAT.Ads.ITcAdsSymbol,TwinCAT.TypeSystem.IRpcMethod,System.Object[],TwinCAT.TypeSystem.AnyTypeSpecifier[],TwinCAT.TypeSystem.AnyTypeSpecifier,System.Object[]@,System.Object@)">
            <summary>
            Tries the invoke RPC method.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="rpcMethod">The RPC method.</param>
            <param name="inParameters">The in parameters.</param>
            <param name="outSpecifiers">The out specifiers.</param>
            <param name="retSpecifier">The ret specifier.</param>
            <param name="outParameters">The out parameters.</param>
            <param name="returnValue">The return value.</param>
            <returns>AdsErrorCode.</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
            <exception cref="T:TwinCAT.ClientNotConnectedException"></exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.InjectError(TwinCAT.Ads.AdsErrorCode)">
            <summary>
            Error injection only for Unit-Test purposes to simulate error conditions
            </summary>
            <param name="error">The error.</param>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsClient.InjectSymbolVersionChanged">
            <summary>
            Injection of an SymbolVersionChanged event (just for Testing purposes)
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.AdsDatatypeId">
            <summary>
            ADS data types.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsDatatypeId.ADST_VOID">
            <summary>
            Empty Type
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsDatatypeId.ADST_INT8">
            <summary>
            Integer 8 Bit
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsDatatypeId.ADST_UINT8">
            <summary>
            Unsigned integer 8 Bit
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsDatatypeId.ADST_INT16">
            <summary>
            Integer 16 Bit
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsDatatypeId.ADST_UINT16">
            <summary>
            Unsigned integer 16 Bit
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsDatatypeId.ADST_INT32">
            <summary>
            Integer 32 Bit
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsDatatypeId.ADST_UINT32">
            <summary>
            Unsigned Integer 32 Bit
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsDatatypeId.ADST_INT64">
            <summary>
            LONG Integer 64 Bit
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsDatatypeId.ADST_UINT64">
            <summary>
            Unsigned Long integer 64 Bit
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsDatatypeId.ADST_REAL32">
            <summary>
            Real (32 Bit)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsDatatypeId.ADST_REAL64">
            <summary>
            Real 64 Bit
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsDatatypeId.ADST_BIGTYPE">
            <summary>
            Blob
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsDatatypeId.ADST_STRING">
            <summary>
            STRING
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsDatatypeId.ADST_WSTRING">
            <summary>
            WSTRING
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsDatatypeId.ADST_REAL80">
            <summary>
            ADS REAL80
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsDatatypeId.ADST_BIT">
            <summary>
            ADS BIT
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsDatatypeId.ADST_MAXTYPES">
            <summary>
            Internal Only
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.AdsDatatypeArrayInfo">
            <summary>
            Array definition for a single dimension.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AdsDatatypeArrayInfo.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.AdsDatatypeArrayInfo"/> class.
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.Ads.AdsDatatypeArrayInfo.#ctor(System.Int64,System.Text.Encoding,TwinCAT.Ads.AdsBinaryReader)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.AdsDatatypeArrayInfo"/> class.
            </summary>
            <param name="parentEndPosition">The parent end position.</param>
            <param name="encoding">The encoding.</param>
            <param name="reader">The reader.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsDatatypeArrayInfo.#ctor(System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.AdsDatatypeArrayInfo"/> class.
            </summary>
            <param name="lowerBound">The lower bound.</param>
            <param name="elements">The elements.</param>
        </member>
        <member name="M:TwinCAT.Ads.AdsDatatypeArrayInfo.Read(System.Int64,System.Text.Encoding,TwinCAT.Ads.AdsBinaryReader)">
            <summary>
            Reads Binary (Ads-aligned) data from ADS stream.
            </summary>
            <param name="parentEndPosition">End position of parent structure (Error indication).</param>
            <param name="encoding">The encoding.</param>
            <param name="reader">The reader.</param>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.AdsDatatypeArrayInfo.LowerBound">
            <summary>
            Gets the lower bound.
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.AdsDatatypeArrayInfo.Elements">
            <summary>
            Gets the number of elements.
            </summary>
        </member>
        <member name="T:TwinCAT.Ads.AdsArrayDimensionsInfo">
            <summary>
            Class AdsArrayDimensionsInfo.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.AdsArrayDimensionsInfo._dims">
            <summary>
            The dimension information.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.AdsArrayDimensionsInfo.#ctor(TwinCAT.Ads.AdsDatatypeArrayInfo[])">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.AdsArrayDimensionsInfo"/> class.
            </summary>
            <param name="dims">The dims.</param>
            <exception cref="T:System.ArgumentNullException">dims</exception>
        </member>
        <member name="P:TwinCAT.Ads.AdsArrayDimensionsInfo.Elements">
            <summary>
            Get the number of Elements over all Dimensions
            </summary>
            <value>The elements.</value>
        </member>
        <member name="M:TwinCAT.Ads.AdsArrayDimensionsInfo.GetArrayElementCount(TwinCAT.Ads.AdsDatatypeArrayInfo[])">
            <summary>
            Gets the number of elements over all dimensions
            </summary>
            <param name="arrayInfo">The array information.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="P:TwinCAT.Ads.AdsArrayDimensionsInfo.LowerBounds">
            <summary>
            Gets the lower bounds.
            </summary>
            <value>The lower bounds.</value>
        </member>
        <member name="P:TwinCAT.Ads.AdsArrayDimensionsInfo.UpperBounds">
            <summary>
            Gets the upper bounds.
            </summary>
            <value>The upper bounds.</value>
        </member>
        <member name="P:TwinCAT.Ads.AdsArrayDimensionsInfo.DimensionElements">
            <summary>
            Gets the dimension elements.
            </summary>
            <value>The dimension elements.</value>
        </member>
        <member name="T:TwinCAT.Ads.TcAdsSymbolInfo">
            <summary>
            The class TcAdsSymbolInfo represents a symbol loaded by an instance of the TcAdsSymbolInfoLoader class.
            </summary>
            <seealso cref="T:TwinCAT.Ads.ITcAdsSymbol5"/>
            <seealso cref="T:TwinCAT.Ads.ITcAdsSymbolBrowser"/>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsSymbolInfo.id_counter">
            <summary>
            The id_counter
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsSymbolInfo.indexGroup">
            <summary>
            The index group
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsSymbolInfo.indexOffset">
            <summary>
            The index offset
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsSymbolInfo.size">
            <summary>
            The size
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsSymbolInfo.dataTypeId">
            <summary>
            The data type identifier
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsSymbolInfo.typeEntryFlags">
            <summary>
            The TypeEntry Flags
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsSymbolInfo.flags">
            <summary>
            The flags
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsSymbolInfo.instancePath">
            <summary>
            The name
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsSymbolInfo.shortName">
            <summary>
            The short name
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsSymbolInfo.typeName">
            <summary>
            The type name
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsSymbolInfo.comment">
            <summary>
            The comment
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsSymbolInfo.dataType">
            <summary>
            The data type
            </summary>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfo.DataType">
            <summary>
            Gets the DataType object
            </summary>
            <value>The dataType if available, or NULL.</value>
            <remarks>Tries to resolve the DataType if not cached.
            </remarks>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsSymbolInfo.symbolParser">
            <summary>
            The symbol parser
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsSymbolInfo.parent">
            <summary>
            The parent
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsSymbolInfo.subIndex">
            <summary>
            The sub index
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsSymbolInfo.subSymbols">
            <summary>
            The sub symbols
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsSymbolInfo.arrayInfo">
            <summary>
            The array infos
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsSymbolInfo.attributes">
            <summary>
            The attributes
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsSymbolInfo._id">
            <summary>
            The _id
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfo.#ctor(TwinCAT.Ads.Internal.AdsParseSymbols,TwinCAT.Ads.TcAdsSymbolInfo,System.Int32)">
            <summary>
            Initializes a new (uninitialized) instance of the <see cref="T:TwinCAT.Ads.TcAdsSymbolInfo" /> class.
            </summary>
            <param name="symbolParser">The symbol parser.</param>
            <param name="parent">The parent.</param>
            <param name="subIndex">Index of the sub.</param>
            <remarks>The members of the created instance must be initialized afterwards.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfo.#ctor(TwinCAT.Ads.Internal.AdsParseSymbols,TwinCAT.Ads.TcAdsSymbolInfo,System.Int32,TwinCAT.Ads.Internal.AdsSymbolEntry,TwinCAT.Ads.Internal.TcAdsDataType)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TcAdsSymbolInfo" /> class (Created from AdsSymbolEntry and TcAdsDataType, browsing)
            </summary>
            <param name="symbolParser">The symbol parser.</param>
            <param name="parent">The parent.</param>
            <param name="subIndex">The index.</param>
            <param name="symbolEntry">The symbol entry.</param>
            <param name="typeEntry">The type entry (can be NULL for internal Types)</param>
            <exception cref="T:System.ArgumentNullException">symbolParser
            or
            symbolEntry</exception>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfo.#ctor(TwinCAT.Ads.Internal.AdsParseSymbols,TwinCAT.Ads.TcAdsSymbolInfo,System.Int32,TwinCAT.Ads.Internal.TcAdsDataType)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TcAdsSymbolInfo" /> class (Dynamic creation from Type)
            </summary>
            <param name="symbolParser">The symbol parser.</param>
            <param name="parent">The parent.</param>
            <param name="subIndex">Index of the sub.</param>
            <param name="typeEntry">The type entry.</param>
            <exception cref="T:System.ArgumentNullException">typeEntry</exception>
            <remarks>This is used for dynamic reference creation</remarks>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfo.Parent">
            <summary>
            Gets the parent of this symbol.
            </summary>
            <value>Parent of this symbol</value>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfo.NextSymbol">
            <summary>
            Gets the next sibling of this symbol [Obsolete]
            </summary>
            <value>Next sibling of this symbol.</value>
            <remarks>Use the <see cref="P:TwinCAT.Ads.TcAdsSymbolInfo.SubSymbols"/> collection instead.</remarks>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfo.FirstSubSymbol">
            <summary>
            Gets the next sub symbol of this symbol [obsolete]
            </summary>
            <value>Next sub symbol.</value>
            <remarks>Use <see cref="P:TwinCAT.Ads.TcAdsSymbolInfo.SubSymbols"/> instead.</remarks>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfo.SubSymbols">
            <summary>
            Gets the sub symbols of this symbol as a collection of TcAdsSymbolInfo objects.
            </summary>
            <value>The SubSymbol collection.</value>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfo.SubSymbolCount">
            <summary>
            Gets the number of sub symbols [Obsolete]
            </summary>
            <value>The sub symbol count.</value>
            <remarks>Use <see cref="P:TwinCAT.Ads.TcAdsSymbolInfo.SubSymbols"/> Count member instead.</remarks>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfo.IndexGroup">
            <summary>
            Gets the index group of the symbol.
            </summary>
            <value>Index group of the symbol.</value>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfo.IndexOffset">
            <summary>
            Gets the index offset of the symbol.
            </summary>
            <value>Index offset of the symbol.</value>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfo.Size">
            <summary>
            Gets the size of the symbol.
            </summary>
            <value>Size of the symbol.</value>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfo.Datatype">
            <summary>
            Obsolete, do not use
            </summary>
            <value>Data type id of the symbol.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfo.DataTypeId">
            <summary>
            Data type of the symbol.
            </summary>
            <value>Data type of the symbol.</value>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfo.Name">
            <summary>
            Gets the name of the symbol.
            </summary>
            <value>Name of the symbol.</value>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfo.ShortName">
            <summary>
            Gets the name of the symbol (short form without prefixed names of the parents).
            </summary>
            <value>Full name of the symbol.</value>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfo.Type">
            <summary>
            Obsolete, use ITcAdsSymbol5.TypeName instead.
            </summary>
            <value>Name of the symbol data type.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfo.TypeName">
            <summary>
            Gets the name of the symbol data type.
            </summary>
            <value>Name of the symbol data type.</value>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfo.Comment">
            <summary>
            Gets the comment behind the variable declaration.
            </summary>
            <value>Comment behind the variable declaration.</value>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfo.IsPointer">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.Ads.TcAdsSymbolInfo" /> is a pointer.
            </summary>
            <value><c>true</c> if this instance is pointer; otherwise, <c>false</c>.</value>
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.Ads.TcAdsSymbolInfo" /> represents an array.
            </summary>
            <value><c>true</c> if this instance is an array; otherwise, <c>false</c>.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfo.IsReference">
            <summary>
            Indicates if the ReferenceTo flag is set for the symbol.
            </summary>
            <value><c>true</c> if is ReferenceTo, otherwise <c>false</c>.</value>
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.Ads.TcAdsSymbolInfo" /> represents an array.
            </summary>
            <value><c>true</c> if this instance is an array; otherwise, <c>false</c>.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfo.IsDereferencedReference">
            <summary>
            Gets or sets a value indicating whether an ancestor is a dereferenced Reference
            </summary>
            <value><c>true</c> if this instance is ancestor is reference; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfo.IsDereferencedPointer">
            <summary>
            Gets or sets a value indicating whether an ancestor is a dereferenced Pointer
            </summary>
            <value><c>true</c> if this instance is ancestor is pointer; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfo.TryGetPointerRef(System.String@)">
            <summary>
            Gets the Base data type of the pointer (the referenced type)
            </summary>
            <param name="referencedType">Type of the reference.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfo.ResolveType(TwinCAT.TypeSystem.DataTypeResolveStrategy)">
            <summary>
            Resolves the ALias chain of the DataType
            </summary>
            <returns>ITcAdsDataType if DataType is available, otherwise NULL</returns>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfo.TryGetReference(System.String@)">
            <summary>
            Gets the referenced data type of the reference.
            </summary>
            <param name="referencedType">Type of the referenced.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfo.IsPersistent">
            <summary>
            Indicates if the Persistent flag is set for the symbol.
            </summary>
            <value><c>true</c> if persistent, otherwise <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfo.IsBitType">
            <summary>
            Indicates if the BitValue flag is set for the symbol.
            </summary>
            <value><c>true</c> if is BitValue, otherwise <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfo.IsStatic">
            <summary>
            Indicates, that this symbol is a static symbol.
            </summary>
            <value>Static indicator.</value>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfo.SetBitType(System.Boolean)">
            <summary>
            Sets the BitType.
            </summary>
            <param name="bitType">if set to <c>true</c> [bit type].</param>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfo.IsTypeGuid">
            <summary>
            Indicates if the TypeGuid flag is set for the symbol.
            </summary>
            <value><c>true</c> if is TypeGuid, otherwise <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfo.IsReadOnly">
            <summary>
            Indicates if the ReadOnly flag is set for the symbol.
            </summary>
            <value><c>true</c> if ReadOnly, otherwise <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfo.IsTcComInterfacePointer">
            <summary>
            Indicates if the TcComInterfacePointer flag is set for the symbol.
            </summary>
            <value><c>treu</c> if is TcComInterfacePointer, otherwise <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfo.ContextMask">
            <summary>
            Gets the ContextMask of the symbol, indicating the task the variable belongs to.
            If ContextMask is not zero use <see cref="F:TwinCAT.Ads.AdsTransMode.CyclicInContext" /> or <see cref="F:TwinCAT.Ads.AdsTransMode.OnChangeInContext" /> to add notifications.
            </summary>
            <value>The context mask.</value>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfo.IsArray">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.Ads.TcAdsSymbolInfo" /> represents an array.
            </summary>
            <value><c>true</c> if this instance is an array; otherwise, <c>false</c>.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfo.ArrayDimensions">
            <summary>
            Gets the array dimensions.
            </summary>
            <value>The array dimensions.</value>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfo.ArrayInfos">
            <summary>
            Gets the collection of Array Infos.
            </summary>
            <value>The array infos.</value>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfo.IsOversamplingArray">
            <summary>
            Gets a value indicating whether this instance is oversampling array.
            </summary>
            <value><c>true</c> if this instance is oversampling array; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfo.Attributes">
            <summary>
            Gets the attributes of the <see cref="T:TwinCAT.Ads.ITcAdsSymbol" />
            </summary>
            <value>The attributes or NULL if no Attributes are defined.</value>
            int AttributeCount { get; }
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfo.IsEnum">
            <summary>
            Gets a value indicating whether this instance is an Enum data type
            </summary>
            <value><c>true</c> if this instance is enum; otherwise, <c>false</c>.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfo.HasRpcMethods">
            <summary>
            Gets a value indicating whether this instance has RPC methods (Struct types only)
            </summary>
            <value><c>true</c> if this instance has RPC methods; otherwise, <c>false</c>.</value>
            <remarks>The DataType (Structure) must be marked with the PlcAttribute 'TcRpcEnable' to enable RpcMethods, otherwise
            RpcMethods are not passed through to the ADS symbolic information.</remarks>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfo.RpcMethods">
            <summary>
            Gets the RPC method descriptions
            </summary>
            <value>The RPC methods.</value>
            <remarks>The DataType (Structure) must be marked with the PlcAttribute 'TcRpcEnable' to enable RpcMethods, otherwise
            RpcMethods are not passed through to the ADS symbolic information.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfo.ToString">
            <summary>
            Returns a <see cref="T:System.String" /> that represents this instance.
            </summary>
            <returns>A <see cref="T:System.String" /> that represents this instance.</returns>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfo.Category">
            <summary>
            Gets the Data Type Category
            </summary>
            <value>The category.</value>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfo.IsStruct">
            <summary>
            Gets a value indicating whether this instance is an Stuct data type
            </summary>
            <value><c>true</c> if this instance is struct; otherwise, <c>false</c>.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfo.BitSize">
            <summary>
            Gets the size of this <see cref="T:TwinCAT.Ads.TcAdsSymbolInfo"/> in bits.
            </summary>
            <value>The size of the bit.</value>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfo.ByteSize">
            <summary>
            Gets the (aligned) size of of the Type/Instance in Bytes
            </summary>
            <value>The size of the byte.</value>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfo.Equals(System.Object)">
            <summary>
            Equals
            </summary>
            <param name="obj">The object to compare with the current object.</param>
            <returns><c>true</c> if the specified <see cref="T:System.Object" /> is equal to this instance; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfo.op_Equality(TwinCAT.Ads.TcAdsSymbolInfo,TwinCAT.Ads.TcAdsSymbolInfo)">
            <summary>
            Implements the == operator.
            </summary>
            <param name="s1">Symbol 1.</param>
            <param name="s2">Symbol 2.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfo.op_Inequality(TwinCAT.Ads.TcAdsSymbolInfo,TwinCAT.Ads.TcAdsSymbolInfo)">
            <summary>
            Implements the != operator.
            </summary>
            <param name="s1">The symbol 1.</param>
            <param name="s2">The symbol 2.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfo.GetHashCode">
            <summary>
            Gets the HashCode of the Address
            </summary>
            <returns>A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfo.IsRecursive(System.Collections.Generic.IEnumerable{TwinCAT.Ads.ITcAdsSymbol5})">
            <summary>
            Gets a value indicating whether this instance is recursive.
            </summary>
            <param name="parents">The parents.</param>
            <returns><c>true</c> if the specified parents is recursive; otherwise, <c>false</c>.</returns>
            <value><c>true</c> if this instance is recursive; otherwise, <c>false</c>.</value>
        </member>
        <member name="T:TwinCAT.Ads.ADSIGRP_SYM">
            <summary>
            Enum ADSIGRP_SYM
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.ADSIGRP_SYM.HNDBYNAME">
             <summary>
             The hndbyname
             </summary>
             <remarks>
             readLength == 4: handle
             readLength > 4: handle(4) + var size(4) + type decoration(4) +
                             type name length(2) + type name(n) + '\0'(1)
            </remarks>
        </member>
        <member name="F:TwinCAT.Ads.ADSIGRP_SYM.VALBYNAME">
            <summary>
            VALBYNAME
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.ADSIGRP_SYM.VALBYHND">
            <summary>
            VALBYHND
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.ADSIGRP_SYM.RELEASEHND">
            <summary>
            RELEASEHND
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.ADSIGRP_SYM.INFOBYNAME">
            <summary>
            INFOBYNAME
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.ADSIGRP_SYM.VERSION">
            <summary>
            VERSION
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.ADSIGRP_SYM.INFOBYNAMEEX">
            <summary>
            INFOBYNAMEEX
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.ADSIGRP_SYM.DOWNLOAD">
            <summary>
            DOWNLOAD
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.ADSIGRP_SYM.UPLOAD">
            <summary>
            UPLOAD
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.ADSIGRP_SYM.UPLOADINFO">
            <summary>
            UPLOADINFO
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.ADSIGRP_SYM.DOWNLOAD2">
            <summary>
            DOWNLOAD2
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.ADSIGRP_SYM.DT_UPLOAD">
            <summary>
            DT_UPLOAD
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.ADSIGRP_SYM.UPLOADINFO2">
            <summary>
            UPLOADINFO2
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.ADSIGRP_SYM.SYMNOTE">
            <summary>
            notification of named handle (0xF010, 61456)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.ADSIGRP_SYM.DT_INFOBYNAMEEX">
            <summary>
            DT_INFOBYNAMEEX (0xF011,61457)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.ADSIGRP_SYM.ADDRBYHND">
            <summary>
            ADDRBYHND (0xF012,61458)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.ADSIGRP_SYM.POINTER_SUPPORT">
            <summary>
            POINTER_SUPPORT (0xF013,61459)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.ADSIGRP_SYM.POINTER_ACCESS">
            <summary>
            dummy IGRP for dereferenced pointer: read or write access via this IGRP is not possible (0xF014, 61460)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.ADSIGRP_SYM.REFERENCE_SUPPORT">
            <summary>
            REFERENCE_SUPPORT (0xF015, 61461)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.ADSIGRP_SYM.REFERENCE_ACCESS">
            <summary>
            dummy IGRP for dereferenced a reference: read or write access via this IGRP is not possible (0xF016, 61462)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.ADSIGRP_SYM.VALBYHND_WITHMASK">
            <summary>
            VALBYHND_WITHMASK (0xF018, 61464)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.ADSIGRP_SYM.NOACCESS_TO_SUBSYM">
            <summary>
            NOACCESS_TO_SUBSYM (0xF019, 61465)
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.ADSIGRP_SYM.POINTER_BITACCESS">
            <summary>
            dummy IGRP for dereferenced pointer to bit access ( ADSIGRP_SYM_POINTER_BITACCESS, 0xf014, 61466)
            </summary>
            <remarks>Read or write access via this IGRP is not possible.
            </remarks>
        </member>
        <member name="F:TwinCAT.Ads.ADSIGRP_SYM.REFERENCE_BITACCESS">
            <summary>
            dummy IGRP for dereferenced a reference to bit access: (ADSIGRP_SYM_REFERENCE_BITACCESS, 0xF01B, 61467)
            </summary>
            <remarks>
            Read or write access via this IGRP is not possible
            </remarks>
        </member>
        <member name="T:TwinCAT.Ads.TcAdsSymbolInfoLoader">
            <summary>
            The class TcAdsSymbolInfoLoader is responsible for downloading the list of declared variables and the data types from an ADS Server.
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsSymbolInfoLoader._adsClient">
            <summary>
            The _ads client
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsSymbolInfoLoader._isEnumerating">
            <summary>
            The _is enumerating
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsSymbolInfoLoader._symbolParser">
            <summary>
            The _symbol parser
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsSymbolInfoLoader._symbols">
            <summary>
            The _symbols
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsSymbolInfoLoader._dataTypes">
            <summary>
            The _data types
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfoLoader.#ctor(TwinCAT.Ads.TcAdsClient,TwinCAT.Ads.Internal.SymbolUploadInfo)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TcAdsSymbolInfoLoader" /> class.
            </summary>
            <param name="adsClient">The ads client.</param>
            <param name="symbolInfo">The symbol information.</param>
            <exception cref="T:System.ArgumentNullException">
            adsClient
            or
            symbolInfo
            </exception>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsSymbolInfoLoader._symbolInfo">
            <summary>
            The symbol upload information
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfoLoader.GetSymbols(System.Boolean)">
            <summary>
            Loads the declared symbols from the ADS device and returns them as a collection of TcAdsSymbolInfo objects.
            </summary>
            <param name="forceReload">True, if a (new) loading of the symbol information from the  server is required.</param>
            <returns>A collection of TcAdsSymbolInfo objects</returns>
            <remarks>If no symbols have been loaded before, the symbols are loaded from the server, regardless of the parameter forceReload.
            <p><b>Note about the  PLC:</b> Please attend to the PLC Control that the 'Symbol-Download' under Project / Options / TwinCAT is activated. For further information please see the manual TwinCAT PLC Control. </p><p><b>Note about NC:</b> The Symbol download has to be activated at each axis. This can de done in the configuration dialog of the axis under ‚General'. The field ‚Create Symbols' has to be marked. See manual of the TwinCAT System Manager.</p></remarks>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfoLoader.GetDataTypes(System.Boolean)">
            <summary>
            Gets the data types.
            </summary>
            <param name="forceReload">if set to <c>true</c> [force reload].</param>
            <returns>ReadOnlyTcAdsDataTypeCollection.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfoLoader.GetEnumerator">
            <summary>
            Returns an enumerator that can iterate through all symbols.
            </summary>
            <returns>An <c>IEnumerator</c> that can be used to iterate through all symbols.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfoLoader.FindSymbol(System.String)">
            <summary>
            Call this method to find a symbol in the list.
            </summary>
            <param name="name">Name of the symbol</param>
            <returns>TcAdsSymbolInfo.</returns>
            <remarks>If no symbols have been loaded before, the symbols are loaded from the server, regardless of the parameter forceReload.
            <p><b>Note about the  PLC:</b> Please attend to the PLC Control that the 'Symbol-Download' under Project / Options / TwinCAT is activated. For further information please see the manual TwinCAT PLC Control. </p><p><b>Note about NC:</b> The Symbol download has to be activated at each axis. This can de done in the configuration dialog of the axis under ‚General'. The field ‚Create Symbols' has to be marked. See manual of the TwinCAT System Manager.</p></remarks>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfoLoader.GetSymbolCount(System.Boolean)">
            <summary>
            Call this method to get the number of declared symbols.
            </summary>
            <param name="forceReload">True, if a    (new) loading of the symbol information from the  server is required.</param>
            <returns>Returns the number of symbols.</returns>
            <remarks>If no symbols have been loaded before, the symbols are loaded from the server, regardless of the parameter forceReload.
            Note about the  PLC: Please attend to the PLC Control that the 'Symbol-Download' under Project / Options / TwinCAT is activated. For further information please see the manual TwinCAT PLC Control.
            Note about NC: The Symbol download has to be activated at each axis. This can de done in the configuration dialog of the axis under ‚General'. The field ‚Create Symbols' has to be marked. See manual of the TwinCAT System Manager.</remarks>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsSymbolInfoLoader.SYMBOLUPLOAD_INITIAL_BLOCKSIZE">
            <summary>
            Initial block size used for Data type and Symbol Upload (enlarging dynamically during upload on large data blobs)
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfoLoader.GetFirstSymbol(System.Boolean)">
            <summary>
            Call this method to get the first symbol.
            </summary>
            <param name="forceReload">True, if a (new) loading of the symbol information from the  server is required.</param>
            <returns>Returns the first symbol or null if no symbols are available.</returns>
            <remarks>If no symbols have been loaded before, the symbols are loaded from the server, regardless of the parameter forceReload.
            Note about the  PLC: Please attend to the PLC Control that the 'Symbol-Download' under Project / Options / TwinCAT is activated. For further information please see the manual TwinCAT PLC Control.
            Note about NC: The Symbol download has to be activated at each axis. This can de done in the configuration dialog of the axis under ‚General'. The field ‚Create Symbols' has to be marked. See manual of the TwinCAT System Manager.</remarks>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfoLoader.initializeUploadSymbols(System.Boolean)">
            <summary>
            Initializes the upload symbols.
            </summary>
            <param name="forceReload">if set to <c>true</c> [force reload].</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfoLoader.onUploadSymbols">
            <summary>
            Uploads All Symbols and DataTypes from target device
            </summary>
        </member>
        <member name="E:TwinCAT.Ads.TcAdsSymbolInfoLoader.TypesGenerated">
            <summary>
            Occurs when new types are generated
            </summary>
        </member>
        <member name="E:TwinCAT.Ads.TcAdsSymbolInfoLoader.TypeResolveError">
            <summary>
            Occurs when a typename cannot be resolved.
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfoLoader._symbolParser_TypesGenerated(System.Object,TwinCAT.TypeSystem.DataTypeEventArgs)">
            <summary>
            Handles the TypesGenerated event of the _symbolParser control.
            </summary>
            <param name="sender">The source of the event.</param>
            <param name="e">The <see cref="T:TwinCAT.TypeSystem.DataTypeEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfoLoader._symbolParser_ResolveError(System.Object,TwinCAT.TypeSystem.DataTypeNameEventArgs)">
            <summary>
            Handles the ResolveError event of the _symbolParser control.
            </summary>
            <param name="sender">The source of the event.</param>
            <param name="e">The <see cref="T:TwinCAT.TypeSystem.DataTypeNameEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfoLoader.readUploadInfo">
            <summary>
            Reads the upload information.
            </summary>
            <returns>SymbolUploadInfo.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfoLoader.readDataTypes(TwinCAT.Ads.AdsStream,TwinCAT.Ads.Internal.SymbolUploadInfo,System.Int32)">
            <summary>
            Reads the data type information into the Stream (blockwise)
            </summary>
            <param name="datatypeStream">The datatype stream.</param>
            <param name="info">The information.</param>
            <param name="initialBlockSize">Initial size of the block.</param>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfoLoader.readSymbols(TwinCAT.Ads.AdsStream,TwinCAT.Ads.Internal.SymbolUploadInfo,System.Int32)">
            <summary>
            Reads the symbol information into the specified stream (block wise).
            </summary>
            <param name="symbolStream">The symbol stream.</param>
            <param name="info">The information.</param>
            <param name="initialBlockSize">Initial size of the block.</param>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfoLoader.PlatformPointerSize">
            <summary>
            Gets the size of the platform pointer (available only after SymbolInfos are downloaded)
            </summary>
            <value>The size of the platform pointer.</value>
        </member>
        <member name="T:TwinCAT.Ads.TcAdsSymbolInfoLoader.AdsSymbolEnumerator">
            <summary>
            ADS Symbol Enumerator
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsSymbolInfoLoader.AdsSymbolEnumerator.curSymbol">
            <summary>
            The current symbol
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsSymbolInfoLoader.AdsSymbolEnumerator.symbolLoader">
            <summary>
            The symbol loader
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsSymbolInfoLoader.AdsSymbolEnumerator.isValid">
            <summary>
            The is valid
            </summary>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsSymbolInfoLoader.AdsSymbolEnumerator.nextNavType">
            <summary>
            The next nav type
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfoLoader.AdsSymbolEnumerator.#ctor(TwinCAT.Ads.TcAdsSymbolInfoLoader)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Ads.TcAdsSymbolInfoLoader.AdsSymbolEnumerator" /> class.
            </summary>
            <param name="symbolLoader">The symbol loader.</param>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfoLoader.AdsSymbolEnumerator.CheckValid">
            <summary>
            Checks the valid.
            </summary>
            <exception cref="T:System.InvalidOperationException"></exception>
        </member>
        <member name="F:TwinCAT.Ads.TcAdsSymbolInfoLoader.AdsSymbolEnumerator._dereference">
            <summary>
            Indicates, that SubSymbols will be dereferenced (POINTER and REFERENCE types)
            </summary>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfoLoader.AdsSymbolEnumerator.MoveNext">
            <summary>
            Advances the enumerator to the next element of the collection.
            </summary>
            <returns>true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection.</returns>
        </member>
        <member name="M:TwinCAT.Ads.TcAdsSymbolInfoLoader.AdsSymbolEnumerator.Reset">
            <summary>
            Sets the enumerator to its initial position, which is before the first element in the collection.
            </summary>
            <exception cref="T:System.InvalidOperationException"></exception>
        </member>
        <member name="P:TwinCAT.Ads.TcAdsSymbolInfoLoader.AdsSymbolEnumerator.Current">
            <summary>
            Gets the current element in the collection.
            </summary>
            <value>The current.</value>
        </member>
        <member name="T:TwinCAT.PlcOpen.TimeBase">
            <summary>
            Time base class
            </summary>
        </member>
        <member name="F:TwinCAT.PlcOpen.TimeBase.internalTimeValue">
            <summary>
            The internal time value
            </summary>
        </member>
        <member name="M:TwinCAT.PlcOpen.TimeBase.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.PlcOpen.TimeBase"/> class.
            </summary>
        </member>
        <member name="M:TwinCAT.PlcOpen.TimeBase.#ctor(System.UInt32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.PlcOpen.TimeBase"/> class.
            </summary>
            <param name="timeValue">The time value.</param>
            <exception cref="T:System.ArgumentOutOfRangeException"></exception>
        </member>
        <member name="M:TwinCAT.PlcOpen.TimeBase.#ctor(System.Int64)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.PlcOpen.TimeBase"/> class.
            </summary>
            <param name="timeValue">The time value.</param>
            <exception cref="T:System.ArgumentOutOfRangeException"></exception>
        </member>
        <member name="P:TwinCAT.PlcOpen.TimeBase.MarshalSize">
            <summary>
            Gets the marshal size in bytes.
            </summary>
            <value>Marshal size in bytes.</value>
        </member>
        <member name="P:TwinCAT.PlcOpen.TimeBase.Time">
            <summary>
            Gets the time value.
            </summary>
            <value>
            The time.
            </value>
        </member>
        <member name="P:TwinCAT.PlcOpen.TimeBase.Value">
            <summary>
            Returns the value of this <see cref="T:TwinCAT.PlcOpen.IPlcOpenType`2" /> as Managed base type (DateTime or Timespan)
            </summary>
            <value>The value.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.PlcOpen.TimeBase.Ticks">
            <summary>
            Returns the number of ticks that represent the value of this <see cref="T:TwinCAT.PlcOpen.IPlcOpenType`2" /> (uint32 or uint64).
            </summary>
            <value>The ticks.</value>
        </member>
        <member name="P:TwinCAT.PlcOpen.TimeBase.TicksValueType">
            <summary>
            Gets the type of the underlying ticks resolution (uint32 or uint64)
            </summary>
            <value>The type of the ticks value.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.PlcOpen.TimeBase.ManagedValueType">
            <summary>
            Gets the type of the underlying human readable type (DateTime or Timespan)
            </summary>
            <value>The type of the managed value.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.PlcOpen.TimeBase.UntypedValue">
            <summary>
            Returns the 'Value' as object type.
            </summary>
            <value>The untyped value.</value>
            <exclude/>
        </member>
        <member name="M:TwinCAT.PlcOpen.TimeBase.TimeToValue(System.TimeSpan)">
            <summary>
            Converts the Timespan to PlcOpen ticks.
            </summary>
            <param name="time">The time.</param>
            <returns></returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.TimeBase.ValueToTime(System.UInt32)">
            <summary>
            Converts the timeValue (PlcOpen ticks) to TimeSpan
            </summary>
            <param name="timeValue">The time value.</param>
            <returns></returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.TimeBase.ValueToTime(System.Int64)">
            <summary>
            Converts the timeValue (PlcOpen ticks) to TimeSpan
            </summary>
            <param name="timeValue">The time value.</param>
            <returns></returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.TimeBase.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object" /> is equal to this instance.
            </summary>
            <param name="obj">The object to compare with the current object.</param>
            <returns><c>true</c> if the specified <see cref="T:System.Object" /> is equal to this instance; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.TimeBase.GetHashCode">
            <summary>
            Gets the HashCode of the Address
            </summary>
            <returns></returns>
        </member>
        <member name="T:TwinCAT.PlcOpen.IPlcOpenType">
            <summary>
            Interface IPlcOpenType
            </summary>
        </member>
        <member name="P:TwinCAT.PlcOpen.IPlcOpenType.ManagedValueType">
            <summary>
            Gets the type of the underlying human readable type (DateTime or Timespan)
            </summary>
            <value>The type of the managed value.</value>
        </member>
        <member name="P:TwinCAT.PlcOpen.IPlcOpenType.TicksValueType">
            <summary>
            Gets the type of the underlying ticks resolution (uint32 or uint64)
            </summary>
            <value>The type of the ticks value.</value>
        </member>
        <member name="P:TwinCAT.PlcOpen.IPlcOpenType.UntypedValue">
            <summary>
            Returns the 'Value' as object type.
            </summary>
            <value>The untyped value.</value>
        </member>
        <member name="T:TwinCAT.PlcOpen.IPlcOpenType`2">
            <summary>
            Interface IPlcOpenType
            </summary>
            <typeparam name="T1">The type of the t1.</typeparam>
            <typeparam name="T2">The type of the t2.</typeparam>
            <seealso cref="T:TwinCAT.PlcOpen.IPlcOpenType" />
        </member>
        <member name="P:TwinCAT.PlcOpen.IPlcOpenType`2.Value">
            <summary>
            Returns the value of this <see cref="T:TwinCAT.PlcOpen.IPlcOpenType`2"/> as Managed base type (DateTime or Timespan)
            </summary>
            <value>The value.</value>
        </member>
        <member name="P:TwinCAT.PlcOpen.IPlcOpenType`2.Ticks">
            <summary>
            Returns the number of ticks that represent the value of this <see cref="T:TwinCAT.PlcOpen.IPlcOpenType`2"/> (uint32 or uint64).
            </summary>
            <value>The ticks.</value>
        </member>
        <member name="T:TwinCAT.PlcOpen.LTimeBase">
            <summary>
            Time base class
            </summary>
        </member>
        <member name="F:TwinCAT.PlcOpen.LTimeBase.internalTimeValue">
            <summary>
            The internal time value 
            </summary>
        </member>
        <member name="M:TwinCAT.PlcOpen.LTimeBase.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.PlcOpen.TimeBase"/> class.
            </summary>
        </member>
        <member name="M:TwinCAT.PlcOpen.LTimeBase.#ctor(System.UInt64)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.PlcOpen.TimeBase"/> class.
            </summary>
            <param name="timeValue">The time value.</param>
            <exception cref="T:System.ArgumentOutOfRangeException"></exception>
        </member>
        <member name="P:TwinCAT.PlcOpen.LTimeBase.MarshalSize">
            <summary>
            Gets the marshal size in bytes.
            </summary>
            <value>Marshal size in bytes.</value>
        </member>
        <member name="P:TwinCAT.PlcOpen.LTimeBase.Time">
            <summary>
            Gets or the time value.
            </summary>
            <value>
            The time.
            </value>
        </member>
        <member name="P:TwinCAT.PlcOpen.LTimeBase.Value">
            <summary>
            Returns the value of this <see cref="T:TwinCAT.PlcOpen.IPlcOpenType`2" /> as Managed base type (DateTime or Timespan)
            </summary>
            <value>The value.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.PlcOpen.LTimeBase.Ticks">
            <summary>
            Returns the number of ticks that represent the value of this <see cref="T:TwinCAT.PlcOpen.IPlcOpenType`2" /> (uint32 or uint64).
            </summary>
            <value>The ticks.</value>
        </member>
        <member name="P:TwinCAT.PlcOpen.LTimeBase.TicksValueType">
            <summary>
            Gets the type of the underlying ticks resolution (uint32 or uint64)
            </summary>
            <value>The type of the ticks value.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.PlcOpen.LTimeBase.ManagedValueType">
            <summary>
            Gets the type of the underlying human readable type (DateTime or Timespan)
            </summary>
            <value>The type of the managed value.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.PlcOpen.LTimeBase.UntypedValue">
            <summary>
            Returns the 'Value' as object type.
            </summary>
            <value>The untyped value.</value>
            <exclude/>
        </member>
        <member name="M:TwinCAT.PlcOpen.LTimeBase.TimeToValue(System.TimeSpan)">
            <summary>
            Converts the Timespan to PlcOpen ticks.
            </summary>
            <param name="time">The time.</param>
            <returns></returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.LTimeBase.ValueToTime(System.UInt64)">
            <summary>
            Converts the timeValue (PlcOpen ticks) to TimeSpan
            </summary>
            <param name="nanoseconds">The time value.</param>
            <returns></returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.LTimeBase.ValueToTime(System.Int64)">
            <summary>
            Converts the timeValue (PlcOpen ticks) to TimeSpan
            </summary>
            <param name="nanoseconds">The time value.</param>
            <returns></returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.LTimeBase.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object" /> is equal to this instance.
            </summary>
            <param name="obj">The object to compare with the current object.</param>
            <returns><c>true</c> if the specified <see cref="T:System.Object" /> is equal to this instance; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.LTimeBase.GetHashCode">
            <summary>
            Gets the HashCode of the Address
            </summary>
            <returns></returns>
        </member>
        <member name="T:TwinCAT.PlcOpen.TIME">
            <summary>
            PlcOpen TIME class
            </summary>
        </member>
        <member name="M:TwinCAT.PlcOpen.TIME.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.PlcOpen.TIME"/> class.
            </summary>
        </member>
        <member name="M:TwinCAT.PlcOpen.TIME.#ctor(System.UInt32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.PlcOpen.TIME"/> class.
            </summary>
            <param name="timeValue">The time value.</param>
        </member>
        <member name="M:TwinCAT.PlcOpen.TIME.#ctor(System.Int64)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.PlcOpen.TIME"/> class.
            </summary>
            <param name="timeValue">The time value.</param>
        </member>
        <member name="M:TwinCAT.PlcOpen.TIME.#ctor(System.TimeSpan)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.PlcOpen.TIME"/> class.
            </summary>
            <param name="time">The time.</param>
        </member>
        <member name="M:TwinCAT.PlcOpen.TIME.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.PlcOpen.TIME"/> class.
            </summary>
            <param name="days">The days.</param>
            <param name="hours">The hours.</param>
            <param name="minutes">The minutes.</param>
            <param name="seconds">The seconds.</param>
            <param name="milliseconds">The milliseconds.</param>
        </member>
        <member name="M:TwinCAT.PlcOpen.TIME.#ctor(System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.PlcOpen.TIME"/> class.
            </summary>
            <param name="seconds">The seconds.</param>
            <param name="milliseconds">The milliseconds.</param>
        </member>
        <member name="M:TwinCAT.PlcOpen.TIME.ToString">
            <summary>
            Returns a <see cref="T:System.String" /> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String" /> that represents this instance.
            </returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.TIME.TryParse(System.String,TwinCAT.PlcOpen.TIME@)">
            <summary>
            Tries to parse the <see cref="T:TwinCAT.PlcOpen.TIME"/> object from string.
            </summary>
            <param name="str">The string.</param>
            <param name="ret">The ret.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.TIME.Parse(System.String)">
            <summary>
            Parses the specified string to a <see cref="T:TwinCAT.PlcOpen.TIME"/> object.
            </summary>
            <param name="str">The string.</param>
            <returns>TIME.</returns>
            <exception cref="T:System.FormatException">Cannot create TIME DataType!</exception>
        </member>
        <member name="T:TwinCAT.PlcOpen.LTIME">
            <summary>
            PlcOpen TIME class
            </summary>
        </member>
        <member name="M:TwinCAT.PlcOpen.LTIME.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.PlcOpen.TIME"/> class.
            </summary>
        </member>
        <member name="M:TwinCAT.PlcOpen.LTIME.#ctor(System.UInt64)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.PlcOpen.TIME"/> class.
            </summary>
            <param name="timeValue">The time value.</param>
        </member>
        <member name="M:TwinCAT.PlcOpen.LTIME.#ctor(System.Int64)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.PlcOpen.TIME"/> class.
            </summary>
            <param name="timeValue">The time value.</param>
        </member>
        <member name="M:TwinCAT.PlcOpen.LTIME.#ctor(System.TimeSpan)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.PlcOpen.TIME"/> class.
            </summary>
            <param name="time">The time.</param>
        </member>
        <member name="M:TwinCAT.PlcOpen.LTIME.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.PlcOpen.LTIME"/> class.
            </summary>
            <param name="days">The days.</param>
            <param name="hours">The hours.</param>
            <param name="minutes">The minutes.</param>
            <param name="seconds">The seconds.</param>
            <param name="milliseconds">The milliseconds.</param>
            <param name="microseconds">The microseconds.</param>
            <param name="nanoseconds">The nanoseconds.</param>
        </member>
        <member name="M:TwinCAT.PlcOpen.LTIME.#ctor(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.PlcOpen.LTIME"/> class.
            </summary>
            <param name="seconds">The seconds.</param>
            <param name="milliseconds">The milliseconds.</param>
            <param name="microseconds">The microseconds.</param>
            <param name="nanoseconds">The nanoseconds.</param>
        </member>
        <member name="M:TwinCAT.PlcOpen.LTIME.#ctor(System.Int32,System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.PlcOpen.LTIME"/> class.
            </summary>
            <param name="seconds">The seconds.</param>
            <param name="milliseconds">The milliseconds.</param>
            <param name="microseconds">The microseconds.</param>
        </member>
        <member name="M:TwinCAT.PlcOpen.LTIME.ToString">
            <summary>
            Returns a <see cref="T:System.String" /> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String" /> that represents this instance.
            </returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.LTIME.TryParse(System.String,TwinCAT.PlcOpen.LTIME@)">
            <summary>
            Tries to parse the string to a <see cref="T:TwinCAT.PlcOpen.LTIME"/> object.
            </summary>
            <param name="str">The string.</param>
            <param name="ret">The ret.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.LTIME.Parse(System.String)">
            <summary>
            Parses the specified string to a <see cref="T:TwinCAT.PlcOpen.LTIME"/> object.
            </summary>
            <param name="str">The string.</param>
            <returns>LTIME.</returns>
            <exception cref="T:System.FormatException">Cannot create TIME DataType!</exception>
        </member>
        <member name="T:TwinCAT.PlcOpen.TOD">
            <summary>
            TimeOfDay class
            </summary>
        </member>
        <member name="M:TwinCAT.PlcOpen.TOD.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.PlcOpen.TOD"/> class.
            </summary>
        </member>
        <member name="M:TwinCAT.PlcOpen.TOD.#ctor(System.UInt32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.PlcOpen.TOD"/> class.
            </summary>
            <param name="time">The time.</param>
        </member>
        <member name="M:TwinCAT.PlcOpen.TOD.#ctor(System.Int64)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.PlcOpen.TOD"/> class.
            </summary>
            <param name="time">The time.</param>
        </member>
        <member name="M:TwinCAT.PlcOpen.TOD.#ctor(System.TimeSpan)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.PlcOpen.TOD"/> class.
            </summary>
            <param name="timeSpan">The time span.</param>
        </member>
        <member name="M:TwinCAT.PlcOpen.TOD.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.PlcOpen.TOD"/> class.
            </summary>
            <param name="days">The days.</param>
            <param name="hours">The hours.</param>
            <param name="minutes">The minutes.</param>
            <param name="seconds">The seconds.</param>
            <param name="milliseconds">The milliseconds.</param>
        </member>
        <member name="M:TwinCAT.PlcOpen.TOD.ToString">
            <summary>
            Returns a string that represents the current object.
            </summary>
            <returns>
            A string that represents the current object.
            </returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.TOD.TryParse(System.String,TwinCAT.PlcOpen.TOD@)">
            <summary>
            Tries to parse the string to a <see cref="T:TwinCAT.PlcOpen.TOD"/> object.
            </summary>
            <param name="str">The string.</param>
            <param name="ret">The ret.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.TOD.Parse(System.String)">
            <summary>
            Parses the specified string to a <see cref="T:TwinCAT.PlcOpen.TOD"/> object.
            </summary>
            <param name="str">The string.</param>
            <returns>TOD.</returns>
            <exception cref="T:System.FormatException">Cannot parse TOD object!</exception>
        </member>
        <member name="T:TwinCAT.PlcOpen.DateBase">
            <summary>
            PlcOpen Date base class.
            </summary>
        </member>
        <member name="F:TwinCAT.PlcOpen.DateBase.internalDateValue">
            <summary>
            The internal date value
            </summary>
        </member>
        <member name="M:TwinCAT.PlcOpen.DateBase.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.PlcOpen.DateBase"/> class.
            </summary>
        </member>
        <member name="M:TwinCAT.PlcOpen.DateBase.#ctor(System.UInt32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.PlcOpen.DateBase"/> class.
            </summary>
            <param name="dateValue">The date value in PlcOpen Ticks.</param>
            <exception cref="T:System.ArgumentOutOfRangeException"></exception>
        </member>
        <member name="M:TwinCAT.PlcOpen.DateBase.#ctor(System.Int64)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.PlcOpen.DateBase"/> class.
            </summary>
            <param name="dateValue">The date value in PlcOpen Ticks.</param>
            <exception cref="T:System.ArgumentOutOfRangeException"></exception>
        </member>
        <member name="M:TwinCAT.PlcOpen.DateBase.#ctor(System.DateTime)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.PlcOpen.DateBase"/> class.
            </summary>
            <param name="date">The date.</param>
        </member>
        <member name="P:TwinCAT.PlcOpen.DateBase.MarshalSize">
            <summary>
            Gets the marshal size in bytes.
            </summary>
            <value>Marshal size in bytes.</value>
        </member>
        <member name="P:TwinCAT.PlcOpen.DateBase.Date">
            <summary>
            Gets or sthe date value.
            </summary>
            <value>
            The date.
            </value>
        </member>
        <member name="P:TwinCAT.PlcOpen.DateBase.Value">
            <summary>
            Returns the value of this <see cref="T:TwinCAT.PlcOpen.IPlcOpenType`2" /> as Managed base type (DateTime or Timespan)
            </summary>
            <value>The value.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.PlcOpen.DateBase.Ticks">
            <summary>
            Returns the number of ticks that represent the value of this <see cref="T:TwinCAT.PlcOpen.IPlcOpenType`2" /> (uint32 or uint64).
            </summary>
            <value>The ticks.</value>
        </member>
        <member name="P:TwinCAT.PlcOpen.DateBase.TicksValueType">
            <summary>
            Gets the type of the underlying ticks resolution (uint32 or uint64)
            </summary>
            <value>The type of the ticks value.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.PlcOpen.DateBase.ManagedValueType">
            <summary>
            Gets the type of the underlying human readable type (DateTime or Timespan)
            </summary>
            <value>The type of the managed value.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.PlcOpen.DateBase.UntypedValue">
            <summary>
            Returns the 'Value' as object type.
            </summary>
            <value>The untyped value.</value>
            <exclude/>
        </member>
        <member name="M:TwinCAT.PlcOpen.DateBase.DateToValue(System.DateTime)">
            <summary>
            Converts the specified DateTime value to PlcOpen Ticks.
            </summary>
            <param name="date">The date.</param>
            <returns></returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.DateBase.ValueToDate(System.UInt32)">
            <summary>
            Converts the specified PlcOpen dateValue in ticks to a DateTime Object
            </summary>
            <param name="dateValue">The date value.</param>
            <returns></returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.DateBase.ValueToDate(System.Int64)">
            <summary>
            Converts the specified PlcOpen dateValue in ticks to a DateTime Object
            </summary>
            <param name="dateValue">The date value.</param>
            <returns></returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.DateBase.ParseToTicks(System.String)">
            <summary>
            Parses the specified PlcOpen Date string to PlcOpen ticks.
            </summary>
            <param name="s">The s.</param>
            <returns></returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.DateBase.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object" /> is equal to this instance.
            </summary>
            <param name="obj">The object to compare with the current object.</param>
            <returns><c>true</c> if the specified <see cref="T:System.Object" /> is equal to this instance; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.DateBase.GetHashCode">
            <summary>
            Gets the HashCode of the Address
            </summary>
            <returns></returns>
        </member>
        <member name="T:TwinCAT.PlcOpen.PlcOpenDateConverter">
            <summary>
            Converter class for PlcOPen DATE data type
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenDateConverter.Create(System.DateTime)">
            <summary>
            Creates the <see cref="T:TwinCAT.PlcOpen.DATE"/> object
            </summary>
            <param name="value">The value.</param>
            <returns>DATE.</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenDateConverter.Create(System.UInt32)">
            <summary>
            Creates the <see cref="T:TwinCAT.PlcOpen.DATE"/> object
            </summary>
            <param name="ticks">The ticks.</param>
            <returns>DATE.</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenDateConverter.Create(System.Int64)">
            <summary>
            Creates the <see cref="T:TwinCAT.PlcOpen.DATE"/> object
            </summary>
            <param name="ticks">The ticks.</param>
            <returns>DATE.</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenDateConverter.TryConvert(System.Object,TwinCAT.PlcOpen.DATE@)">
            <summary>
            Tries to convert the source object to a <see cref="T:TwinCAT.PlcOpen.DATE"/> object.
            </summary>
            <param name="source">The source.</param>
            <param name="timeOfDay">The time of day.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenDateConverter.TryConvert(TwinCAT.PlcOpen.DateBase,System.Type,System.Object@)">
            <summary>
            Tries to convert the <see cref="T:TwinCAT.PlcOpen.DATE"/> object to the specified target type.
            </summary>
            <param name="date">The date.</param>
            <param name="targetType">Type of the target.</param>
            <param name="targetValue">The target value.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenDateConverter.ToString(System.DateTime)">
            <summary>
            Converts the DateTime object to the appropriate PlcOpen Date string representation.
            </summary>
            <param name="date">The date.</param>
            <returns>
            A <see cref="T:System.String" /> that represents this instance.
            </returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenDateConverter.TryParse(System.String,TwinCAT.PlcOpen.DATE@)">
            <summary>
            Tries to parse the <see cref="T:TwinCAT.PlcOpen.DATE"/> type.
            </summary>
            <param name="str">The string.</param>
            <param name="date">The date.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenDateConverter.GetBytes(TwinCAT.PlcOpen.DATE)">
            <summary>
            Gets the bytes representation of the <see cref="T:TwinCAT.PlcOpen.DATE"/> type.
            </summary>
            <param name="dt">The dt.</param>
            <returns>System.Byte[].</returns>
        </member>
        <member name="T:TwinCAT.PlcOpen.DATE">
            <summary>
            PlcOpen DATE class
            </summary>
        </member>
        <member name="M:TwinCAT.PlcOpen.DATE.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.PlcOpen.DATE"/> class.
            </summary>
        </member>
        <member name="M:TwinCAT.PlcOpen.DATE.#ctor(System.UInt32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.PlcOpen.DATE"/> class.
            </summary>
            <param name="dateValue">The date value in PlcOpen Ticks.</param>
        </member>
        <member name="M:TwinCAT.PlcOpen.DATE.#ctor(System.Int64)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.PlcOpen.DATE"/> class.
            </summary>
            <param name="dateValue">The date value in PlcOpen Ticks.</param>
        </member>
        <member name="M:TwinCAT.PlcOpen.DATE.#ctor(System.DateTime)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.PlcOpen.DATE"/> class.
            </summary>
            <param name="date">The date.</param>
        </member>
        <member name="M:TwinCAT.PlcOpen.DATE.#ctor(System.Int32,System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.PlcOpen.DATE"/> class.
            </summary>
            <param name="year">The year.</param>
            <param name="month">The month.</param>
            <param name="day">The day.</param>
        </member>
        <member name="M:TwinCAT.PlcOpen.DATE.ToString">
            <summary>
            Returns a <see cref="T:System.String" /> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String" /> that represents this instance.
            </returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.DATE.ParseToTicks(System.String)">
            <summary>
            Parses the specified PlcOpen Date string to PlcOpen ticks.
            </summary>
            <param name="s">The s.</param>
            <returns></returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.DATE.TryParse(System.String,TwinCAT.PlcOpen.DATE@)">
            <summary>
            Tries to parse the specified string to a <see cref="T:TwinCAT.PlcOpen.DATE"/> object.
            </summary>
            <param name="s">The s.</param>
            <param name="date">The date.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.DATE.Parse(System.String)">
            <summary>
            Parses the specified string to a <see cref="T:TwinCAT.PlcOpen.DATE"/> object.
            </summary>
            <param name="s">The s.</param>
            <returns>DATE.</returns>
            <exception cref="T:System.FormatException">Cannot parse DATE object!</exception>
        </member>
        <member name="T:TwinCAT.PlcOpen.PlcOpenDTConverter">
            <summary>
            PlcOpen DateTime Converter class.
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenDTConverter.Create(System.DateTime)">
            <summary>
            Creates the <see cref="T:TwinCAT.PlcOpen.DT"/> object.
            </summary>
            <param name="value">The value.</param>
            <returns>DT.</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenDTConverter.Create(System.UInt32)">
            <summary>
            Creates the <see cref="T:TwinCAT.PlcOpen.DT"/> object.
            </summary>
            <param name="ticks">The ticks.</param>
            <returns>DT.</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenDTConverter.Create(System.Int64)">
            <summary>
            Creates the <see cref="T:TwinCAT.PlcOpen.DT"/> object.
            </summary>
            <param name="ticks">The ticks.</param>
            <returns>DT.</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenDTConverter.TryConvert(System.Object,TwinCAT.PlcOpen.DT@)">
            <summary>
            Tries to convert the source object to a <see cref="T:TwinCAT.PlcOpen.DT"/> object.
            </summary>
            <param name="source">The source.</param>
            <param name="timeOfDay">The time of day.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenDTConverter.TryConvert(TwinCAT.PlcOpen.DT,System.Type,System.Object@)">
            <summary>
            Tries to convert the <see cref="T:TwinCAT.PlcOpen.DT"/> object to the specified targetType.
            </summary>
            <param name="date">The date.</param>
            <param name="targetType">Type of the target.</param>
            <param name="targetValue">The target value.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenDTConverter.TicksToString(System.UInt32)">
            <summary>
            Converts the ticks to a DateTime string.
            </summary>
            <param name="ticks">The ticks.</param>
            <returns>System.String.</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenDTConverter.ObjectToTicks(System.Object)">
            <summary>
            Objects to ticks.
            </summary>
            <param name="val">The value.</param>
            <returns>System.UInt32.</returns>
            <exception cref="T:System.NotSupportedException"></exception>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenDTConverter.DateTimeToString(System.DateTime)">
            <summary>
            Converts the DateTime value to the appropriate PlcOpen string.
            </summary>
            <param name="date">The date.</param>
            <returns></returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenDTConverter.TryParseToTicks(System.String,System.UInt32@)">
            <summary>
            Strings to ticks.
            </summary>
            <param name="s">The s.</param>
            <param name="ticks">The ticks.</param>
            <returns>System.UInt32.</returns>
            <exception cref="T:System.FormatException"></exception>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenDTConverter.TryParse(System.String,TwinCAT.PlcOpen.DT@)">
            <summary>
            Tries to parse the <see cref="T:TwinCAT.PlcOpen.DT"/> type.
            </summary>
            <param name="s">The s.</param>
            <param name="dt">The dt.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenDTConverter.GetBytes(TwinCAT.PlcOpen.DT)">
            <summary>
            Gets the bytes representation of the <see cref="T:TwinCAT.PlcOpen.DT"/> dataType.
            </summary>
            <param name="dt">The dt.</param>
            <returns>System.Byte[].</returns>
        </member>
        <member name="T:TwinCAT.PlcOpen.DT">
            <summary>
            DateTime Object class
            </summary>
        </member>
        <member name="M:TwinCAT.PlcOpen.DT.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.PlcOpen.DT"/> class.
            </summary>
        </member>
        <member name="M:TwinCAT.PlcOpen.DT.#ctor(System.UInt32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.PlcOpen.DT"/> class.
            </summary>
            <param name="dateValue">The date value in PlcOpen Ticks.</param>
        </member>
        <member name="M:TwinCAT.PlcOpen.DT.#ctor(System.Int64)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.PlcOpen.DT"/> class.
            </summary>
            <param name="dateValue">The date value in PlcOpen Ticks.</param>
        </member>
        <member name="M:TwinCAT.PlcOpen.DT.#ctor(System.DateTime)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.PlcOpen.DT"/> class.
            </summary>
            <param name="date">The date.</param>
        </member>
        <member name="M:TwinCAT.PlcOpen.DT.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.PlcOpen.DT"/> class.
            </summary>
            <param name="year">The year.</param>
            <param name="month">The month.</param>
            <param name="day">The day.</param>
            <param name="hour">The hour.</param>
            <param name="minute">The minute.</param>
            <param name="second">The second.</param>
        </member>
        <member name="M:TwinCAT.PlcOpen.DT.ToString">
            <summary>
            Returns a <see cref="T:System.String" /> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String" /> that represents this instance.
            </returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.DT.ParseToTicks(System.String)">
            <summary>
            Parses the specified PlcOpen Date string to PlcOpen ticks.
            </summary>
            <param name="s">The s.</param>
            <returns></returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.DT.TryParse(System.String,TwinCAT.PlcOpen.DT@)">
            <summary>
            Tries to parse the specified string to a <see cref="T:TwinCAT.PlcOpen.DT"/> object.
            </summary>
            <param name="s">The s.</param>
            <param name="dt">The dt.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.DT.Parse(System.String)">
            <summary>
            Parses the specified string to the <see cref="T:TwinCAT.PlcOpen.DT"/> object.
            </summary>
            <param name="s">The s.</param>
            <returns>DT.</returns>
            <exception cref="T:System.FormatException">Cannot parse DT object!</exception>
        </member>
        <member name="T:TwinCAT.PlcOpen.PlcOpenTODConverter">
            <summary>
            Converter class for the PLCOpen TOD (TimeOfDay) Data type.
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenTODConverter.Create(System.TimeSpan)">
            <summary>
            Creates a <see cref="T:TwinCAT.PlcOpen.TOD"/> object.
            </summary>
            <param name="value">The value.</param>
            <returns>TOD.</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenTODConverter.Create(System.UInt32)">
            <summary>
            Creates a <see cref="T:TwinCAT.PlcOpen.TOD"/> object.
            </summary>
            <param name="ticks">The ticks.</param>
            <returns>TOD.</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenTODConverter.Create(System.Int64)">
            <summary>
            Creates a <see cref="T:TwinCAT.PlcOpen.TOD"/> object.
            </summary>
            <param name="ticks">The ticks.</param>
            <returns>TOD.</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenTODConverter.TryConvert(System.Object,TwinCAT.PlcOpen.TOD@)">
            <summary>
            Tries to convert the source to a <see cref="T:TwinCAT.PlcOpen.TOD"/> object.
            </summary>
            <param name="source">The source.</param>
            <param name="timeOfDay">The time of day.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenTODConverter.TryConvert(TwinCAT.PlcOpen.TOD,System.Type,System.Object@)">
            <summary>
            Tries to convert the <see cref="T:TwinCAT.PlcOpen.TOD"/> to the specified target type.
            </summary>
            <param name="date">The date.</param>
            <param name="targetType">Type of the target.</param>
            <param name="targetValue">The target value.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenTODConverter.ToTimeSpan(System.UInt32)">
            <summary>
            Converts ticks to timespan
            </summary>
            <param name="ticks">The ticks.</param>
            <returns></returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenTODConverter.ToString(System.UInt32)">
            <summary>
            Converts the ticks to string
            </summary>
            <param name="ticks">The ticks.</param>
            <returns>
            A <see cref="T:System.String" /> that represents this instance.
            </returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenTODConverter.ToString(System.TimeSpan)">
            <summary>
            Converts the Timespan to string within the specific PlcOpen format.
            </summary>
            <param name="time">The time.</param>
            <returns>
            A <see cref="T:System.String" /> that represents this instance.
            </returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenTODConverter.ToTicks(System.TimeSpan)">
            <summary>
            Converts the specified TimeSpan to system ticks.
            </summary>
            <param name="span">The span.</param>
            <returns>System.UInt32.</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenTODConverter.TryParseToTicks(System.String,System.UInt32@)">
            <summary>
            Converts the specified string TimeSpan representation (PlcOpen notation) to system Ticks.
            </summary>
            <param name="s">The s.</param>
            <param name="ticks">The ticks.</param>
            <returns>System.UInt32.</returns>
            <exception cref="T:System.FormatException"></exception>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenTODConverter.TryParse(System.String,TwinCAT.PlcOpen.TOD@)">
            <summary>
            Tries to parse the <see cref="T:TwinCAT.PlcOpen.TOD"/> type.
            </summary>
            <param name="s">The s.</param>
            <param name="tod">The tod.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenTODConverter.GetBytes(TwinCAT.PlcOpen.TOD)">
            <summary>
            Gets the bytes representation of the <see cref="T:TwinCAT.PlcOpen.TOD" /> dataType
            </summary>
            <param name="tod">The tod.</param>
            <returns>System.Byte[].</returns>
            <exclude/>
        </member>
        <member name="T:TwinCAT.PlcOpen.PlcOpenTimeConverter">
            <summary>
            Converter class for the PLC Open TIME Data Type
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenTimeConverter.CreateTime(System.TimeSpan)">
            <summary>
            Creates a <see cref="T:TwinCAT.PlcOpen.TIME"/> object.
            </summary>
            <param name="value">The value.</param>
            <returns>TIME.</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenTimeConverter.CreateTime(System.UInt32)">
            <summary>
            Creates a <see cref="T:TwinCAT.PlcOpen.TIME"/> object.
            </summary>
            <param name="ticks">The ticks.</param>
            <returns>TIME.</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenTimeConverter.CreateLTime(System.UInt64)">
            <summary>
            Creates a <see cref="T:TwinCAT.PlcOpen.TIME"/> object.
            </summary>
            <param name="ticks">The ticks.</param>
            <returns>TIME.</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenTimeConverter.CreateLTime(System.TimeSpan)">
            <summary>
            Creates a <see cref="T:TwinCAT.PlcOpen.LTIME"/> object.
            </summary>
            <param name="timeSpan">The time span.</param>
            <returns>LTIME.</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenTimeConverter.TryConvert(System.Object,TwinCAT.PlcOpen.TIME@)">
            <summary>
            Tries to convert the source object to <see cref="T:TwinCAT.PlcOpen.TIME"/>.
            </summary>
            <param name="source">The source.</param>
            <param name="time">The time.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenTimeConverter.TryConvert(System.Object,TwinCAT.PlcOpen.LTIME@)">
            <summary>
            Tries to convert the source object to <see cref="T:TwinCAT.PlcOpen.TIME"/>.
            </summary>
            <param name="source">The source.</param>
            <param name="time">The time.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenTimeConverter.TryConvert(TwinCAT.PlcOpen.TimeBase,System.Type,System.Object@)">
            <summary>
            Tries to convert the <see cref="T:TwinCAT.PlcOpen.TIME"/> object to the specified targetType.
            </summary>
            <param name="time">The time.</param>
            <param name="targetType">Type of the target.</param>
            <param name="targetValue">The target value.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenTimeConverter.TryConvert(TwinCAT.PlcOpen.LTimeBase,System.Type,System.Object@)">
            <summary>
            Tries to convert the <see cref="T:TwinCAT.PlcOpen.TIME"/> object to the specified targetType.
            </summary>
            <param name="time">The time.</param>
            <param name="targetType">Type of the target.</param>
            <param name="targetValue">The target value.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenTimeConverter.ToMilliseconds(System.TimeSpan)">
            <summary>
            Converts Timespan to ticks (long) in PlcOpen format.
            </summary>
            <param name="timeSpan">The time span.</param>
            <returns></returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenTimeConverter.GetBytes(TwinCAT.PlcOpen.TIME)">
            <summary>
            Convert to Bytes.
            </summary>
            <param name="time">The time.</param>
            <returns>System.Byte[].</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenTimeConverter.GetBytes(TwinCAT.PlcOpen.LTIME)">
            <summary>
            Convert to Bytes.
            </summary>
            <param name="time">The time.</param>
            <returns>System.Byte[].</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenTimeConverter.MillisecondsToTimeSpan(System.UInt32)">
            <summary>
            Converts PlcOpen ticks to TimeSpan
            </summary>
            <param name="milliseconds">Number of Milliseconds coded in an UInt32</param>
            <returns></returns>
            <exception cref="T:System.ArgumentOutOfRangeException"></exception>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenTimeConverter.NanosecondsToTimeSpan(System.UInt64)">
            <summary>
            Converts PlcOpen ticks to TimeSpan
            </summary>
            <param name="nanoseconds">The ticks.</param>
            <returns></returns>
            <exception cref="T:System.ArgumentOutOfRangeException"></exception>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenTimeConverter.FromNanoseconds(System.UInt64,System.Int32@,System.Int32@,System.Int32@,System.Int32@,System.Int32@,System.Int32@,System.Int32@)">
            <summary>
            Split the amount of nanoseconds to days, hours ....
            </summary>
            <param name="totalNanoseconds">The nanoseconds.</param>
            <param name="days">The days.</param>
            <param name="hours">The hours.</param>
            <param name="minutes">The minutes.</param>
            <param name="seconds">The seconds.</param>
            <param name="msec">The milliseconds.</param>
            <param name="usec">The microseconds.</param>
            <param name="nsec">The nanoseconds.</param>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenTimeConverter.ToTimeSpan(System.String)">
            <summary>
            Converts PlcOpen TIME string to .NET TimeSpan
            </summary>
            <param name="str">PlcOpen TIME string.</param>
            <returns></returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenTimeConverter.TryParse(System.String,TwinCAT.PlcOpen.TIME@)">
            <summary>
            Tries to parse the <see cref="T:TwinCAT.PlcOpen.TIME"/> type.
            </summary>
            <param name="s">The s.</param>
            <param name="time">The time.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenTimeConverter.TryParse(System.String,TwinCAT.PlcOpen.LTIME@)">
            <summary>
            Tries to parse the <see cref="T:TwinCAT.PlcOpen.TIME"/> type.
            </summary>
            <param name="s">The s.</param>
            <param name="time">The time.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenTimeConverter.ToNanoseconds(System.TimeSpan)">
            <summary>
            Converts Timespan to ticks (long) in PlcOpen format.
            </summary>
            <param name="timeSpan">The time span.</param>
            <returns></returns>
        </member>
        <member name="T:TwinCAT.PlcOpen.PlcOpenDateConverterBase">
            <summary>
            Converter class base for PLCOpen DT and DATE types.
            </summary>    /// <exclude/>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenDateConverterBase.ToTicks(System.DateTime)">
            <summary>
            Converts DateTime to PlcOpen ticks.
            </summary>
            <param name="date">The date.</param>
            <returns></returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenDateConverterBase.GetMarshalSize">
            <summary>
            Gets the Marshal Size of the <see cref="T:TwinCAT.PlcOpen.DATE"/> dataType.
            </summary>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenDateConverterBase.GetBytes(System.DateTime)">
            <summary>
            Convert to byte array.
            </summary>
            <param name="dateTime">The date time.</param>
            <returns>System.Byte[].</returns>
        </member>
        <member name="M:TwinCAT.PlcOpen.PlcOpenDateConverterBase.ToDateTime(System.UInt32)">
            <summary>
            Converts a PlcOpen Date to .NET DateTime
            </summary>
            <param name="dateValue">The date value.</param>
            <returns></returns>
            <exception cref="T:System.ArgumentOutOfRangeException"></exception>
        </member>
        <member name="T:TwinCAT.ISessionProvider">
            <summary>
            Interface ISessionProvider
            </summary>
            <remarks>Interface for Supporting Session / Communication providers
            </remarks>
            <exclude/>
        </member>
        <member name="M:TwinCAT.ISessionProvider.Create(System.Object,TwinCAT.ISessionSettings)">
            <summary>
            Creates the Session with address and communication settings.
            </summary>
            <param name="address">The address.</param>
            <param name="settings">The settings.</param>
            <returns>ISession.</returns>
            <exclude/>
        </member>
        <member name="P:TwinCAT.ISessionProvider.Name">
            <summary>
            Gets the name of the SessionProvider
            </summary>
            <value>The name.</value>
        </member>
        <member name="P:TwinCAT.ISessionProvider.Capabilities">
            <summary>
            Gets the capabilities.
            </summary>
            <value>The capabilities.</value>
        </member>
        <member name="T:TwinCAT.ISessionProvider`3">
            <summary>
            Generic ISessionProvider interface
            </summary>
            <typeparam name="S">Session type</typeparam>
            <typeparam name="A">Address specifier</typeparam>
            <typeparam name="C">Communication settings type</typeparam>
            <seealso cref="T:TwinCAT.ISessionProvider" />
            <exclude/>
        </member>
        <member name="M:TwinCAT.ISessionProvider`3.Create(`1,`2)">
            <summary>
            Creates the Session with specified address and communication settings.
            </summary>
            <param name="address">The address.</param>
            <param name="settings">The communicationSettings.</param>
            <returns>The created session.</returns>
            <exclude/>
        </member>
        <member name="T:TwinCAT.SessionProviderCapabilities">
            <summary>
            Enum SessionProviderCapabilities
            </summary>
            <Exclude/>
        </member>
        <member name="F:TwinCAT.SessionProviderCapabilities.DataTypeSupport">
            <summary>
            Supports DataTypes
            </summary>
        </member>
        <member name="F:TwinCAT.SessionProviderCapabilities.SymbolBrowsing">
            <summary>
            Supports Symbol Browsing
            </summary>
        </member>
        <member name="F:TwinCAT.SessionProviderCapabilities.ValueRead">
            <summary>
            Supports VAlue Read
            </summary>
        </member>
        <member name="F:TwinCAT.SessionProviderCapabilities.ValueWrite">
            <summary>
            Support Value Write
            </summary>
        </member>
        <member name="F:TwinCAT.SessionProviderCapabilities.ValueNotifications">
            <summary>
            Supports Value changed Notifications
            </summary>
        </member>
        <member name="F:TwinCAT.SessionProviderCapabilities.None">
            <summary>
            Uninitilialized / None
            </summary>
        </member>
        <member name="F:TwinCAT.SessionProviderCapabilities.Mask_All">
            <summary>
            All Capabilities active
            </summary>
        </member>
        <member name="T:TwinCAT.SessionProvider`3">
            <summary>
            Abstract base class for a Custom Session provider
            </summary>
            <typeparam name="S">SessionType</typeparam>
            <typeparam name="A">Address type</typeparam>
            <typeparam name="C">Communication settings type</typeparam>
            <seealso cref="T:TwinCAT.ISessionProvider`3" />
            <Exclude/>
        </member>
        <member name="F:TwinCAT.SessionProvider`3.capabilities">
            <summary>
            The capabilities of the <see cref="T:TwinCAT.ISessionProvider`3"/>
            </summary>
        </member>
        <member name="P:TwinCAT.SessionProvider`3.Capabilities">
            <summary>
            Gets the capabilities.
            </summary>
            <value>The capabilities.</value>
        </member>
        <member name="M:TwinCAT.SessionProvider`3.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.SessionProvider`3"/> class.
            </summary>
            <exception cref="T:System.Exception">Session provider already instantiated!</exception>
        </member>
        <member name="M:TwinCAT.SessionProvider`3.#ctor(TwinCAT.SessionProviderCapabilities)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.SessionProvider`3"/> class.
            </summary>
            <exception cref="T:System.Exception">Session provider already instantiated!</exception>
        </member>
        <member name="P:TwinCAT.SessionProvider`3.Self">
            <summary>
            Gets the Singleton instance
            </summary>
            <value>The self.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.SessionProvider`3.Name">
            <summary>
            Gets the name of the SessionProvider
            </summary>
            <value>The name.</value>
        </member>
        <member name="M:TwinCAT.SessionProvider`3.Create(System.Object,TwinCAT.ISessionSettings)">
            <summary>
            Creates the Session with address and communication settings.
            </summary>
            <param name="address">The address.</param>
            <param name="settings">The settings.</param>
            <returns>ISession.</returns>
            <exclude/>
        </member>
        <member name="M:TwinCAT.SessionProvider`3.Create(`1,`2)">
            <summary>
            Creates the specified address.
            </summary>
            <param name="address">The address.</param>
            <param name="settings">The settings.</param>
            <returns>The created session.</returns>
            <exclude/>
        </member>
        <member name="T:TwinCAT.CannotAccessVirtualSymbolException">
            <summary>
            Cannot access virtual Symbol
            </summary>
        </member>
        <member name="M:TwinCAT.CannotAccessVirtualSymbolException.#ctor(TwinCAT.TypeSystem.ISymbol)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.CannotAccessVirtualSymbolException" /> class.
            </summary>
            <param name="symbol">The symbol.</param>
        </member>
        <member name="T:TwinCAT.InsufficientAccessRights">
            <summary>
            Insufficient rights for access
            </summary>
        </member>
        <member name="M:TwinCAT.InsufficientAccessRights.#ctor(TwinCAT.TypeSystem.IValueSymbol,TwinCAT.TypeSystem.SymbolAccessRights)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.InsufficientAccessRights" /> class.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="requested">The requested.</param>
        </member>
        <member name="T:TwinCAT.ValueAccess.ValueAccessorException">
            <summary>
            Value Accessor Exceptions
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.ValueAccess.ValueAccessorException.Accessor">
            <summary>
            Symbol that is bound to the <see cref="T:TwinCAT.ValueAccess.IAccessorRawValue" />
            </summary>
        </member>
        <member name="M:TwinCAT.ValueAccess.ValueAccessorException.#ctor(TwinCAT.ValueAccess.IAccessorRawValue,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.ValueAccess.ValueAccessorException" /> class.
            </summary>
            <param name="accessor">The accessor.</param>
            <param name="innerException">The inner exception.</param>
        </member>
        <member name="M:TwinCAT.ValueAccess.ValueAccessorException.#ctor(System.String,TwinCAT.ValueAccess.IAccessorRawValue)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.ValueAccess.ValueAccessorException" /> class.
            </summary>
            <param name="message">The message.</param>
            <param name="accessor">The accessor.</param>
        </member>
        <member name="M:TwinCAT.ValueAccess.ValueAccessorException.#ctor(System.String,TwinCAT.ValueAccess.IAccessorRawValue,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.ValueAccess.ValueAccessorException" /> class.
            </summary>
            <param name="message">The message.</param>
            <param name="accessor">The accessor.</param>
            <param name="innerException">The inner exception.</param>
        </member>
        <member name="T:TwinCAT.ValueAccess.ValueCreationMode">
            <summary>
            Creation mode for Values 
            </summary>
            <remarks>
            This setting is used by the ValueFactory/ to create Read values.
            In default primitive mode all values will be transferred to Primitive .NET Symbols if possible. E.g
            PlcOpen.TIME --> TimeSpan, IEnumValue --> .NET Primitives. They won't be wrapped into 
            </remarks>
        </member>
        <member name="F:TwinCAT.ValueAccess.ValueCreationMode.None">
            <summary>
            None / Uninitialized Mask
            </summary>
        </member>
        <member name="F:TwinCAT.ValueAccess.ValueCreationMode.Primitives">
            <summary>
            Convert to .NET Primitives, wherever possible.
            </summary>
            <remarks>If not set, Primitive Values will be encapsulated in full <see cref="T:TwinCAT.TypeSystem.IValue"/> metadata.</remarks>
        </member>
        <member name="F:TwinCAT.ValueAccess.ValueCreationMode.Enums">
            <summary>
            Use IEnumValue on EnumTypes instead of .NET Primitives
            </summary>
        </member>
        <member name="F:TwinCAT.ValueAccess.ValueCreationMode.FullDynamics">
            <summary>
            Wraps all Primitives also in IValue Objects
            </summary>
        </member>
        <member name="F:TwinCAT.ValueAccess.ValueCreationMode.PlcOpenTypes">
            <summary>
            Use PlcOpen Times (TIME, LTIME, DT, TOD, DATETIME) instead of .NET Primitives DateTime and TimeSpan
            </summary>
        </member>
        <member name="F:TwinCAT.ValueAccess.ValueCreationMode.Default">
            <summary>
            Default settings for the value creation mode (Translate to Primitives)
            </summary>
        </member>
        <member name="T:TwinCAT.ValueAccess.SymbolNotificationType">
            <summary>
            Specifies the Notification type of ADS Notifications
            </summary>
        </member>
        <member name="F:TwinCAT.ValueAccess.SymbolNotificationType.None">
            <summary>
            None / Uninitialized
            </summary>
        </member>
        <member name="F:TwinCAT.ValueAccess.SymbolNotificationType.Value">
            <summary>
            ValueChanged notifications
            </summary>
        </member>
        <member name="F:TwinCAT.ValueAccess.SymbolNotificationType.RawValue">
            <summary>
            RawValueChanged notifications
            </summary>
        </member>
        <member name="F:TwinCAT.ValueAccess.SymbolNotificationType.Both">
            <summary>
            ValueChanged + RawValueChanged notifications
            </summary>
        </member>
        <member name="T:TwinCAT.ValueAccess.IAccessorRawValue">
            <summary>
            Helper Interface to access Symbol Values as byte Arrays
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.ValueAccess.IAccessorRawValue.TryReadValue(TwinCAT.TypeSystem.ISymbol,System.Byte[]@,System.DateTime@)">
            <summary>
            Try to read value
            </summary>
            <param name="symbolInstance">The symbol instance.</param>
            <param name="value">The value.</param>
            <param name="utcReadTime">The read time snapshot (User Time, UTC)</param>
            <returns>Error code. 0 represents succeed.</returns>
        </member>
        <member name="M:TwinCAT.ValueAccess.IAccessorRawValue.TryReadArrayElementValue(TwinCAT.TypeSystem.ISymbol,System.Int32[],System.Byte[]@,System.DateTime@)">
            <summary>
            Try to read Array Element Value
            </summary>
            <param name="arrayInstance">The array instance.</param>
            <param name="indices">The indices.</param>
            <param name="value">The value.</param>
            <param name="utcReadTime">The read time snapshot (User Time, UTC)</param>
            <returns>Error code. 0 represents succeed.</returns>
        </member>
        <member name="M:TwinCAT.ValueAccess.IAccessorRawValue.TryWriteValue(TwinCAT.TypeSystem.ISymbol,System.Byte[],System.Int32,System.DateTime@)">
            <summary>
            Try to Write value
            </summary>
            <param name="symbolInstance">The symbol instance.</param>
            <param name="value">The value.</param>
            <param name="offset">The offset.</param>
            <param name="utcWriteTime">The write time snapshot (User Time, UTC)</param>
            <returns>Error code. 0 represents succeed.</returns>
        </member>
        <member name="M:TwinCAT.ValueAccess.IAccessorRawValue.TryWriteArrayElementValue(TwinCAT.TypeSystem.ISymbol,System.Int32[],System.Byte[],System.Int32,System.DateTime@)">
            <summary>
            Try to write element value.
            </summary>
            <param name="arrayInstance">The array instance.</param>
            <param name="indices">The indices.</param>
            <param name="value">The value.</param>
            <param name="offset">The offset.</param>
            <param name="utcWriteTime">The write time snapshot (User Time, UTC).</param>
            <returns>Error code. 0 represents succeed.</returns>
        </member>
        <member name="P:TwinCAT.ValueAccess.IAccessorRawValue.ValueFactory">
            <summary>
            Gets the value factory.
            </summary>
            <value>The value factory or null if Raw Values only.</value>
        </member>
        <member name="T:TwinCAT.ValueAccess.IAccessorConnection">
            <summary>
            Helper Interface to access Symbol Values as byte Arrays
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.ValueAccess.IAccessorConnection.Connection">
            <summary>
            Gets the connection.
            </summary>
            <value>The connection.</value>
        </member>
        <member name="T:TwinCAT.ValueAccess.IAccessorNotification">
            <summary>
            Value Accessor interface for Notification handling
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.ValueAccess.IAccessorNotification.OnRegisterNotification(TwinCAT.TypeSystem.ISymbol,TwinCAT.ValueAccess.SymbolNotificationType,TwinCAT.TypeSystem.INotificationSettings)">
            <summary>
            Adds the symbol value changed handler.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="type">Type of Notification (Value, Raw or Both)</param>
            <param name="settings">The settings.</param>
        </member>
        <member name="M:TwinCAT.ValueAccess.IAccessorNotification.OnUnregisterNotification(TwinCAT.TypeSystem.ISymbol,TwinCAT.ValueAccess.SymbolNotificationType)">
            <summary>
            Removes the symbol value changed handler.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="type">Type of Notification (Value, Raw or Both)</param>
        </member>
        <member name="M:TwinCAT.ValueAccess.IAccessorNotification.TryGetNotificationSettings(TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.INotificationSettings@)">
            <summary>
            Tries to get the current Notification Settings for the specified Symbol
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="settings">The settings.</param>
            <returns>true, if already a notification for this symbol is registered. False if not.</returns>
        </member>
        <member name="P:TwinCAT.ValueAccess.IAccessorNotification.DefaultNotificationSettings">
            <summary>
            Gets / Sets the default notification settings.
            </summary>
            <value>The default notification settings.</value>
        </member>
        <member name="T:TwinCAT.ValueAccess.IAccessorValueFactory">
            <summary>
            Factory interfaces for Accessor implementations.
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.ValueAccess.IAccessorValueFactory.CreateValue(TwinCAT.TypeSystem.ISymbol,System.Byte[],System.Int32,System.DateTime)">
            <summary>
            Creates the specified symbols value from raw byte data
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="rawData">The raw data.</param>
            <param name="offset">The offset / start index within the data</param>
            <param name="utcTime">The UTC time.</param>
            <returns>System.Object.</returns>
        </member>
        <member name="M:TwinCAT.ValueAccess.IAccessorValueFactory.CreateValue(TwinCAT.TypeSystem.ISymbol,System.Byte[],System.Int32,TwinCAT.TypeSystem.IValue)">
            <summary>
            Creates the specified symbols value from raw byte data
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="rawData">The raw data.</param>
            <param name="offset">The offset / start index within the data</param>
            <param name="parent">The parent.</param>
            <returns>System.Object.</returns>
        </member>
        <member name="M:TwinCAT.ValueAccess.IAccessorValueFactory.CreatePrimitiveValue(TwinCAT.TypeSystem.ISymbol,System.Byte[],System.Int32)">
            <summary>
            Creates a primitive value, independent of any settings.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="rawData">The raw data.</param>
            <param name="offset">The offset.</param>
            <returns>A primitive value.</returns>
        </member>
        <member name="T:TwinCAT.ValueAccess.IAccessorValueFactory2">
            <summary>
            Interface IAccessorValueFactory2
            </summary>
            <seealso cref="T:TwinCAT.ValueAccess.IAccessorValueFactory" />
            <exclude/>
        </member>
        <member name="M:TwinCAT.ValueAccess.IAccessorValueFactory2.SetValueAccessor(TwinCAT.ValueAccess.IAccessorRawValue)">
            <summary>
            Sets the value accessor
            </summary>
            <param name="accessor">The accessor.</param>
        </member>
        <member name="P:TwinCAT.ValueAccess.IAccessorValueFactory2.ValueAccessor">
            <summary>
            Gets the value accessor.
            </summary>
            <value>The value accessor or NULL</value>
            <remarks>
            The Value accessor can be used for the possibility to Read Values on ValueAccess on the Fly.
            E.g. when dereferencing ReferenceTypes on property access.
            The 'on-the-fly' access is optional and doesn't have to be supported, but the DynamicValueFactory can use if available.
            </remarks>
        </member>
        <member name="T:TwinCAT.ValueAccess.IAccessorRpc">
            <summary>
            Remote procedure call interface for Accessors.
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.ValueAccess.IAccessorRpc.TryInvokeRpcMethod(TwinCAT.TypeSystem.IInstance,TwinCAT.TypeSystem.IRpcMethod,System.Object[],TwinCAT.TypeSystem.AnyTypeSpecifier[],TwinCAT.TypeSystem.AnyTypeSpecifier,System.Object[]@,System.Object@,System.DateTime@)">
            <summary>Invokes the specified <see cref="T:TwinCAT.TypeSystem.IRpcMethod"/></summary>
            <param name="instance">The instance.</param>
            <param name="method">The method.</param>
            <param name="parameters">The parameters.</param>
            <param name="outSpecifiers"></param>
            <param name="retSpecifier"></param>
            <param name="outParameters"></param>
            <param name="returnValue">The return value.</param>
            <param name="utcInvokeTime">The invoke time snapshot (User Time, UTC).</param>
            <returns>Error code. 0 represents succeed.</returns>
        </member>
        <member name="T:TwinCAT.ValueAccess.IAccessorValueAny">
            <summary>
            Interface to access symbols with the 'Any' value concept
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.ValueAccess.IAccessorValueAny.TryReadAnyValue(TwinCAT.TypeSystem.ISymbol,System.Type,System.Object@,System.DateTime@)">
            <summary>
            Tries to read the value of the symbol and returns the value as instance of the specified type.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="valueType">The value type.</param>
            <param name="value">The value.</param>
            <param name="utcReadTime">The UTC read time.</param>
            <returns>Error code. 0 represents succeed.</returns>
        </member>
        <member name="M:TwinCAT.ValueAccess.IAccessorValueAny.TryUpdateAnyValue(TwinCAT.TypeSystem.ISymbol,System.Object@,System.DateTime@)">
            <summary>
            Tries to read the value of the symbol and updates the referenced value object with that data
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="valueObject">The value object.</param>
            <param name="utcReadTime">The UTC read time.</param>
            <returns>Error code. 0 represents succeed.</returns>
        </member>
        <member name="M:TwinCAT.ValueAccess.IAccessorValueAny.TryWriteAnyValue(TwinCAT.TypeSystem.ISymbol,System.Object,System.DateTime@)">
            <summary>
            Tries to write the data within the value object as the symbol value.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="valueObject">The value object.</param>
            <param name="utcReadTime">The UTC read time.</param>
            <returns>Error code. 0 represents succeed.</returns>
        </member>
        <member name="T:TwinCAT.ValueAccess.IAccessorValue">
            <summary>
            Interface for Accessing Symbol Values
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.ValueAccess.IAccessorValue.TryReadValue(TwinCAT.TypeSystem.ISymbol,System.Object@,System.DateTime@)">
            <summary>
            Tries to read the symbols value as dynamic value.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="value">The value.</param>
            <param name="utcReadTime">The UTC read time.</param>
            <returns>Error code. 0 represents succeed.</returns>
        </member>
        <member name="M:TwinCAT.ValueAccess.IAccessorValue.ReadValue(TwinCAT.TypeSystem.ISymbol,System.DateTime@)">
            <summary>
            Reads the value of the specified Symbol as dynamic value
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="utcReadTime">The UTC read time.</param>
            <returns>System.Object.</returns>
        </member>
        <member name="M:TwinCAT.ValueAccess.IAccessorValue.TryWriteValue(TwinCAT.TypeSystem.ISymbol,System.Object,System.DateTime@)">
            <summary>
            Tries to write the Value
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="value">The value.</param>
            <param name="utcWriteTime">The UTC write time.</param>
            <returns>Error code. 0 represents succeed.</returns>
        </member>
        <member name="M:TwinCAT.ValueAccess.IAccessorValue.WriteValue(TwinCAT.TypeSystem.ISymbol,System.Object,System.DateTime@)">
            <summary>
            Writes the specified value to the symbol.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="value">The value.</param>
            <param name="utcWriteTime">The UTC write time.</param>
        </member>
        <member name="T:TwinCAT.ValueAccess.IAccessorDynamicValue">
            <summary>
            Accessor interface for dynamic values (Read/Write Access for Dynamic Values).
            </summary>
            <exclude/>
        </member>
        <member name="M:TwinCAT.ValueAccess.IAccessorDynamicValue.TryWriteValue(TwinCAT.TypeSystem.DynamicValue,System.DateTime@)">
            <summary>
            Tries to write the value.
            </summary>
            <param name="value">The value.</param>
            <param name="utcWriteTime">The UTC write time.</param>
            <returns>Error code. 0 represents succeed.</returns>
        </member>
        <member name="T:TwinCAT.ValueAccess.ValueAccessor">
            <summary>
            Value Accessor base class (implements RawValue and Value Access)
            </summary>
            <seealso cref="T:TwinCAT.ValueAccess.IAccessorRawValue" />
            <seealso cref="T:TwinCAT.ValueAccess.IAccessorValue" />
            <exclude/>
        </member>
        <member name="M:TwinCAT.ValueAccess.ValueAccessor.#ctor(TwinCAT.ValueAccess.IAccessorValueFactory,TwinCAT.ISession)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.ValueAccess.ValueAccessor" /> class.
            </summary>
            <param name="factory">The value factory.</param>
            <param name="session">The session (if session based) or NULL</param>
        </member>
        <member name="M:TwinCAT.ValueAccess.ValueAccessor.#ctor(TwinCAT.ValueAccess.IAccessorValueFactory,TwinCAT.IConnection)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.ValueAccess.ValueAccessor" /> class.
            </summary>
            <param name="factory">The value factory.</param>
            <param name="connection">The connection.</param>
            <exception cref="T:System.ArgumentNullException">factory</exception>
        </member>
        <member name="F:TwinCAT.ValueAccess.ValueAccessor.connection">
            <summary>
            The connection
            </summary>
        </member>
        <member name="P:TwinCAT.ValueAccess.ValueAccessor.Connection">
            <summary>
            Gets the connection.
            </summary>
            <value>The connection.</value>
        </member>
        <member name="F:TwinCAT.ValueAccess.ValueAccessor.session">
            <summary>
            Session object
            </summary>
        </member>
        <member name="P:TwinCAT.ValueAccess.ValueAccessor.Session">
            <summary>
            Gets the session.
            </summary>
            <value>The session or NULL if not session based.</value>
        </member>
        <member name="F:TwinCAT.ValueAccess.ValueAccessor.valueFactory">
            <summary>
            The value factory
            </summary>
        </member>
        <member name="P:TwinCAT.ValueAccess.ValueAccessor.ValueFactory">
            <summary>
            Gets the value factory.
            </summary>
            <value>The value factory.</value>
        </member>
        <member name="M:TwinCAT.ValueAccess.ValueAccessor.ReadValue(TwinCAT.TypeSystem.ISymbol,System.DateTime@)">
            <summary>
            Reads the symbol value.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="utcReadTime">The read time snapshot.</param>
            <returns>The value object (Primitive type or DynamicValue)</returns>
            <exception cref="T:System.ArgumentNullException">symbol</exception>
        </member>
        <member name="M:TwinCAT.ValueAccess.ValueAccessor.TryReadArrayElementValue(TwinCAT.TypeSystem.ISymbol,System.Int32[],System.Byte[]@,System.DateTime@)">
            <summary>
            Try to read Array Element Value
            </summary>
            <param name="arrayInstance">The array instance.</param>
            <param name="indices">The indices.</param>
            <param name="value">The value.</param>
            <param name="utcReadTime">The read time snapshot (User Time, UTC)</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.ValueAccess.ValueAccessor.TryReadValue(TwinCAT.TypeSystem.ISymbol,System.Object@,System.DateTime@)">
            <summary>
            Reads a value from the specified ADS address
            </summary>
            <param name="symbol">The address.</param>
            <param name="value">Raw value</param>
            <param name="utcReadTime">The read time snapshot.</param>
            <returns>AdsErrorCode.</returns>
            <exclude />
        </member>
        <member name="M:TwinCAT.ValueAccess.ValueAccessor.TryReadValue(TwinCAT.TypeSystem.ISymbol,System.Byte[]@,System.DateTime@)">
            <summary>
            Try to read value
            </summary>
            <param name="symbolInstance">The symbol instance.</param>
            <param name="value">The value.</param>
            <param name="utcReadTime">The read time snapshot (User Time, UTC)</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.ValueAccess.ValueAccessor.TryWriteArrayElementValue(TwinCAT.TypeSystem.ISymbol,System.Int32[],System.Byte[],System.Int32,System.DateTime@)">
            <summary>
            Try to write element value.
            </summary>
            <param name="arrayInstance">The array instance.</param>
            <param name="indices">The indices.</param>
            <param name="value">The value.</param>
            <param name="offset">The offset.</param>
            <param name="utcWriteTime">The write time snapshot (User Time, UTC).</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.ValueAccess.ValueAccessor.TryWriteValue(TwinCAT.TypeSystem.ISymbol,System.Object,System.DateTime@)">
            <summary>
            Tries to write the Value
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="value">The value.</param>
            <param name="utcWriteTime">The UTC write time.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.ValueAccess.ValueAccessor.TryWriteValue(TwinCAT.TypeSystem.ISymbol,System.Byte[],System.Int32,System.DateTime@)">
            <summary>
            Tries to write the Value
            </summary>
            <param name="symbolInstance">The address.</param>
            <param name="value">The value.</param>
            <param name="offset">The offset.</param>
            <param name="utcWriteTime">The write time snapshot.</param>
            <returns>AdsErrorCode.</returns>
            <exclude />
        </member>
        <member name="M:TwinCAT.ValueAccess.ValueAccessor.WriteValue(TwinCAT.TypeSystem.ISymbol,System.Object,System.DateTime@)">
            <summary>
            Writes the value to the symbol
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="value">The value</param>
            <param name="utcWriteTime">The write time snapshot.</param>
            <exception cref="T:System.ArgumentNullException">
            symbol
            or
            value
            </exception>
        </member>
        <member name="M:TwinCAT.ValueAccess.ValueAccessor.OnRawValueChanged(TwinCAT.TypeSystem.ISymbol,System.Byte[],System.DateTime,System.DateTime)">
            <summary>
            Called when [raw value changed].
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="rawValue">The raw value.</param>
            <param name="utcTwinCATTime">The UTC twin cat time.</param>
            <param name="utcLocalSystemTime">The UTC local system time.</param>
        </member>
        <member name="M:TwinCAT.ValueAccess.ValueAccessor.OnValueChanged(TwinCAT.TypeSystem.ISymbol,System.Byte[],System.DateTime,System.DateTime)">
            <summary>
            Called when the (Primitive) Value changes
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="rawValue">The value.</param>
            <param name="tcUTCTimeStamp">The tc UTC time stamp.</param>
            <param name="utcLocalSystemTime">The UTC local time stamp.</param>
        </member>
        <member name="T:TwinCAT.ValueAccess.RpcNotificationAccessorBase">
            <summary>
            Abstract base class for Accessing Values with the RawValue, Value, Rpc and Notification concept.
            </summary>
            <seealso cref="T:TwinCAT.ValueAccess.ValueAccessor" />
            <seealso cref="T:TwinCAT.ValueAccess.IAccessorNotification" />
            <seealso cref="T:TwinCAT.ValueAccess.IAccessorRpc" />
            <exclude/>
        </member>
        <member name="M:TwinCAT.ValueAccess.RpcNotificationAccessorBase.#ctor(TwinCAT.ValueAccess.IAccessorValueFactory,TwinCAT.IConnection)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.ValueAccess.RpcNotificationAccessorBase" /> class.
            </summary>
            <param name="valueFactory">The value factory.</param>
            <param name="connection">The connection.</param>
        </member>
        <member name="M:TwinCAT.ValueAccess.RpcNotificationAccessorBase.#ctor(TwinCAT.ValueAccess.IAccessorValueFactory,TwinCAT.IConnection,TwinCAT.TypeSystem.INotificationSettings)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.ValueAccess.RpcNotificationAccessorBase" /> class.
            </summary>
            <param name="valueFactory">The value factory.</param>
            <param name="connection">The connection.</param>
            <param name="defaultSettings">The default settings.</param>
        </member>
        <member name="M:TwinCAT.ValueAccess.RpcNotificationAccessorBase.#ctor(TwinCAT.ValueAccess.IAccessorValueFactory,TwinCAT.ISession)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.ValueAccess.RpcNotificationAccessorBase" /> class.
            </summary>
            <param name="valueFactory">The value factory.</param>
            <param name="session">The session.</param>
        </member>
        <member name="M:TwinCAT.ValueAccess.RpcNotificationAccessorBase.#ctor(TwinCAT.ValueAccess.IAccessorValueFactory,TwinCAT.ISession,TwinCAT.TypeSystem.INotificationSettings)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.ValueAccess.RpcNotificationAccessorBase" /> class.
            </summary>
            <param name="valueFactory">The value factory.</param>
            <param name="session">The session.</param>
            <param name="defaultSettings">The default settings.</param>
        </member>
        <member name="M:TwinCAT.ValueAccess.RpcNotificationAccessorBase.OnRegisterNotification(TwinCAT.TypeSystem.ISymbol,TwinCAT.ValueAccess.SymbolNotificationType,TwinCAT.TypeSystem.INotificationSettings)">
            <summary>
            Registers a Notification on the <see cref="T:TwinCAT.TypeSystem.ISymbol" />.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="type">Type of Notification (Value, Raw or Both)</param>
            <param name="settings">The settings.</param>
            <exception cref="T:System.ArgumentNullException">
            symbol
            or
            settings
            </exception>
            <exclude />
            <remarks>Only one Notification is allowed on the symbol. On case of double announcement, we set the Notification parameters
            to the higher priority.</remarks>
        </member>
        <member name="M:TwinCAT.ValueAccess.RpcNotificationAccessorBase.OnUnregisterNotification(TwinCAT.TypeSystem.ISymbol,TwinCAT.ValueAccess.SymbolNotificationType)">
            <summary>
            Unregisters a Notification from the <see cref="T:TwinCAT.TypeSystem.ISymbol" />.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="type">Type of Notification (Value, Raw or Both)</param>
            <exception cref="T:System.ArgumentNullException">symbol</exception>
            <exclude />
        </member>
        <member name="F:TwinCAT.ValueAccess.RpcNotificationAccessorBase._notificationSettings">
            <summary>
            Default notification settings.
            </summary>
        </member>
        <member name="P:TwinCAT.ValueAccess.RpcNotificationAccessorBase.DefaultNotificationSettings">
            <summary>
            Gets/Sets the NotificationSettings that are used for Notification Defaults.
            </summary>
            <value>The default notification settings.</value>
        </member>
        <member name="M:TwinCAT.ValueAccess.RpcNotificationAccessorBase.TryGetNotificationSettings(TwinCAT.TypeSystem.ISymbol,TwinCAT.TypeSystem.INotificationSettings@)">
            <summary>
            Tries to get the current Notification Settings for the specified Symbol
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="settings">The settings.</param>
            <returns>
            true, if already a notification for this symbol is registered. False if not.
            </returns>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="M:TwinCAT.ValueAccess.RpcNotificationAccessorBase.TryInvokeRpcMethod(TwinCAT.TypeSystem.IInstance,TwinCAT.TypeSystem.IRpcMethod,System.Object[],TwinCAT.TypeSystem.AnyTypeSpecifier[],TwinCAT.TypeSystem.AnyTypeSpecifier,System.Object[]@,System.Object@,System.DateTime@)">
            <summary>
            Invokes the specified RPC Method.
            </summary>
            <param name="instance">The instance.</param>
            <param name="method">The method.</param>
            <param name="parameters">The parameters.</param>
            <param name="outSpecifiers">The ANYTYPE out specifiers.</param>
            <param name="retSpecifier">The ANYTYPE return specifier.</param>
            <param name="outParameters">The out parameters.</param>
            <param name="returnValue">The return value.</param>
            <param name="utcInvokeTime">The invoke time snapshot (User Time, UTC).</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="T:TwinCAT.ValueAccess.ValueFactory">
            <summary>
            Value Factory
            </summary>
            <seealso cref="T:TwinCAT.ValueAccess.IAccessorValueFactory" />
            <exclude/>
        </member>
        <member name="F:TwinCAT.ValueAccess.ValueFactory.mode">
            <summary>
            The Value Creation mode
            </summary>
        </member>
        <member name="P:TwinCAT.ValueAccess.ValueFactory.Mode">
            <summary>
            Gets the <see cref="T:TwinCAT.ValueAccess.ValueCreationMode"/>
            </summary>
            <value>The mode.</value>
        </member>
        <member name="F:TwinCAT.ValueAccess.ValueFactory.valueConverter">
            <summary>
            The value converter / Marshaller
            </summary>
        </member>
        <member name="M:TwinCAT.ValueAccess.ValueFactory.#ctor(TwinCAT.ValueAccess.ValueCreationMode)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.ValueAccess.ValueFactory"/> class.
            </summary>
            <param name="mode">The mode.</param>
        </member>
        <member name="M:TwinCAT.ValueAccess.ValueFactory.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.ValueAccess.ValueFactory"/> class.
            </summary>
        </member>
        <member name="F:TwinCAT.ValueAccess.ValueFactory.accessor">
            <summary>
            A Backlink to the Value Accessor.
            </summary>
            <remarks>This enables the DynamicValueFactory to Dereference References 'On the fly'</remarks>
            <exclude/>
        </member>
        <member name="M:TwinCAT.ValueAccess.ValueFactory.SetValueAccessor(TwinCAT.ValueAccess.IAccessorRawValue)">
            <summary>
            Sets the value accessor
            </summary>
            <param name="accessor">The accessor.</param>
            <exclude/>
        </member>
        <member name="P:TwinCAT.ValueAccess.ValueFactory.ValueAccessor">
            <summary>
            Gets the value accessor.
            </summary>
            <value>The value accessor or NULL</value>
            <remarks>The Value accessor can be used for the possibility to Read Values on ValueAccess on the Fly.
            E.g. when dereferencing ReferenceTypes on property access.
            The 'on-the-fly' access is optional and doesn't have to be supported, but the DynamicValueFactory can use if available.</remarks>
            <exclude/>
        </member>
        <member name="M:TwinCAT.ValueAccess.ValueFactory.CreatePrimitiveValue(TwinCAT.TypeSystem.ISymbol,System.Byte[],System.Int32)">
            <summary>
            Creates a primitive value, independent of any settings.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="rawData">The raw data.</param>
            <param name="offset">The offset.</param>
            <returns>A primitive value.</returns>
        </member>
        <member name="M:TwinCAT.ValueAccess.ValueFactory.CreateValue(TwinCAT.TypeSystem.ISymbol,System.Byte[],System.Int32,TwinCAT.TypeSystem.IValue)">
            <summary>
            Creates the specified symbols value from raw byte data
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="rawData">The raw data.</param>
            <param name="offset">The offset / start index within the data</param>
            <param name="parent">The parent.</param>
            <returns>System.Object.</returns>
        </member>
        <member name="M:TwinCAT.ValueAccess.ValueFactory.CreateValue(TwinCAT.TypeSystem.ISymbol,System.Byte[],System.Int32,System.DateTime)">
            <summary>
            Creates the specified symbols value from raw byte data
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="rawData">The raw data.</param>
            <param name="offset">The offset / start index within the data</param>
            <param name="utcTime">The UTC time.</param>
            <returns>System.Object.</returns>
        </member>
        <member name="T:TwinCAT.ValueAccess.DynamicValueAccessor">
            <summary>
            Dynamic Value Accessor implementation class
            </summary>
            <exclude/>
        </member>
        <member name="F:TwinCAT.ValueAccess.DynamicValueAccessor._mode">
            <summary>
            Value Access Mode
            </summary>
        </member>
        <member name="F:TwinCAT.ValueAccess.DynamicValueAccessor._inner">
            <summary>
            The inner value accessor
            </summary>
        </member>
        <member name="M:TwinCAT.ValueAccess.DynamicValueAccessor.#ctor(TwinCAT.ValueAccess.IAccessorValue,TwinCAT.ValueAccess.IAccessorValueFactory,TwinCAT.ValueAccess.ValueCreationMode)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.ValueAccess.DynamicValueAccessor" /> class.
            </summary>
            <param name="inner">The inner Accessor</param>
            <param name="factory">The factory.</param>
            <param name="mode">The mode.</param>
            <exception cref="T:System.ArgumentNullException">valueAccessor</exception>
        </member>
        <member name="M:TwinCAT.ValueAccess.DynamicValueAccessor.ReadArrayElement(TwinCAT.TypeSystem.IArrayInstance,System.Int32[],System.DateTime@)">
            <summary>
            Reads the specified array element.
            </summary>
            <param name="symbol">Array instance.</param>
            <param name="indices">Index specifying the array element.</param>
            <param name="utcReadTime">The read time snapshot.</param>
            <returns>The typed array element.</returns>
            <exception cref="T:System.ArgumentNullException">
            symbol
            or
            indices
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">indices</exception>
        </member>
        <member name="M:TwinCAT.ValueAccess.DynamicValueAccessor.tryReadValue(TwinCAT.TypeSystem.ISymbol,System.Int32[],System.Object@,System.DateTime@)">
            <summary>
            Reads the array element
            </summary>
            <param name="symbol">Array Instance.</param>
            <param name="indices">Index specifier.</param>
            <param name="result">Typed Array element value.</param>
            <param name="utcReadTime">The read time snapshot.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.ValueAccess.DynamicValueAccessor.WriteValue(TwinCAT.TypeSystem.ISymbol,System.Object,System.DateTime@)">
            <summary>
            Writes the value to the symbol
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="value">The value (Primitive typed value or <see cref="T:TwinCAT.TypeSystem.DynamicValue" /></param>
            <param name="utcWriteTime">The write time snapshot.</param>
            <exception cref="T:System.ArgumentNullException">
            symbol
            or
            value
            </exception>
        </member>
        <member name="M:TwinCAT.ValueAccess.DynamicValueAccessor.TryWriteValue(TwinCAT.TypeSystem.DynamicValue,System.DateTime@)">
            <summary>
            Writes a dynamic symbol value.
            </summary>
            <param name="value">Dynamic value (non primitive type).</param>
            <param name="utcWriteTime">The write time snapshot.</param>
            <exception cref="T:System.ArgumentNullException">value</exception>
            <exception cref="T:System.ArgumentException">value</exception>
        </member>
        <member name="M:TwinCAT.ValueAccess.DynamicValueAccessor.tryWriteValue(TwinCAT.TypeSystem.ISymbol,System.Byte[],System.Int32,System.DateTime@)">
            <summary>
            Writes a raw symbol value.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="value">Value as raw byte Array.</param>
            <param name="offset">Value offset within value array.</param>
            <param name="utcWriteTime">The write time snapshot.</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.ValueAccess.DynamicValueAccessor.WriteArrayElement(TwinCAT.TypeSystem.IArrayInstance,System.Int32[],System.Object,System.DateTime@)">
            <summary>
            Writes the typed value of the specified array element.
            </summary>
            <param name="arrInstance">Array Instance.</param>
            <param name="indices">Index specifier..</param>
            <param name="value">Array element value (primitive type or <see cref="T:TwinCAT.TypeSystem.DynamicValue" /></param>
            <param name="utcWriteTime">The write time snapshot</param>
            <exception cref="T:System.ArgumentNullException">
            arrInstance
            or
            indices
            or
            value
            </exception>
        </member>
        <member name="M:TwinCAT.ValueAccess.DynamicValueAccessor.OnRegisterNotification(TwinCAT.TypeSystem.ISymbol,TwinCAT.ValueAccess.SymbolNotificationType,TwinCAT.TypeSystem.INotificationSettings)">
            <summary>
            Registers a Notification on the <see cref="T:TwinCAT.TypeSystem.ISymbol" />.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="type">Type of Notification (Value, Raw or Both)</param>
            <param name="settings">The settings.</param>
            <exclude />
            <remarks>Only one Notification is allowed on the symbol. On case of double announcement, we set the Notification parameters
            to the higher priority.</remarks>
        </member>
        <member name="M:TwinCAT.ValueAccess.DynamicValueAccessor.OnUnregisterNotification(TwinCAT.TypeSystem.ISymbol,TwinCAT.ValueAccess.SymbolNotificationType)">
            <summary>
            Unregisters a Notification from the <see cref="T:TwinCAT.TypeSystem.ISymbol" />.
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="type">Type of Notification (Value, Raw or Both)</param>
            <exclude />
        </member>
        <member name="M:TwinCAT.ValueAccess.DynamicValueAccessor.TryInvokeRpcMethod(TwinCAT.TypeSystem.IInstance,TwinCAT.TypeSystem.IRpcMethod,System.Object[],TwinCAT.TypeSystem.AnyTypeSpecifier[],TwinCAT.TypeSystem.AnyTypeSpecifier,System.Object[]@,System.Object@,System.DateTime@)">
            <summary>Invokes the specified RPC Method.</summary>
            <param name="instance">The instance.</param>
            <param name="method">The method.</param>
            <param name="parameters">The parameters.</param>
            <param name="outSpecifiers"></param>
            <param name="retSpecifier"></param>
            <param name="outParameters"></param>
            <param name="returnValue">The return value.</param>
            <param name="utcInvokeTime">The invoke time snapshot (User Time, UTC).</param>
            <returns>Error code. 0 represents succeed.</returns>
        </member>
        <member name="M:TwinCAT.ValueAccess.DynamicValueAccessor.TryReadArrayElementValue(TwinCAT.TypeSystem.ISymbol,System.Int32[],System.Byte[]@,System.DateTime@)">
            <summary>
            Try to read Array Element Value
            </summary>
            <param name="arrayInstance">The array instance.</param>
            <param name="indices">The indices.</param>
            <param name="value">The value.</param>
            <param name="utcReadTime">The read time snapshot (User Time, UTC)</param>
            <returns>AdsErrorCode.</returns>
        </member>
        <member name="M:TwinCAT.ValueAccess.DynamicValueAccessor.TryReadValue(TwinCAT.TypeSystem.ISymbol,System.Byte[]@,System.DateTime@)">
            <summary>
            Try to read value
            </summary>
            <param name="symbolInstance">The symbol instance.</param>
            <param name="value">The value.</param>
            <param name="utcReadTime">The read time snapshot (User Time, UTC)</param>
        </member>
        <member name="M:TwinCAT.ValueAccess.DynamicValueAccessor.TryWriteArrayElementValue(TwinCAT.TypeSystem.ISymbol,System.Int32[],System.Byte[],System.Int32,System.DateTime@)">
            <summary>
            Try to write element value.
            </summary>
            <param name="arrayInstance">The array instance.</param>
            <param name="indices">The indices.</param>
            <param name="value">The value.</param>
            <param name="offset">The offset.</param>
            <param name="utcWriteTime">The write time snapshot (User Time, UTC).</param>
        </member>
        <member name="M:TwinCAT.ValueAccess.DynamicValueAccessor.TryWriteValue(TwinCAT.TypeSystem.ISymbol,System.Byte[],System.Int32,System.DateTime@)">
            <summary>
            Tries to write the Value
            </summary>
            <param name="symbolInstance">The address.</param>
            <param name="value">The value.</param>
            <param name="offset">The offset.</param>
            <param name="utcWriteTime">The write time snapshot.</param>
            <returns>AdsErrorCode.</returns>
            <exclude />
        </member>
        <member name="T:TwinCAT.ValueAccess.DynamicValueFactory">
            <summary>
            Class DynamicValueFactory.
            </summary>
            <seealso cref="T:TwinCAT.ValueAccess.IAccessorValueFactory" />
            <exclude/>
        </member>
        <member name="M:TwinCAT.ValueAccess.DynamicValueFactory.#ctor(TwinCAT.ValueAccess.ValueCreationMode)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.ValueAccess.DynamicValueFactory"/> class.
            </summary>
            <param name="mode">The mode.</param>
        </member>
        <member name="M:TwinCAT.ValueAccess.DynamicValueFactory.CreateValue(TwinCAT.TypeSystem.ISymbol,System.Byte[],System.Int32,System.DateTime)">
            <summary>
            Creates the specified symbols value from raw byte data
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="rawData">The raw data.</param>
            <param name="offset">The offset / start index within the data</param>
            <param name="utcReadTime">The UTC time.</param>
            <returns>System.Object.</returns>
        </member>
        <member name="M:TwinCAT.ValueAccess.DynamicValueFactory.CreateValue(TwinCAT.TypeSystem.ISymbol,System.Byte[],System.Int32,TwinCAT.TypeSystem.IValue)">
            <summary>
            Creates the specified symbols value from raw byte data
            </summary>
            <param name="symbol">The symbol.</param>
            <param name="rawData">The raw data.</param>
            <param name="offset">The offset / start index within the data</param>
            <param name="parent">The parent.</param>
            <returns>System.Object.</returns>
            <exception cref="T:System.NotSupportedException"></exception>
        </member>
        <member name="T:TwinCAT.SessionException">
            <summary>
            Session Exception
            </summary>
            <seealso cref="T:TwinCAT.Ads.AdsException" />
        </member>
        <member name="F:TwinCAT.SessionException.Session">
            <summary>
            The session
            </summary>
        </member>
        <member name="M:TwinCAT.SessionException.#ctor(System.String,TwinCAT.ISession)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.SessionException"/> class.
            </summary>
            <param name="message">The message.</param>
            <param name="session">The session.</param>
        </member>
        <member name="M:TwinCAT.SessionException.#ctor(System.String,TwinCAT.ISession,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.SessionException"/> class.
            </summary>
            <param name="message">The message.</param>
            <param name="session">The session.</param>
            <param name="innerException">The inner exception.</param>
        </member>
        <member name="M:TwinCAT.SessionException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.SessionException"/> class.
            </summary>
            <param name="info">The object that holds the serialized object data.</param>
            <param name="context">The contextual information about the source or destination.</param>
            <exception cref="T:System.ArgumentNullException">info</exception>
        </member>
        <member name="M:TwinCAT.SessionException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            When overridden in a derived class, sets the <see cref="T:System.Runtime.Serialization.SerializationInfo" /> with information about the exception.
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
            <exception cref="T:System.ArgumentNullException">info</exception>
            <PermissionSet>
              <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Read="*AllFiles*" PathDiscovery="*AllFiles*" />
              <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="SerializationFormatter" />
            </PermissionSet>
        </member>
        <member name="T:TwinCAT.SessionNotConnectedException">
            <summary>
            Class SessionNotConnectedException.
            </summary>
            <seealso cref="T:TwinCAT.SessionException" />
        </member>
        <member name="M:TwinCAT.SessionNotConnectedException.#ctor(TwinCAT.ISession)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.SessionNotConnectedException" /> class.
            </summary>
            <param name="session">The session.</param>
        </member>
        <member name="M:TwinCAT.SessionNotConnectedException.#ctor(System.String,TwinCAT.ISession)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.SessionNotConnectedException"/> class.
            </summary>
            <param name="message">The message.</param>
            <param name="session">The session.</param>
        </member>
        <member name="T:TwinCAT.ClientNotConnectedException">
            <summary>
            Class ClientNotConnectedException
            </summary>
        </member>
        <member name="M:TwinCAT.ClientNotConnectedException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.ClientNotConnectedException" /> class.
            </summary>
        </member>
        <member name="T:TwinCAT.IConnectionStateProvider">
            <summary>
            Interface IConnectionStateProvider
            </summary>
        </member>
        <member name="P:TwinCAT.IConnectionStateProvider.ConnectionState">
            <summary>
            Gets the current Connection state of the <see cref="T:TwinCAT.IConnectionStateProvider" />
            </summary>
            <value>The state of the connection.</value>
            <remarks>The Connection state changes only if the <see cref="T:TwinCAT.IConnection"/> is established / shut down
            or active communication is triggered by the User of the <see cref="T:TwinCAT.IConnection"/> object.
            </remarks>
            <example>
            The following sample shows how to keep the <see cref="P:TwinCAT.IConnectionStateProvider.ConnectionState"/> updated by triggering ADS Communication.
            <code language="C#" title="Trigger ConnectionState changes in WPF Applications" source="..\Samples\TwinCAT.ADS.NET_Samples\40_ADS.NET_WPFConnectionObserver\MainWindow.xaml.cs" region="CODE_SAMPLE" />
            </example>   
            <seealso cref="E:TwinCAT.IConnectionStateProvider.ConnectionStateChanged"/>
        </member>
        <member name="E:TwinCAT.IConnectionStateProvider.ConnectionStateChanged">
            <summary>
            Occurs when connection status of the <see cref="T:TwinCAT.IConnectionStateProvider"/> has been changed.
            </summary>
            <remarks>The Connection state changes only if the <see cref="T:TwinCAT.IConnection"/> is established / shut down
            or active communication is triggered by the User of the <see cref="T:TwinCAT.IConnection"/> object.
            </remarks>
            <example>
            The following sample shows how to keep the <see cref="P:TwinCAT.IConnectionStateProvider.ConnectionState"/> updated by triggering ADS Communication.
            <code language="C#" title="Trigger ConnectionState changes in WPF Applications" source="..\Samples\TwinCAT.ADS.NET_Samples\40_ADS.NET_WPFConnectionObserver\MainWindow.xaml.cs" region="CODE_SAMPLE" />
            </example>   
            <seealso cref="P:TwinCAT.IConnectionStateProvider.ConnectionState"/>
        </member>
        <member name="T:TwinCAT.IConnectionStateObserver">
            <summary>
            Interface for a Connection state watcher (observer)
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.IConnectionStateObserver.LastAccess">
            <summary>
            Gets the <see cref="T:System.DateTime"/> of the last tried access
            </summary>
        </member>
        <member name="P:TwinCAT.IConnectionStateObserver.LastSucceededAccess">
            <summary>
            Gets the <see cref="T:System.DateTime"/> of the last successful data communication
            </summary>
        </member>
        <member name="P:TwinCAT.IConnectionStateObserver.TotalCycles">
            <summary>
            Gets the number of successful reads / writes
            </summary>
        </member>
        <member name="P:TwinCAT.IConnectionStateObserver.TotalErrors">
            <summary>
            Gets the error count of accesses
            </summary>
        </member>
        <member name="P:TwinCAT.IConnectionStateObserver.ErrorsSinceLastSucceeded">
            <summary>
            Gets the number of errors since the last successful access
            </summary>
        </member>
        <member name="P:TwinCAT.IConnectionStateObserver.Quality">
            <summary>
            Gets the quality of the current cached value (the age of the data)
            </summary>
        </member>
        <member name="T:TwinCAT.IConnection">
            <summary>
            Interface IConnection
            </summary>
        </member>
        <member name="P:TwinCAT.IConnection.Id">
            <summary>
            Gets the Connection Identifier .
            </summary>
            <value>The identifier.</value>
        </member>
        <member name="P:TwinCAT.IConnection.IsConnected">
            <summary>
            Gets a value indicating whether the local ADS port was opened successfully. It
            does not indicate if the target port is available. Use the method ReadState to
            determine if the target port is available.
            </summary>
        </member>
        <member name="M:TwinCAT.IConnection.Close">
            <summary>
            Closes this <see cref="T:TwinCAT.IConnection"/>
            </summary>
            <remarks>Closed Connections cannot be reconnected (when disposable objects behind)</remarks>
        </member>
        <member name="M:TwinCAT.IConnection.Connect">
            <summary>
            (Re)Connects the <see cref="T:TwinCAT.IConnection"/> when disconnected.
            </summary>
        </member>
        <member name="M:TwinCAT.IConnection.Disconnect">
            <summary>
            Disconnects this <see cref="T:TwinCAT.IConnection"/>.
            </summary>
        </member>
        <member name="P:TwinCAT.IConnection.Timeout">
            <summary>
            Gets the timeout (in milliseconds)
            </summary>
            <value>The timeout.</value>
        </member>
        <member name="P:TwinCAT.IConnection.Session">
            <summary>
            Gets the session that initiated this <see cref="T:TwinCAT.IConnection"/>
            </summary>
            <remarks>The Session can be null on standalone connections.</remarks>
            <value>The session or NULL</value>
        </member>
        <member name="T:TwinCAT.ConnectionStateChangedReason">
            <summary>
            Reason for the Connection status changed event.
            </summary>
        </member>
        <member name="F:TwinCAT.ConnectionStateChangedReason.None">
            <summary>
            None / Uninitialized
            </summary>
        </member>
        <member name="F:TwinCAT.ConnectionStateChangedReason.Established">
            <summary>
            The connection to the target has been established
            </summary>
        </member>
        <member name="F:TwinCAT.ConnectionStateChangedReason.Closed">
            <summary>
            The Connection was closed
            </summary>
        </member>
        <member name="F:TwinCAT.ConnectionStateChangedReason.Lost">
            <summary>
            The connection to the target has been lost
            </summary>
        </member>
        <member name="F:TwinCAT.ConnectionStateChangedReason.Error">
            <summary>
            Communication error to the target (the connection is not shutting down)
            </summary>
        </member>
        <member name="F:TwinCAT.ConnectionStateChangedReason.Resurrected">
            <summary>
            Communication was resurrected (available again)
            </summary>
        </member>
        <member name="T:TwinCAT.ConnectionStateChangedEventArgs">
            <summary>
            Event arguments for the Connection status changed event.
            </summary>
        </member>
        <member name="F:TwinCAT.ConnectionStateChangedEventArgs.Reason">
            <summary>
            Reason for the event
            </summary>
        </member>
        <member name="F:TwinCAT.ConnectionStateChangedEventArgs.Exception">
            <summary>
            Exception, (only for <see cref="F:TwinCAT.ConnectionStateChangedReason.Error"/>
            </summary>
        </member>
        <member name="F:TwinCAT.ConnectionStateChangedEventArgs.OldState">
            <summary>
            Old connection state
            </summary>
        </member>
        <member name="F:TwinCAT.ConnectionStateChangedEventArgs.NewState">
            <summary>
            New connection state
            </summary>
        </member>
        <member name="M:TwinCAT.ConnectionStateChangedEventArgs.#ctor(TwinCAT.ConnectionStateChangedReason,TwinCAT.ConnectionState,TwinCAT.ConnectionState,System.Exception)">
            <summary>
            Constructs the <see cref="T:TwinCAT.ConnectionStateChangedEventArgs" /> arguments.
            </summary>
            <param name="reason">The reason.</param>
            <param name="newState">The new state.</param>
            <param name="oldState">The old state.</param>
            <param name="e">The e.</param>
        </member>
        <member name="M:TwinCAT.ConnectionStateChangedEventArgs.#ctor(TwinCAT.ConnectionStateChangedReason,TwinCAT.ConnectionState,TwinCAT.ConnectionState)">
            <summary>
            Constructs the <see cref="T:TwinCAT.ConnectionStateChangedEventArgs" /> arguments.
            </summary>
            <param name="reason">The reason.</param>
            <param name="newState">The new state.</param>
            <param name="oldState">The old state.</param>
        </member>
        <member name="T:TwinCAT.SessionConnectionStateChangedEventArgs">
            <summary>
            EventArguments for the ConnectionStatusChanged events.
            </summary>
            <seealso cref="T:TwinCAT.ConnectionStateChangedEventArgs" />
        </member>
        <member name="F:TwinCAT.SessionConnectionStateChangedEventArgs.Session">
            <summary>
            The session
            </summary>
        </member>
        <member name="F:TwinCAT.SessionConnectionStateChangedEventArgs.Connection">
            <summary>
            The connection
            </summary>
        </member>
        <member name="M:TwinCAT.SessionConnectionStateChangedEventArgs.#ctor(TwinCAT.ConnectionStateChangedReason,TwinCAT.ConnectionState,TwinCAT.ConnectionState,TwinCAT.ISession,TwinCAT.IConnection,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.SessionConnectionStateChangedEventArgs"/> class.
            </summary>
            <param name="reason">The reason.</param>
            <param name="newState">The new state.</param>
            <param name="oldState">The old state.</param>
            <param name="session">The session.</param>
            <param name="connection">The connection.</param>
            <param name="e">The e.</param>
        </member>
        <member name="M:TwinCAT.SessionConnectionStateChangedEventArgs.#ctor(TwinCAT.ConnectionStateChangedReason,TwinCAT.ConnectionState,TwinCAT.ConnectionState,TwinCAT.ISession,TwinCAT.IConnection)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.SessionConnectionStateChangedEventArgs"/> class.
            </summary>
            <param name="reason">The reason.</param>
            <param name="newState">The new state.</param>
            <param name="oldState">The old state.</param>
            <param name="session">The session.</param>
            <param name="connection">The connection.</param>
        </member>
        <member name="T:TwinCAT.ConnectionState">
            <summary>
            Connection state enumeration
            </summary>
        </member>
        <member name="F:TwinCAT.ConnectionState.None">
            <summary>
            Unknown / Uninitialized
            </summary>
            <remarks>The connection is in Unknown / Uninitialized state. This state can only be shown if no connection was
            established yet.</remarks>
        </member>
        <member name="F:TwinCAT.ConnectionState.Unknown">
            <summary>
            Unknown / Uninitialized
            </summary>
            <remarks>The connection is in Unknown / Uninitialized state. This state can only be shown if no connection was
            established yet.</remarks>
        </member>
        <member name="F:TwinCAT.ConnectionState.Disconnected">
            <summary>
            Disconnected
            </summary>
            <remarks>The connection was explicitly disconnected and is now in disconnected state.</remarks>
        </member>
        <member name="F:TwinCAT.ConnectionState.Connected">
            <summary>
            Connected
            </summary>
            <remarks>The connection is established and active.</remarks>
        </member>
        <member name="F:TwinCAT.ConnectionState.Lost">
            <summary>
            Connection lost
            </summary>
            <remarks>The connection is (temporarily) lost and can be reestablished / resurrected after a (resurrection) timeout.</remarks>
        </member>
        <member name="T:TwinCAT.ISessionSettings">
            <summary>
            Interface ISessionSettings
            </summary>
        </member>
        <member name="T:TwinCAT.ISymbolServerProvider">
            <summary>
            Interface ISymbolServerProvider
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.ISymbolServerProvider.SymbolServer">
            <summary>
            Gets the symbol server.
            </summary>
            <value>The symbol server.
            To initially create this information the connection must be established.
            </value>
            <exception cref="T:TwinCAT.SessionNotConnectedException">The connection is not established!</exception>
        </member>
        <member name="T:TwinCAT.ISession">
            <summary>
            Interface ISession
            </summary>
        </member>
        <member name="P:TwinCAT.ISession.Provider">
            <summary>
            Gets the Session Provider
            </summary>
            <value>The provider.</value>
            <exclude/>
        </member>
        <member name="P:TwinCAT.ISession.AddressSpecifier">
            <summary>
            Gets the communication endpoint address string representation.
            </summary>
            <value>The address.</value>
        </member>
        <member name="P:TwinCAT.ISession.Id">
            <summary>
            Gets the Session Id
            </summary>
            <value>The identifier.</value>
        </member>
        <member name="P:TwinCAT.ISession.IsConnected">
            <summary>
            Gets a value indicating whether the session is connected.
            </summary>
            <value><c>true</c> if session is connected; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:TwinCAT.ISession.Connection">
            <summary>
            Gets the Connection object.
            </summary>
            <remarks>
            The <see cref="T:TwinCAT.IConnection"/> object is established by the <see cref="T:TwinCAT.ISession"/> via <see cref="M:TwinCAT.ISession.Connect"/> and is valid
            until the <see cref="M:TwinCAT.ISession.Disconnect"/> method or the Dispose method is called. Any possible resurrections after communication
            losses will be done transparently under the hood of the <see cref="T:TwinCAT.IConnection"/> so that the <see cref="T:TwinCAT.IConnection"/> 
            instance and <see cref="T:TwinCAT.ISession"/> instance.
            </remarks>
            <value>The connection.</value>
        </member>
        <member name="M:TwinCAT.ISession.Connect">
            <summary>
            Connects the session and returns the established <see cref="T:TwinCAT.IConnection"/> object.
            </summary>
            <remarks>
            The <see cref="T:TwinCAT.IConnection"/> will be valid until the <see cref="T:TwinCAT.ISession"/> is disconnected via
            the <see cref="M:TwinCAT.ISession.Disconnect"/> method or the Dispose method is called. Any possible resurrections after communication
            losses will be done transparently within the <see cref="T:TwinCAT.IConnection"/> so that the <see cref="T:TwinCAT.IConnection"/> instance and <see cref="T:TwinCAT.ISession"/> instance
            remains.
            </remarks>
            <returns>The <see cref="T:TwinCAT.IConnection"/> object.</returns>
        </member>
        <member name="M:TwinCAT.ISession.Disconnect">
            <summary>
            Disconnects the <see cref="T:TwinCAT.ISession"/>
            </summary>
            <remarks>Disposes also the <see cref="T:TwinCAT.IConnection"/>.</remarks>
            <returns><c>true</c> if Session was disconnected, <c>false</c> if the session was already closed.</returns>
        </member>
        <member name="M:TwinCAT.ISession.Close">
            <summary>
            Closes this <see cref="T:TwinCAT.ISession" />
            </summary>
            <remarks>Closes also the <see cref="T:TwinCAT.IConnection" />.</remarks>
        </member>
        <member name="P:TwinCAT.ISession.EstablishedAt">
            <summary>
            Gets the UTC time when the session was established.
            </summary>
            <value>The session established at.</value>
        </member>
        <member name="T:TwinCAT.Session">
            <summary>
            Abstract Session base class.
            </summary>
            <seealso cref="T:TwinCAT.ISession" />
            <seealso cref="T:System.IDisposable" />
        </member>
        <member name="M:TwinCAT.Session.#ctor(TwinCAT.ISessionProvider)">
            <summary>
            Initializes a new instance of the <see cref="T:TwinCAT.Session"/> class.
            </summary>
            <param name="provider">The provider.</param>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Session.provider">
            <summary>
            The provider
            </summary>
            <exclude/>
        </member>
        <member name="P:TwinCAT.Session.Provider">
            <summary>
            Gets the Session Provider
            </summary>
            <value>The provider or NULL if instantiated directly</value>
            <exclude/>
        </member>
        <member name="F:TwinCAT.Session.s_id">
            <summary>
            Session ID counter (static)
            </summary>
        </member>
        <member name="F:TwinCAT.Session._id">
            <summary>
            Session Identifier
            </summary>
        </member>
        <member name="P:TwinCAT.Session.Id">
            <summary>
            Gets the Session Identifier
            </summary>
            <value>The identifier.</value>
        </member>
        <member name="F:TwinCAT.Session.connection">
            <summary>
            The (established) connection
            </summary>
        </member>
        <member name="P:TwinCAT.Session.Connection">
            <summary>
            Gets the (established) connection.
            </summary>
            <value>The <see cref="T:TwinCAT.IConnection"/> if connection established, or <b>null</b> if not connected.</value>
        </member>
        <member name="P:TwinCAT.Session.IsConnected">
            <summary>
            Gets a value indicating whether this instance is connected.
            </summary>
            <value><c>true</c> if this instance is connected; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:TwinCAT.Session.Connect">
            <summary>
            Connects the session.
            </summary>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
            <exception cref="T:System.ObjectDisposedException"></exception>
            <remarks>The <see cref="T:TwinCAT.IConnection" /> will be valid until the <see cref="T:TwinCAT.ISession" /> is disconnected via
            the <see cref="M:TwinCAT.Session.Disconnect" /> method or the Dispose method is called. Any possible resurrections after communication
            losses will be done transparently within the <see cref="T:TwinCAT.IConnection" /> so that the <see cref="T:TwinCAT.IConnection" /> instance and <see cref="T:TwinCAT.ISession" /> instance
            remains.</remarks>
        </member>
        <member name="M:TwinCAT.Session.OnConnect(System.Boolean)">
            <summary>
            Handler function connecting the Session.
            </summary>
            <param name="reconnect">if set to <c>true</c> [reconnect].</param>
            <returns>IConnection.</returns>
        </member>
        <member name="M:TwinCAT.Session.Disconnect">
            <summary>
            Disconnects the session from the target.
            </summary>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
            <remarks>Closes (and disposes) the underlying <see cref="T:TwinCAT.IConnection" />
            The <see cref="T:TwinCAT.Session"/> itself will not be Disposed and can be reconnected.</remarks>
        </member>
        <member name="M:TwinCAT.Session.OnDisconnect">
            <summary>
            Handler function disconnecting the session.
            </summary>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="P:TwinCAT.Session.EstablishedAt">
            <summary>
            Gets the UTC time when the session was established.
            </summary>
            <value>The session established at.</value>
        </member>
        <member name="F:TwinCAT.Session._disposed">
            <summary>
            Disposed flag.
            </summary>
        </member>
        <member name="P:TwinCAT.Session.Disposed">
            <summary>
            Gets a value indicating whether this <see cref="T:TwinCAT.Session"/> is disposed.
            </summary>
            <value><c>true</c> if disposed; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:TwinCAT.Session.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
        </member>
        <member name="M:TwinCAT.Session.Close">
            <summary>
            Closes this <see cref="T:TwinCAT.ISession" />
            </summary>
            <remarks>Closes also the <see cref="T:TwinCAT.IConnection" />.</remarks>
        </member>
        <member name="M:TwinCAT.Session.Dispose(System.Boolean)">
            <summary>
            Releases unmanaged and - optionally - managed resources.
            </summary>
            <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
        </member>
        <member name="F:TwinCAT.Session._symbolServer">
            <summary>
            The symbol server
            </summary>
        </member>
        <member name="E:TwinCAT.Session.ConnectionStateChanged">
            <summary>
            Occurs when connection status of the <see cref="T:TwinCAT.IConnectionStateProvider"/> has been changed.
            </summary>
            <remarks>The Connection state changes only if the <see cref="T:TwinCAT.IConnection"/> is established / shut down
            or active communication is triggered by the User of the <see cref="T:TwinCAT.IConnection"/> object.
            </remarks>
            <example>
            The following sample shows how to keep the <see cref="P:TwinCAT.Session.ConnectionState"/> updated by triggering ADS Communication.
            <code language="C#" title="Trigger ConnectionState changes in WPF Applications" source="..\Samples\TwinCAT.ADS.NET_Samples\40_ADS.NET_WPFConnectionObserver\MainWindow.xaml.cs" region="CODE_SAMPLE" />
            </example>   
            <seealso cref="P:TwinCAT.Session.ConnectionState"/>
        </member>
        <member name="P:TwinCAT.Session.SymbolServer">
            <summary>
            Gets the symbol server.
            </summary>
            <remarks>
            The <see cref="T:TwinCAT.Session"/> object holds and caches the symbolic information.
            To initially create this information, the Connection must be established.
            </remarks>
            <value>The symbol server.</value>
        </member>
        <member name="M:TwinCAT.Session.OnCreateSymbolServer">
            <summary>
            Handler function creating the <see cref="T:TwinCAT.TypeSystem.ISymbolServer"/>
            </summary>
            <returns>ISymbolServer.</returns>
            <exception cref="T:TwinCAT.SessionNotConnectedException">The connection is not established!</exception>
        </member>
        <member name="P:TwinCAT.Session.Name">
            <summary>
            Gets the name of the session
            </summary>
            <value>The name.</value>
        </member>
        <member name="P:TwinCAT.Session.ConnectionState">
            <summary>
            Gets the current Connection state of the <see cref="T:TwinCAT.Session" />
            </summary>
            <value>The state of the connection.</value>
            <remarks>The Connection state changes only if the <see cref="T:TwinCAT.IConnection"/> is established / shut down
            or active communication is triggered by the User of the <see cref="T:TwinCAT.IConnection"/> object.
            </remarks>
            <example>
            The following sample shows how to keep the <see cref="P:TwinCAT.Session.ConnectionState"/> updated by triggering ADS Communication.
            <code language="C#" title="Trigger ConnectionState changes in WPF Applications" source="..\Samples\TwinCAT.ADS.NET_Samples\40_ADS.NET_WPFConnectionObserver\MainWindow.xaml.cs" region="CODE_SAMPLE" />
            </example>   
            <seealso cref="E:TwinCAT.Session.ConnectionStateChanged"/>
        </member>
        <member name="P:TwinCAT.Session.AddressSpecifier">
            <summary>
            Gets the communication endpoint address string representation.
            </summary>
            <value>The address.</value>
        </member>
        <member name="M:TwinCAT.Session.OnGetAddress">
            <summary>
            Handler function getting the address of the session.
            </summary>
            <returns>System.String.</returns>
        </member>
        <member name="M:TwinCAT.Session.GetSessionName">
            <summary>
            Gets the name/string identifier of the session.
            </summary>
            <returns>System.String.</returns>
        </member>
        <member name="T:TwinCAT.SymbolsLoadMode">
            <summary>
            Enum SymbolsLoadMode
            </summary>
        </member>
        <member name="F:TwinCAT.SymbolsLoadMode.Flat">
            <summary>
            Loads the Symbols organized as Flat List
            </summary>
        </member>
        <member name="F:TwinCAT.SymbolsLoadMode.VirtualTree">
            <summary>
            Loads the Symbols organized as Virtual tree (Symbol Parent - Child relationships)
            </summary>
        </member>
        <member name="F:TwinCAT.SymbolsLoadMode.DynamicTree">
            <summary>
            Loads the Symbols as a Virtual tree with Dynamic Symbols (Only available within versions > 4.X of this ADS Api)
            </summary>
        </member>
        <member name="T:TwinCAT.ISymbolLoaderSettings">
            <summary>
            Interface ISymbolLoaderSettings
            </summary>
        </member>
    </members>
</doc>
