CodeSmith.Core A class defining a business day. Initializes a new instance of the class. The day of week this business day represents. Initializes a new instance of the class. The day of week this business day represents. The start time of the business day. The end time of the business day. Determines whether the specified date falls in the business day. The date to check. true if the specified date falls in the business day; otherwise, false. Gets the day of week this business day represents.. The day of week. Gets the start time of the business day. The start time of the business day. Gets the end time of the business day. The end time of the business day. A class representing a business week. Initializes a new instance of the class. Determines whether the specified date falls on a business day. The date to check. true if the specified date falls on a business day; otherwise, false. Gets the business time between the start date and end date. The start date. The end date. A TimeSpan of the amount of business time between the start and end date. Business time is calculated by adding only the time that falls inside the business day range. If all the time between the start and end date fall outside the business day, the time will be zero. Gets the business end date using the specified time. The start date. The business time. Validates the business week. if set to true throw excption if invalid. true if valid; otherwise false. Gets the business days for the week. The business days for the week. Gets the default BusinessWeek. Nested class to lazy-load singleton. Initializes the Nested class. Explicit static constructor to tell C# compiler not to mark type as beforefieldinit. Current singleton instance. Represents a thread-safe collection of keys and values. The type of the keys in the dictionary. The type of the values in the dictionary. All public and protected members of are thread-safe and may be used concurrently from multiple threads. Raises the PropertyChanged event with the provided arguments. The instance containing the event data. Raises the PropertyChanged event with the provided arguments. Name of the property. Raises the CollectionChanged event with the provided arguments. Initializes a new instance of the class that is empty, has the default concurrency level, has the default initial capacity, and uses the default comparer for the key type. Initializes a new instance of the class that is empty, has the specified concurrency level and capacity, and uses the default comparer for the key type. The estimated number of threads that will update the concurrently. The initial number of elements that the can contain. is less than 1. is less than 0. Initializes a new instance of the class that contains elements copied from the specified , has the default concurrency level, has the default initial capacity, and uses the default comparer for the key type. The whose elements are copied to the new . is a null reference (Nothing in Visual Basic). contains one or more duplicate keys. Initializes a new instance of the class that is empty, has the specified concurrency level and capacity, and uses the specified . The implementation to use when comparing keys. is a null reference (Nothing in Visual Basic). Initializes a new instance of the class that contains elements copied from the specified , has the default concurrency level, has the default initial capacity, and uses the specified . The whose elements are copied to the new . The implementation to use when comparing keys. is a null reference (Nothing in Visual Basic). -or- is a null reference (Nothing in Visual Basic). Initializes a new instance of the class that contains elements copied from the specified , has the specified concurrency level, has the specified initial capacity, and uses the specified . The estimated number of threads that will update the concurrently. The whose elements are copied to the new . The implementation to use when comparing keys. is a null reference (Nothing in Visual Basic). -or- is a null reference (Nothing in Visual Basic). is less than 1. contains one or more duplicate keys. Initializes a new instance of the class that is empty, has the specified concurrency level, has the specified initial capacity, and uses the specified . The estimated number of threads that will update the concurrently. The initial number of elements that the can contain. The implementation to use when comparing keys. is less than 1. -or- is less than 0. is a null reference (Nothing in Visual Basic). Attempts to add the specified key and value to the . The key of the element to add. The value of the element to add. The value can be a null reference (Nothing in Visual Basic) for reference types. true if the key/value pair was added to the successfully; otherwise, false. is null reference (Nothing in Visual Basic). The contains too many elements. Determines whether the contains the specified key. The key to locate in the . true if the contains an element with the specified key; otherwise, false. is a null reference (Nothing in Visual Basic). Attempts to remove and return the the value with the specified key from the . The key of the element to remove and return. When this method returns, contains the object removed from the or the default value of if the operation failed. true if an object was removed successfully; otherwise, false. is a null reference (Nothing in Visual Basic). Removes the specified key from the dictionary if it exists and returns its associated value. If matchValue flag is set, the key will be removed only if is associated with a particular value. The key to search for and remove if it exists. The variable into which the removed value, if found, is stored. Whether removal of the key is conditional on its value. The conditional value to compare against if is true Attempts to get the value associated with the specified key from the . The key of the value to get. When this method returns, contains the object from the with the spedified key or the default value of , if the operation failed. true if the key was found in the ; otherwise, false. is a null reference (Nothing in Visual Basic). Compares the existing value for the specified key with a specified value, and if they’re equal, updates the key with a third value. The key whose value is compared with and possibly replaced. The value that replaces the value of the element with if the comparison results in equality. The value that is compared to the value of the element with . true if the value with was equal to and replaced with ; otherwise, false. is a null reference. Removes all keys and values from the . Copies the elements of the to an array of type , starting at the specified array index. The one-dimensional array of type that is the destination of the elements copied from the . The array must have zero-based indexing. The zero-based index in at which copying begins. is a null reference (Nothing in Visual Basic). is less than 0. is equal to or greater than the length of the . -or- The number of elements in the source is greater than the available space from to the end of the destination . Copies the key and value pairs stored in the to a new array. A new array containing a snapshot of key and value pairs copied from the . Copy dictionary contents to an array - shared implementation between ToArray and CopyTo. Important: the caller must hold all locks in m_locks before calling CopyToPairs. Copy dictionary contents to an array - shared implementation between ToArray and CopyTo. Important: the caller must hold all locks in m_locks before calling CopyToEntries. Copy dictionary contents to an array - shared implementation between ToArray and CopyTo. Important: the caller must hold all locks in m_locks before calling CopyToObjects. Returns an enumerator that iterates through the . An enumerator for the . The enumerator returned from the dictionary is safe to use concurrently with reads and writes to the dictionary, however it does not represent a moment-in-time snapshot of the dictionary. The contents exposed through the enumerator may contain modifications made to the dictionary after was called. Shared internal implementation for inserts and updates. If key exists, we always return false; and if updateIfExists == true we force update with value; If key doesn't exist, we always add value and return true; Adds a key/value pair to the if the key does not already exist. The key of the element to add. The function used to generate a value for the key is a null reference (Nothing in Visual Basic). is a null reference (Nothing in Visual Basic). The dictionary contains too many elements. The value for the key. This will be either the existing value for the key if the key is already in the dictionary, or the new value for the key as returned by valueFactory if the key was not in the dictionary. Adds a key/value pair to the if the key does not already exist. The key of the element to add. the value to be added, if the key does not already exist is a null reference (Nothing in Visual Basic). The dictionary contains too many elements. The value for the key. This will be either the existing value for the key if the key is already in the dictionary, or the new value if the key was not in the dictionary. Adds a key/value pair to the if the key does not already exist, or updates a key/value pair in the if the key already exists. The key to be added or whose value should be updated The function used to generate a value for an absent key The function used to generate a new value for an existing key based on the key's existing value is a null reference (Nothing in Visual Basic). is a null reference (Nothing in Visual Basic). is a null reference (Nothing in Visual Basic). The dictionary contains too many elements. The new value for the key. This will be either be the result of addValueFactory (if the key was absent) or the result of updateValueFactory (if the key was present). Adds a key/value pair to the if the key does not already exist, or updates a key/value pair in the if the key already exists. The key to be added or whose value should be updated The value to be added for an absent key The function used to generate a new value for an existing key based on the key's existing value is a null reference (Nothing in Visual Basic). is a null reference (Nothing in Visual Basic). The dictionary contains too many elements. The new value for the key. This will be either be the result of addValueFactory (if the key was absent) or the result of updateValueFactory (if the key was present). Adds the specified key and value to the . The object to use as the key of the element to add. The object to use as the value of the element to add. is a null reference (Nothing in Visual Basic). The dictionary contains too many elements. An element with the same key already exists in the . Removes the element with the specified key from the . The key of the element to remove. true if the element is successfully remove; otherwise false. This method also returns false if was not found in the original . is a null reference (Nothing in Visual Basic). Adds the specified value to the with the specified key. The structure representing the key and value to add to the . The of is null. The contains too many elements. An element with the same key already exists in the Determines whether the contains a specific key and value. The structure to locate in the . true if the is found in the ; otherwise, false. Removes a key and value from the dictionary. The structure representing the key and value to remove from the . true if the key and value represented by is successfully found and removed; otherwise, false. The Key property of is a null reference (Nothing in Visual Basic). Returns an enumerator that iterates through the . An enumerator for the . The enumerator returned from the dictionary is safe to use concurrently with reads and writes to the dictionary, however it does not represent a moment-in-time snapshot of the dictionary. The contents exposed through the enumerator may contain modifications made to the dictionary after was called. Adds the specified key and value to the dictionary. The object to use as the key. The object to use as the value. is a null reference (Nothing in Visual Basic). The dictionary contains too many elements. is of a type that is not assignable to the key type of the . -or- is of a type that is not assignable to , the type of values in the . -or- A value with the same key already exists in the . Gets whether the contains an element with the specified key. The key to locate in the . true if the contains an element with the specified key; otherwise, false. is a null reference (Nothing in Visual Basic). Provides an for the . An for the . Removes the element with the specified key from the . The key of the element to remove. is a null reference (Nothing in Visual Basic). Copies the elements of the to an array, starting at the specified array index. The one-dimensional array that is the destination of the elements copied from the . The array must have zero-based indexing. The zero-based index in at which copying begins. is a null reference (Nothing in Visual Basic). is less than 0. is equal to or greater than the length of the . -or- The number of elements in the source is greater than the available space from to the end of the destination . Replaces the internal table with a larger one. To prevent multiple threads from resizing the table as a result of ----s, the table of buckets that was deemed too small is passed in as an argument to GrowTable(). GrowTable() obtains a lock, and then checks whether the bucket table has been replaced in the meantime or not. Reference to the bucket table that was deemed too small. Computes the bucket and lock number for a particular key. Acquires all locks for this hash table, and increments locksAcquired by the number of locks that were successfully acquired. The locks are acquired in an increasing order. Acquires a contiguous range of locks for this hash table, and increments locksAcquired by the number of locks that were successfully acquired. The locks are acquired in an increasing order. Releases a contiguous range of locks. Gets a collection containing the keys in the dictionary. Gets a collection containing the values in the dictionary. A helper method for asserts. A helper function to obtain the string for a particular resource key. Get the data array to be serialized Construct the dictionary from a previously seiralized one Occurs when a property value changed. Occurs when the collection changed. Gets or sets the value associated with the specified key. The key of the value to get or set. The value associated with the specified key. If the specified key is not found, a get operation throws a , and a set operation creates a new element with the specified key. is a null reference (Nothing in Visual Basic). The property is retrieved and does not exist in the collection. Gets the number of key/value pairs contained in the . The dictionary contains too many elements. The number of key/value paris contained in the . Count has snapshot semantics and represents the number of items in the at the moment when Count was accessed. Gets a value that indicates whether the is empty. true if the is empty; otherwise, false. Gets a collection containing the keys in the . An containing the keys in the . Gets a collection containing the values in the . An containing the values in the . Gets a value indicating whether the dictionary is read-only. true if the is read-only; otherwise, false. For , this property always returns false. Gets a value indicating whether the has a fixed size. true if the has a fixed size; otherwise, false. For , this property always returns false. Gets a value indicating whether the is read-only. true if the is read-only; otherwise, false. For , this property always returns false. Gets an containing the keys of the . An containing the keys of the . Gets an containing the values in the . An containing the values in the . Gets or sets the value associated with the specified key. The key of the value to get or set. The value associated with the specified key, or a null reference (Nothing in Visual Basic) if is not in the dictionary or is of a type that is not assignable to the key type of the . is a null reference (Nothing in Visual Basic). A value is being assigned, and is of a type that is not assignable to the key type of the . -or- A value is being assigned, and is of a type that is not assignable to the value type of the Gets a value indicating whether access to the is synchronized with the SyncRoot. true if access to the is synchronized (thread safe); otherwise, false. For , this property always returns false. Gets an object that can be used to synchronize access to the . This property is not supported. The SyncRoot property is not supported. The number of concurrent writes for which to optimize by default. A node in a singly-linked list representing a particular hash table bucket. A private class to represent enumeration over the dictionary that implements the IDictionaryEnumerator interface. IndexedEnumerable makes enumerating over collections much easier by implementing properties like: IsEven, IsOdd, IsLast. Returns an IndexedEnumerable from any collection implementing IEnumerable<T> Type of enumerable Source enumerable A new IndexedEnumerable<T>. Returns an IndexedEnumerable from any collection implementing IEnumerable<T> Type of enumerable Source enumerable A new IndexedEnumerable<T>. IndexedEnumerable makes enumerating over collections much easier by implementing properties like: IsEven, IsOdd, IsLast. Type to iterate over Default constructor. Constructor that takes an IEnumerable<T> The collection to enumerate. Returns an enumeration of Entry objects. Non-generic form of GetEnumerator. Represents each entry returned within a collection, containing the _value and whether it is the first and/or the last entry in the collection's. enumeration The Entry Value. Returns true if it is the first item in the collection. Returns true if it is the last item in the collection. The index of the current item in the collection. Returns true if the current item has an even index Returns true if the current item has an odd index Provides a base for objects with names to derive from. The name of the object. Returns the name of the table. The name of the object. Determines whether an element is in the collection with the specified name. The name of the item to locate in the collection. true if item is found in the collection; otherwise, false. Determines the index of a specific item in the list. The name of the item to locate in the list. The index of item if found in the list; otherwise, -1. Gets the item with the specified name. The item with the specified name. Implements a strongly typed collection of elements. SchemaObjectBaseCollection provides an that is strongly typed for elements. Represents a strongly typed list of objects that provides notifications when items get added, removed, or when the whole list is refreshed. The type of elements in the list. Initializes a new instance of the class that is empty and has the default initial capacity. Initializes a new instance of the class that is empty and has the specified initial capacity. The number of elements that the new list can initially store. is less than 0. Initializes a new instance of the class that contains elements copied from the specified collection and has sufficient capacity to accommodate the number of elements copied. The collection whose elements are copied to the new list. is null. Searches for the specified object and returns the zero-based index of the first occurrence within the entire . The zero-based index of the first occurrence of within the entire , if found; otherwise, –1. The object to locate in the . The value can be null for reference types. Inserts an element into the at the specified index. The zero-based index at which should be inserted. The object to insert. The value can be null for reference types. is less than 0. -or- is greater than . Removes the element at the specified index of the . The zero-based index of the element to remove. is less than 0. -or- is equal to or greater than . Adds an object to the end of the . The object to be added to the end of the . The value can be null for reference types. Removes all elements from the . Determines whether an element is in the . true if is found in the ; otherwise, false. The object to locate in the . The value can be null for reference types. Copies the entire to a compatible one-dimensional array, starting at the specified index of the target array. The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. is null. is less than 0. is equal to or greater than the length of . -or- The number of elements in the source is greater than the available space from to the end of the destination . Copies the entire to a compatible one-dimensional array, starting at the specified index of the target array. The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. The zero-based index in at which copying begins. is null. is less than 0. is equal to or greater than the length of . -or- The number of elements in the source is greater than the available space from to the end of the destination . Removes the first occurrence of a specific object from the . true if is successfully removed; otherwise, false. This method also returns false if was not found in the . The object to remove from the . The value can be null for reference types. Returns an enumerator that iterates through the . A for the . Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Adds an item to the . The object to add to the . The position into which the new element was inserted, or -1 to indicate that the item was not inserted into the collection, The is read-only.-or- The has a fixed size. Determines whether the contains a specific value. The object to locate in the . true if the is found in the ; otherwise, false. Determines the index of a specific item in the . The object to locate in the . The index of if found in the list; otherwise, -1. Inserts an item to the at the specified index. The zero-based index at which should be inserted. The object to insert into the . is not a valid index in the . The is read-only.-or- The has a fixed size. is null reference in the . Removes the first occurrence of a specific object from the . The object to remove from the . The is read-only.-or- The has a fixed size. Copies the elements of the to an , starting at a particular index. The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. The zero-based index in at which copying begins. is null. is less than zero. is multidimensional.-or- The number of elements in the source is greater than the available space from to the end of the destination . The type of the source cannot be cast automatically to the type of the destination . Adds the elements of the specified collection to the end of the . The collection whose elements should be added to the end of the . The collection itself cannot be null, but it can contain elements that are null, if type T is a reference type. is null. Returns a read-only wrapper for the current collection. A that acts as a read-only wrapper around the current . Searches a range of elements in the sorted for an element using the specified comparer and returns the zero-based index of the element. The zero-based index of in the sorted , if is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than or, if there is no larger element, the bitwise complement of . The zero-based starting index of the range to search. The length of the range to search. The object to locate. The value can be null for reference types. The implementation to use when comparing elements, or null to use the default comparer . is less than 0. -or- is less than 0. and do not denote a valid range in the . is null, and the default comparer cannot find an implementation of the generic interface or the interface for type T. Searches the entire sorted for an element using the default comparer and returns the zero-based index of the element. The zero-based index of in the sorted , if is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than or, if there is no larger element, the bitwise complement of . The object to locate. The value can be null for reference types. The default comparer cannot find an implementation of the generic interface or the interface for type T. Searches the entire sorted for an element using the specified comparer and returns the zero-based index of the element. The zero-based index of in the sorted , if is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than or, if there is no larger element, the bitwise complement of . The object to locate. The value can be null for reference types. The implementation to use when comparing elements. -or- null to use the default comparer . is null, and the default comparer cannot find an implementation of the generic interface or the interface for type T. Converts the elements in the current to another type, and returns a list containing the converted elements. A of the target type containing the converted elements from the current . A delegate that converts each element from one type to another type. The type of the elements of the target array. is null. Determines whether the contains elements that match the conditions defined by the specified predicate. true if the contains one or more elements that match the conditions defined by the specified predicate; otherwise, false. The delegate that defines the conditions of the elements to search for. is null. Searches for an element that matches the conditions defined by the specified predicate, and returns the first occurrence within the entire . The first element that matches the conditions defined by the specified predicate, if found; otherwise, the default value for type T. The delegate that defines the conditions of the element to search for. is null. Retrieves all the elements that match the conditions defined by the specified predicate. A containing all the elements that match the conditions defined by the specified predicate, if found; otherwise, an empty . The delegate that defines the conditions of the elements to search for. is null. Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the entire . The zero-based index of the first occurrence of an element that matches the conditions defined by , if found; otherwise, –1. The delegate that defines the conditions of the element to search for. is null. Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the that extends from the specified index to the last element. The zero-based index of the first occurrence of an element that matches the conditions defined by , if found; otherwise, –1. The zero-based starting index of the search. The delegate that defines the conditions of the element to search for. is null. is outside the range of valid indexes for the . Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the that starts at the specified index and contains the specified number of elements. The zero-based index of the first occurrence of an element that matches the conditions defined by , if found; otherwise, –1. The zero-based starting index of the search. The number of elements in the section to search. The delegate that defines the conditions of the element to search for. is null. is outside the range of valid indexes for the . -or- is less than 0. -or- and do not specify a valid section in the . Searches for an element that matches the conditions defined by the specified predicate, and returns the last occurrence within the entire . The last element that matches the conditions defined by the specified predicate, if found; otherwise, the default value for type T. The delegate that defines the conditions of the element to search for. is null. Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the entire . The zero-based index of the last occurrence of an element that matches the conditions defined by , if found; otherwise, –1. The delegate that defines the conditions of the element to search for. is null. Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the that extends from the first element to the specified index. The zero-based index of the last occurrence of an element that matches the conditions defined by , if found; otherwise, –1. The zero-based starting index of the backward search. The delegate that defines the conditions of the element to search for. is null. is outside the range of valid indexes for the . Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the that contains the specified number of elements and ends at the specified index. The zero-based index of the last occurrence of an element that matches the conditions defined by , if found; otherwise, –1. The zero-based starting index of the backward search. The number of elements in the section to search. The delegate that defines the conditions of the element to search for. is null. is outside the range of valid indexes for the . -or- is less than 0. -or- and do not specify a valid section in the . Performs the specified action on each element of the . The delegate to perform on each element of the . is null. Creates a shallow copy of a range of elements in the source . A shallow copy of a range of elements in the source . The zero-based index at which the range starts. The number of elements in the range. is less than 0. -or- is less than 0. and do not denote a valid range of elements in the . Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the that extends from the specified index to the last element. The zero-based index of the first occurrence of within the range of elements in the that extends from to the last element, if found; otherwise, –1. The object to locate in the . The value can be null for reference types. The zero-based starting index of the search. is outside the range of valid indexes for the . Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the that starts at the specified index and contains the specified number of elements. The zero-based index of the first occurrence of within the range of elements in the that starts at and contains number of elements, if found; otherwise, –1. The object to locate in the . The value can be null for reference types. The zero-based starting index of the search. The number of elements in the section to search. is outside the range of valid indexes for the . -or- is less than 0. -or- and do not specify a valid section in the . Inserts the elements of a collection into the at the specified index. The zero-based index at which the new elements should be inserted. The collection whose elements should be inserted into the . The collection itself cannot be null, but it can contain elements that are null, if type T is a reference type. is null. is less than 0. -or- is greater than . Searches for the specified object and returns the zero-based index of the last occurrence within the entire . The zero-based index of the last occurrence of within the entire the , if found; otherwise, –1. The object to locate in the . The value can be null for reference types. Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the that extends from the first element to the specified index. The zero-based index of the last occurrence of within the range of elements in the that extends from the first element to , if found; otherwise, –1. The object to locate in the . The value can be null for reference types. The zero-based starting index of the backward search. is outside the range of valid indexes for the . Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the that contains the specified number of elements and ends at the specified index. The zero-based index of the last occurrence of within the range of elements in the that contains number of elements and ends at , if found; otherwise, –1. The object to locate in the . The value can be null for reference types. The zero-based starting index of the backward search. The number of elements in the section to search. is outside the range of valid indexes for the . -or- is less than 0. -or- and do not specify a valid section in the . Removes the all the elements that match the conditions defined by the specified predicate. The number of elements removed from the . The delegate that defines the conditions of the elements to remove. is null. Removes a range of elements from the . The zero-based starting index of the range of elements to remove. The number of elements to remove. is less than 0. -or- is less than 0. and do not denote a valid range of elements in the . Determines whether every element in the matches the conditions defined by the specified predicate. true if every element in the matches the conditions defined by the specified predicate; otherwise, false. If the list has no elements, the return value is true. The delegate that defines the conditions to check against the elements. is null. Copies the elements of the to a new array. An array containing copies of the elements of the . Sets the capacity to the actual number of elements in the , if that number is less than a threshold value. Reverses the order of the elements in the entire . Reverses the order of the elements in the specified range. The zero-based starting index of the range to reverse. The number of elements in the range to reverse. is less than 0. -or- is less than 0. and do not denote a valid range of elements in the . Sorts the elements in the entire using the default comparer. The default comparer cannot find an implementation of the generic interface or the interface for type T. Sorts the elements in the entire using the specified comparer. The implementation to use when comparing elements. is null. The implementation of caused an error during the sort. For example, might not return 0 when comparing an item with itself. Sorts the elements in the entire using the specified comparer. The implementation to use when comparing elements, or null to use the default comparer . is null, and the default comparer cannot find implementation of the generic interface or the interface for type T. The implementation of caused an error during the sort. For example, might not return 0 when comparing an item with itself. Sorts the elements in a range of elements in using the specified comparer. The zero-based starting index of the range to sort. The length of the range to sort. The implementation to use when comparing elements, or null to use the default comparer . is less than 0. -or- is less than 0. and do not specify a valid range in the . -or- The implementation of caused an error during the sort. For example, might not return 0 when comparing an item with itself. is null, and the default comparer cannot find implementation of the generic interface or the interface for type T. Sorts the elements in the entire using the specified . The to use when comparing elements. is null. The implementation of caused an error during the sort. For example, might not return 0 when comparing an item with itself. Raises the event with the provided arguments. The start index. The new items. Raises the event with the provided arguments. The start index. The old items. Raises the event with the provided arguments. The index. The old item. The new item. Raises the event for the Count property. Raises the event for the Item[] property. Raises the event with the provided arguments. Arguments of the event being raised. Gets a wrapper around the . A wrapper around the . Gets or sets the element at the specified index. The element at the specified index. The zero-based index of the element to get or set. is less than 0. -or- is equal to or greater than . Gets the number of elements actually contained in the . The number of elements actually contained in the . Gets a value indicating whether the is read-only. true if the is read-only; otherwise, false. Gets or sets the element at the specified index. The element at the specified index. is not a valid index in the . The property is set and the is read-only. Gets a value indicating whether the is read-only. true if the is read-only; otherwise, false. Gets a value indicating whether the has a fixed size. true if the has a fixed size; otherwise, false. Gets an object that can be used to synchronize access to the . An object that can be used to synchronize access to the . Gets a value indicating whether access to the is synchronized (thread safe). true if access to the is synchronized (thread safe); otherwise, false. Occurs when an item is added, removed, changed, moved, or the entire list is refreshed. Occurs when a property value changes. Gets the item with the specified index. The item with the specified index. How many items are in the collection. Determines whether an element is in the collection with the specified name. The name of the item to locate in the collection. true if item is found in the collection; otherwise, false. Determines the index of a specific item in the list. The name of the item to locate in the list. The index of item if found in the list; otherwise, -1. Gets the item with the specified name. The item with the specified name. Initializes a new instance of the class. Initializes a new instance of the class. The number of elements that the new list can initially store. Initializes a new instance of the class. The collection from which the elements are copied. Determines whether an element is in the collection with the specified name. The name of the item to locate in the collection. true if item is found in the collection; otherwise, false. Determines the index of a specific item in the list. The name of the item to locate in the list. The index of item if found in the list; otherwise, -1. Gets the item with the specified name. The item with the specified name. Represents an observable set of values. The type of elements in the hash set. Initializes a new instance of the class. Initializes a new instance of the class. The collection whose elements are copied to the new set. Initializes a new instance of the class. The IEqualityComparer<T> implementation to use when comparing values in the set, or null to use the default EqualityComparer<T> implementation for the set type. Initializes a new instance of the class. The collection whose elements are copied to the new set. The IEqualityComparer<T> implementation to use when comparing values in the set, or null to use the default EqualityComparer<T> implementation for the set type. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Adds the specified element to a set. The element to add to the set. true if the element is added to the object; false if the element is already present. Adds an item to the . The object to add to the . The is read-only. Removes all elements from a object. Determines whether a object contains the specified element. The element to locate in the object. true if the object contains the specified element; otherwise, false. Copies the elements of a collection to an array. The one-dimensional array that is the destination of the elements copied from the object. The array must have zero-based indexing. Copies the elements of a collection to an array. The one-dimensional array that is the destination of the elements copied from the object. The array must have zero-based indexing. The zero-based index in array at which copying begins. Copies the elements of a collection to an array. The one-dimensional array that is the destination of the elements copied from the object. The array must have zero-based indexing. The zero-based index in array at which copying begins. The number of elements to copy to array. Removes all elements in the specified collection from the current object. The collection of items to remove from the object. Returns an enumerator that iterates through a . A .Enumerator object for the object. Modifies the current object to contain only elements that are present in that object and in the specified collection. The collection to compare to the current object. Determines whether a object is a proper subset of the specified collection. The collection to compare to the current object. true if the object is a proper subset of other; otherwise, false. Determines whether a object is a proper subset of the specified collection. The collection to compare to the current object. true if the object is a proper superset of other; otherwise, false. Determines whether a object is a subset of the specified collection. The collection to compare to the current object. true if the object is a subset of other; otherwise, false. Determines whether a object is a superset of the specified collection. The collection to compare to the current object. true if the object is a superset of other; otherwise, false. Determines whether the current object and a specified collection share common elements. The collection to compare to the current object. true if the object and other share at least one common element; otherwise, false. Removes the specified element from a object. The element to remove. true if the element is successfully found and removed; otherwise, false. This method returns false if item is not found in the object. Determines whether a object and the specified collection contain the same elements. The collection to compare to the current object. true if the object is equal to other; otherwise, false. Modifies the current object to contain only elements that are present either in that object or in the specified collection, but not both. The collection to compare to the current object. Sets the capacity of a object to the actual number of elements it contains, rounded up to a nearby, implementation-specific value. Modifies the current object to contain all elements that are present in itself, the specified collection, or both. The collection to compare to the current object. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Gets the IEqualityComparer<T> object that is used to determine equality for the values in the set. Gets the number of elements contained in the . The number of elements contained in the . Gets a value indicating whether the is read-only. true if the is read-only; otherwise, false. Raised when the collection changes. Raised when a property value changes. The property names used with INotifyPropertyChanged. Initializes a new instance of the class. The items from which the elements are copied. Initializes a new instance of the class. The items from which the elements are copied. Determines whether an element is in the collection with the specified name. The name of the item to locate in the collection. true if item is found in the collection; otherwise, false. Determines the index of a specific item in the list. The name of the item to locate in the list. The index of item if found in the list; otherwise, -1. Gets the item with the specified name. The item with the specified name. Searches for the specified object and returns the zero-based index of the first occurrence within the entire . The zero-based index of the first occurrence of within the entire , if found; otherwise, –1. The object to locate in the . The value can be null for reference types. Inserts an element into the at the specified index. The zero-based index at which should be inserted. The object to insert. The value can be null for reference types. is less than 0. -or- is greater than . Removes the element at the specified index of the . The zero-based index of the element to remove. is less than 0. -or- is equal to or greater than . Adds an object to the end of the . The object to be added to the end of the . The value can be null for reference types. Removes all elements from the . Determines whether an element is in the . true if is found in the ; otherwise, false. The object to locate in the . The value can be null for reference types. Copies the entire to a compatible one-dimensional array, starting at the specified index of the target array. The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. The zero-based index in at which copying begins. is null. is less than 0. is equal to or greater than the length of . -or- The number of elements in the source is greater than the available space from to the end of the destination . Removes the first occurrence of a specific object from the . true if is successfully removed; otherwise, false. This method also returns false if was not found in the . The object to remove from the . The value can be null for reference types. Returns an enumerator that iterates through the . A for the . Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Adds an item to the . The object to add to the . The position into which the new element was inserted, or -1 to indicate that the item was not inserted into the collection, The is read-only.-or- The has a fixed size. Determines whether the contains a specific value. The object to locate in the . true if the is found in the ; otherwise, false. Determines the index of a specific item in the . The object to locate in the . The index of if found in the list; otherwise, -1. Inserts an item to the at the specified index. The zero-based index at which should be inserted. The object to insert into the . is not a valid index in the . The is read-only.-or- The has a fixed size. is null reference in the . Removes the first occurrence of a specific object from the . The object to remove from the . The is read-only.-or- The has a fixed size. Copies the elements of the to an , starting at a particular index. The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. The zero-based index in at which copying begins. is null. is less than zero. is multidimensional.-or- The number of elements in the source is greater than the available space from to the end of the destination . The type of the source cannot be cast automatically to the type of the destination . Adds the elements of the specified collection to the end of the . The collection whose elements should be added to the end of the . The collection itself cannot be null, but it can contain elements that are null, if type T is a reference type. is null. Returns a read-only wrapper for the current collection. A that acts as a read-only wrapper around the current . Searches a range of elements in the sorted for an element using the specified comparer and returns the zero-based index of the element. The zero-based index of in the sorted , if is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than or, if there is no larger element, the bitwise complement of . The zero-based starting index of the range to search. The length of the range to search. The object to locate. The value can be null for reference types. The implementation to use when comparing elements, or null to use the default comparer . is less than 0. -or- is less than 0. and do not denote a valid range in the . is null, and the default comparer cannot find an implementation of the generic interface or the interface for type T. Searches the entire sorted for an element using the default comparer and returns the zero-based index of the element. The zero-based index of in the sorted , if is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than or, if there is no larger element, the bitwise complement of . The object to locate. The value can be null for reference types. The default comparer cannot find an implementation of the generic interface or the interface for type T. Searches the entire sorted for an element using the specified comparer and returns the zero-based index of the element. The zero-based index of in the sorted , if is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than or, if there is no larger element, the bitwise complement of . The object to locate. The value can be null for reference types. The implementation to use when comparing elements. -or- null to use the default comparer . is null, and the default comparer cannot find an implementation of the generic interface or the interface for type T. Converts the elements in the current to another type, and returns a list containing the converted elements. A of the target type containing the converted elements from the current . A delegate that converts each element from one type to another type. The type of the elements of the target array. is null. Determines whether the contains elements that match the conditions defined by the specified predicate. true if the contains one or more elements that match the conditions defined by the specified predicate; otherwise, false. The delegate that defines the conditions of the elements to search for. is null. Searches for an element that matches the conditions defined by the specified predicate, and returns the first occurrence within the entire . The first element that matches the conditions defined by the specified predicate, if found; otherwise, the default value for type T. The delegate that defines the conditions of the element to search for. is null. Retrieves all the elements that match the conditions defined by the specified predicate. A containing all the elements that match the conditions defined by the specified predicate, if found; otherwise, an empty . The delegate that defines the conditions of the elements to search for. is null. Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the entire . The zero-based index of the first occurrence of an element that matches the conditions defined by , if found; otherwise, –1. The delegate that defines the conditions of the element to search for. is null. Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the that extends from the specified index to the last element. The zero-based index of the first occurrence of an element that matches the conditions defined by , if found; otherwise, –1. The zero-based starting index of the search. The delegate that defines the conditions of the element to search for. is null. is outside the range of valid indexes for the . Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the that starts at the specified index and contains the specified number of elements. The zero-based index of the first occurrence of an element that matches the conditions defined by , if found; otherwise, –1. The zero-based starting index of the search. The number of elements in the section to search. The delegate that defines the conditions of the element to search for. is null. is outside the range of valid indexes for the . -or- is less than 0. -or- and do not specify a valid section in the . Searches for an element that matches the conditions defined by the specified predicate, and returns the last occurrence within the entire . The last element that matches the conditions defined by the specified predicate, if found; otherwise, the default value for type T. The delegate that defines the conditions of the element to search for. is null. Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the entire . The zero-based index of the last occurrence of an element that matches the conditions defined by , if found; otherwise, –1. The delegate that defines the conditions of the element to search for. is null. Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the that extends from the first element to the specified index. The zero-based index of the last occurrence of an element that matches the conditions defined by , if found; otherwise, –1. The zero-based starting index of the backward search. The delegate that defines the conditions of the element to search for. is null. is outside the range of valid indexes for the . Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the that contains the specified number of elements and ends at the specified index. The zero-based index of the last occurrence of an element that matches the conditions defined by , if found; otherwise, –1. The zero-based starting index of the backward search. The number of elements in the section to search. The delegate that defines the conditions of the element to search for. is null. is outside the range of valid indexes for the . -or- is less than 0. -or- and do not specify a valid section in the . Performs the specified action on each element of the . The delegate to perform on each element of the . is null. Creates a shallow copy of a range of elements in the source . A shallow copy of a range of elements in the source . The zero-based index at which the range starts. The number of elements in the range. is less than 0. -or- is less than 0. and do not denote a valid range of elements in the . Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the that extends from the specified index to the last element. The zero-based index of the first occurrence of within the range of elements in the that extends from to the last element, if found; otherwise, –1. The object to locate in the . The value can be null for reference types. The zero-based starting index of the search. is outside the range of valid indexes for the . Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the that starts at the specified index and contains the specified number of elements. The zero-based index of the first occurrence of within the range of elements in the that starts at and contains number of elements, if found; otherwise, –1. The object to locate in the . The value can be null for reference types. The zero-based starting index of the search. The number of elements in the section to search. is outside the range of valid indexes for the . -or- is less than 0. -or- and do not specify a valid section in the . Inserts the elements of a collection into the at the specified index. The zero-based index at which the new elements should be inserted. The collection whose elements should be inserted into the . The collection itself cannot be null, but it can contain elements that are null, if type T is a reference type. is null. is less than 0. -or- is greater than . Searches for the specified object and returns the zero-based index of the last occurrence within the entire . The zero-based index of the last occurrence of within the entire the , if found; otherwise, –1. The object to locate in the . The value can be null for reference types. Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the that extends from the first element to the specified index. The zero-based index of the last occurrence of within the range of elements in the that extends from the first element to , if found; otherwise, –1. The object to locate in the . The value can be null for reference types. The zero-based starting index of the backward search. is outside the range of valid indexes for the . Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the that contains the specified number of elements and ends at the specified index. The zero-based index of the last occurrence of within the range of elements in the that contains number of elements and ends at , if found; otherwise, –1. The object to locate in the . The value can be null for reference types. The zero-based starting index of the backward search. The number of elements in the section to search. is outside the range of valid indexes for the . -or- is less than 0. -or- and do not specify a valid section in the . Removes the all the elements that match the conditions defined by the specified predicate. The number of elements removed from the . The delegate that defines the conditions of the elements to remove. is null. Removes a range of elements from the . The zero-based starting index of the range of elements to remove. The number of elements to remove. is less than 0. -or- is less than 0. and do not denote a valid range of elements in the . Determines whether every element in the matches the conditions defined by the specified predicate. true if every element in the matches the conditions defined by the specified predicate; otherwise, false. If the list has no elements, the return value is true. The delegate that defines the conditions to check against the elements. is null. Copies the elements of the to a new array. An array containing copies of the elements of the . Sets the capacity to the actual number of elements in the , if that number is less than a threshold value. Reverses the order of the elements in the entire . Reverses the order of the elements in the specified range. The zero-based starting index of the range to reverse. The number of elements in the range to reverse. is less than 0. -or- is less than 0. and do not denote a valid range of elements in the . Sorts the elements in the entire using the default comparer. The default comparer cannot find an implementation of the generic interface or the interface for type T. Sorts the elements in the entire using the specified comparer. The implementation to use when comparing elements. is null. The implementation of caused an error during the sort. For example, might not return 0 when comparing an item with itself. Sorts the elements in the entire using the specified comparer. The implementation to use when comparing elements, or null to use the default comparer . is null, and the default comparer cannot find implementation of the generic interface or the interface for type T. The implementation of caused an error during the sort. For example, might not return 0 when comparing an item with itself. Sorts the elements in a range of elements in using the specified comparer. The zero-based starting index of the range to sort. The length of the range to sort. The implementation to use when comparing elements, or null to use the default comparer . is less than 0. -or- is less than 0. and do not specify a valid range in the . -or- The implementation of caused an error during the sort. For example, might not return 0 when comparing an item with itself. is null, and the default comparer cannot find implementation of the generic interface or the interface for type T. Sorts the elements in the entire using the specified . The to use when comparing elements. is null. The implementation of caused an error during the sort. For example, might not return 0 when comparing an item with itself. Gets or sets the element at the specified index. The element at the specified index. The zero-based index of the element to get or set. is less than 0. -or- is equal to or greater than . Gets the number of elements actually contained in the . The number of elements actually contained in the . Gets a value indicating whether the is read-only. true if the is read-only; otherwise, false. Gets or sets the element at the specified index. The element at the specified index. is not a valid index in the . The property is set and the is read-only. Gets a value indicating whether the is read-only. true if the is read-only; otherwise, false. Gets a value indicating whether the has a fixed size. true if the has a fixed size; otherwise, false. Gets an object that can be used to synchronize access to the . An object that can be used to synchronize access to the . Gets a value indicating whether access to the is synchronized (thread safe). true if access to the is synchronized (thread safe); otherwise, false. Occurs when an item is added, removed, changed, moved, or the entire list is refreshed. Occurs when a property value changes. A collection that provides notifications when items get added, removed, or when the whole list is refreshed. Initializes a new instance of the class. Initializes a new instance of the class. The collection. Initializes a new instance of the class. The delimited values. Disallows reentrant attempts to change this collection. An IDisposable object that can be used to dispose of the object. Checks for reentrant attempts to change this collection. Removes all elements from the . Inserts an element into the at the specified index. The zero-based index at which should be inserted. The object to insert. The value can be null for reference types. is less than zero. -or- is greater than . Moves the item at the specified index to a new location in the collection. The zero-based index specifying the location of the item to be moved. The zero-based index specifying the new location of the item. Moves the item at the specified index to a new location in the collection. The zero-based index specifying the location of the item to be moved. The zero-based index specifying the new location of the item. Raises the CollectionChanged event with the provided arguments. Raises the PropertyChanged event with the provided arguments. The instance containing the event data. Raises the PropertyChanged event with the provided arguments. Name of the property. Removes the element at the specified index of the . The zero-based index of the element to remove. is less than zero. -or- is equal to or greater than . Replaces the element at the specified index. The zero-based index of the element to replace. The new value for the element at the specified index. The value can be null for reference types. is less than zero. -or- is greater than . Returns a that represents the current . A that represents the current . Returns a that represents the values. The values. The delimiter. A that represents the current . Returns a that represents the values. The values. A that represents the current . Returns an array of strings that represents the current collection. An array of strings that represents the current collection. Adds the split values from to the collection. The string is split using the property. The delimited values. The number of values added. Thrown when is null. Parses the specified delimited values. The delimited values. The list delimiters. Gets or sets the string delimiter. The string delimiter. Occurs when a property value changed. Occurs when the collection changed. A type converter for the . Returns whether this converter can convert an object of the given type to the type of this converter, using the specified context. An that provides a format context. A that represents the type you want to convert from. true if this converter can perform the conversion; otherwise, false. Returns whether this converter can convert the object to the specified type, using the specified context. An that provides a format context. A that represents the type you want to convert to. true if this converter can perform the conversion; otherwise, false. Converts the given object to the type of this converter, using the specified context and culture information. An that provides a format context. The to use as the current culture. The to convert. An that represents the converted value. The conversion cannot be performed. Converts the given value object to the specified type, using the specified context and culture information. An that provides a format context. A . If null is passed, the current culture is assumed. The to convert. The to convert the parameter to. An that represents the converted value. The parameter is null. The conversion cannot be performed. A collection that provides notifications when items get added, removed, or when the whole list is refreshed. Initializes a new instance of the class. Initializes a new instance of the class. The collection. Disallows reentrant attempts to change this collection. An IDisposable object that can be used to dispose of the object. Checks for reentrant attempts to change this collection. Removes all elements from the . Inserts an element into the at the specified index. The zero-based index at which should be inserted. The object to insert. The value can be null for reference types. is less than zero. -or- is greater than . Moves the item at the specified index to a new location in the collection. The zero-based index specifying the location of the item to be moved. The zero-based index specifying the new location of the item. Moves the item at the specified index to a new location in the collection. The zero-based index specifying the location of the item to be moved. The zero-based index specifying the new location of the item. Raises the CollectionChanged event with the provided arguments. Raises the PropertyChanged event with the provided arguments. The instance containing the event data. Raises the PropertyChanged event with the provided arguments. Name of the property. Removes the element at the specified index of the . The zero-based index of the element to remove. is less than zero. -or- is equal to or greater than . Replaces the element at the specified index. The zero-based index of the element to replace. The new value for the element at the specified index. The value can be null for reference types. is less than zero. -or- is greater than . Occurs when a property value changed. Occurs when the collection changed. Raises the PropertyChanged event with the provided arguments. The instance containing the event data. Raises the PropertyChanged event with the provided arguments. Name of the property. Raises the CollectionChanged event with the provided arguments. Initializes a new instance of the class. Initializes a new instance of the class that contains elements copied from the specified and uses the default equality comparer for the key type. The whose elements are copied to the new . dictionary contains one or more duplicate keys. dictionary is null. Initializes a new instance of the class that is empty, has the default initial capacity, and uses the specified . The implementation to use when comparing keys, or null to use the default for the type of the key. Initializes a new instance of the class that is empty, has the specified initial capacity, and uses the default equality comparer for the key type. The initial number of elements that the can contain. capacity is less than 0. Initializes a new instance of the class that contains elements copied from the specified and uses the specified . The whose elements are copied to the new . The implementation to use when comparing keys, or null to use the default for the type of the key. dictionary contains one or more duplicate keys. dictionary is null. Initializes a new instance of the class that is empty, has the specified initial capacity, and uses the specified . The initial number of elements that the can contain. The implementation to use when comparing keys, or null to use the default for the type of the key. capacity is less than 0. Implements the interface and raises the deserialization event when the deserialization is complete. The source of the deserialization event. The object associated with the current instance is invalid. Adds the specified key and value to the dictionary. The value of the element to add. The value can be null for reference types. The key of the element to add. An element with the same key already exists in the . key is null. Removes all keys and values from the . Determines whether the contains the specified key. true if the contains an element with the specified key; otherwise, false. The key to locate in the . key is null. Removes the value with the specified key from the . true if the element is successfully found and removed; otherwise, false. This method returns false if key is not found in the . The key of the element to remove. key is null. Gets the value associated with the specified key. The key whose value to get. When this method returns, the value associated with the specified key, if the key is found; otherwise, the default value for the type of the parameter. This parameter is passed uninitialized. true if the object that implements contains an element with the specified key; otherwise, false. is null. Implements the interface and returns the data needed to serialize the instance. A structure that contains the source and destination of the serialized stream associated with the instance. A object that contains the information required to serialize the instance. info is null. Determines whether the contains a specific value. true if the contains an element with the specified value; otherwise, false. The value to locate in the . The value can be null for reference types. Returns an enumerator that iterates through the . A structure for the . Enters the read lock. Enters the upgradeable read lock. Enters the write lock. Occurs when a property value changed. Occurs when the collection changed. Gets the that is used to determine equality of keys for the dictionary. The generic interface implementation that is used to determine equality of keys for the current and to provide hash values for the keys. Gets a collection containing the keys in the . A containing the keys in the . Gets a collection containing the values in the . A containing the values in the . Gets the number of key/value pairs contained in the . The number of key/value pairs contained in the . Gets or sets the value associated with the specified key. The value associated with the specified key. If the specified key is not found, a get operation throws a , and a set operation creates a new element with the specified key. The key of the value to get or set. key is null. The property is retrieved and key does not exist in the collection. Adds an object to the end of the . The object to be added to the end of the . The value can be null for reference types. Removes all elements from the . Determines whether an element is in the . true if is found in the ; otherwise, false. The object to locate in the . The value can be null for reference types. Copies the entire to a compatible one-dimensional array, starting at the specified index of the target array. The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. The zero-based index in at which copying begins. is null. is less than 0. is equal to or greater than the length of . -or- The number of elements in the source is greater than the available space from to the end of the destination . Removes the first occurrence of a specific object from the . true if is successfully removed; otherwise, false. This method also returns false if was not found in the . The object to remove from the . The value can be null for reference types. Returns an enumerator that iterates through the . A for the . Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Gets the number of elements actually contained in the . The number of elements actually contained in the . Gets a value indicating whether the is read-only. true if the is read-only; otherwise, false. Occurs when an item is added, removed, changed, moved, or the entire list is refreshed. Occurs when a property value changes. Allows control of command line parsing. Attach this attribute to instance fields of types used as the destination of command line argument parsing. Allows control of command line parsing. Specifies the error checking to be done on the argument. The error checking to be done on the argument. Returns true if the argument did not have an explicit short name specified. The short name of the argument. Set to null means use the default short name if it does not conflict with any other parameter name. Set to String.Empty for no short name. This property should not be set for DefaultArgumentAttributes. Returns true if the argument did not have an explicit long name specified. The long name of the argument. Set to null means use the default long name. The long name for every argument must be unique. It is an error to specify a long name of String.Empty. The default value of the argument. Returns true if the argument has a default value. Returns true if the argument has help text specified. The help text for the argument. Show optional boolean toggle syntax options for the arguments. Used to control parsing of command line arguments. Indicates that this field is required. An error will be displayed if it is not present when parsing arguments. Only valid in conjunction with Multiple. Duplicate values will result in an error. Indicates that the argument may be specified more than once. Only valid if the argument is a collection The default type for non-collection arguments. The argument is not required, but an error will be reported if it is specified more than once. For non-collection arguments, when the argument is specified more than once no error is reported and the value of the argument is the last value which occurs in the argument list. The default type for collection arguments. The argument is permitted to occur multiple times, but duplicate values will cause an error to be reported. Indicates that this argument is the default argument. '/' or '-' prefix only the argument value is specified. The ShortName property should not be set for DefaultArgumentAttribute instances. The LongName property is used for usage text only and does not affect the usage of the argument. Indicates that this argument is the default argument. Specifies the error checking to be done on the argument. A delegate used in error reporting. Parser for command line arguments. The parser specification is inferred from the instance fields of the object specified as the destination of the parse. Valid argument types are: int, uint, string, bool, enums Also argument types of Array of the above types are also valid. Error checking options can be controlled by adding a ArgumentAttribute to the instance fields of the destination object. At most one field may be marked with the DefaultArgumentAttribute indicating that arguments without a '-' or '/' prefix will be parsed as that argument. If not specified then the parser will infer default options for parsing each instance field. The default long name of the argument is the field name. The default short name is the first character of the long name. Long names and explicitly specified short names must be unique. Default short names will be used provided that the default short name does not conflict with a long name or an explicitly specified short name. Arguments which are array types are collection arguments. Collection arguments can be specified multiple times. The System Defined new line string. Don't ever call this. Parses Command Line Arguments. Displays usage message to Console.Out if /?, /help or invalid arguments are encountered. Errors are output on Console.Error. Use ArgumentAttributes to control parsing behavior. The actual arguments. The resulting parsed arguments. true if no errors were detected. Parses Command Line Arguments. Errors are output on Console.Error. Use ArgumentAttributes to control parsing behavior. The actual arguments. The resulting parsed arguments. true if no errors were detected. Parses Command Line Arguments. Use ArgumentAttributes to control parsing behavior. The actual arguments. The resulting parsed arguments. The destination for parse errors. true if no errors were detected. Checks if a set of arguments asks for help. Args to check for help. Returns true if args contains /? or /help. Returns a Usage string for command line argument parsing. Use ArgumentAttributes to control parsing behavior. Formats the output to the width of the current console window. The type of the arguments to display usage for. Printable string containing a user friendly description of command line arguments. Returns a Usage string for command line argument parsing. Use ArgumentAttributes to control parsing behavior. The type of the arguments to display usage for. The number of columns to format the output to. Printable string containing a user friendly description of command line arguments. Searches a StringBuilder for a character The text to search. The character value to search for. The index to stat searching at. The index of the first occurrence of value or -1 if it is not found. Searches a StringBuilder for a character in reverse The text to search. The character to search for. The index to start the search at. The index of the last occurrence of value in text or -1 if it is not found. Creates a new command line argument parser. The type of object to parse. The destination for parse errors. Parses an argument list into an object true if an error occurred Parses an argument list. The arguments to parse. The destination of the parsed arguments. true if no parse errors were encountered. A user firendly usage string describing the command line argument syntax. Does this parser have a default argument. Does this parser have a default argument. The interface for pipeline context data Gets or sets a value indicating whether this pipeline is cancelled. true if this pipeline is cancelled; otherwise, false. Gets or sets a value indicating whether this pipeline context is processed. true if this pipeline context is processed; otherwise, false. The base class for pipeline context data Gets or sets a value indicating whether this pipeline is cancelled. true if this pipeline is cancelled; otherwise, false. Gets or sets a value indicating whether this pipeline context is processed. true if this pipeline context is processed; otherwise, false. Processes this module using the specified pipeline context. The pipeline context. Gets the priority of this pipeline module. The pipeline module priority. The base class for pipeline modules The type of the pipeline context. Processes this module using the specified pipeline context. The pipeline context. Gets the priority of this pipeline module. The pipeline module priority. The base class for a pipeline service. The type used as the context for the pipeline. The base type of the pipeline module to run in this pipeline. The pipeline works by collection modules (classes) that have a common base class to run in a series. To setup a pipeline, you have to have a context class that will hold all the common data for the pipeline. You also have to have a common base class that inherits for all your modules. The pipeline looks for all types that inherit that common base class to run. Runs all the modules of pipeline with the specified context list. The context list to run the modules with. Runs all the modules of pipeline with the specified context. The context to run the modules with. Runs all the specified modules of pipeline with the specified context. The context to run the modules with. The list modules to run. Called before any pipeline modules are run. The context the modules will run with. Called after all pipeline modules have run. The context the modules ran with. Gets the modules that are subclasses of . An enumerable list of modules to run for the pipeline. Provides a global point of access to a single instance of a given class. The type to provide a singleton instance for. The singleton instance can be accessed through a static property, where the type of the singleton is passed as a generic type parameter. Subsequent requests for the instance will yield the same class instance. The singleton is thread-safe and lazy (i.e. it is created when the instance is first requested). The following example gets a singleton instance of a Foo class: Foo singleInstance = Singleton.Current; Gets the singleton instance. A class representing a singleton pattern. The type of the singleton Initializes a new instance of the class. Gets the current instance of the singleton. Represents a weak reference, which references an object while still allowing that object to be reclaimed by garbage collection. The type of the object that is referenced. Initializes a new instance of the Minimal.WeakReference{T} class, referencing the specified object. The object to reference. Initializes a new instance of the WeakReference{T} class, referencing the specified object and using the specified resurrection tracking. An object to track. Indicates when to stop tracking the object. If true, the object is tracked after finalization; if false, the object is only tracked until finalization. Casts an object of the type T to a weak reference of T. Casts a weak reference to an object of the type the reference represents. Gets or sets the object (the target) referenced by the current WeakReference{T} object. Gets the content type based on file extension . The file extension. The content type. Human-readable text and source code content types RichText; text/enriched Html; text/html Plain Text; text/plain RichText; text/richtext Sgml; text/sgml JavaScript; text/javascript Cascading Style Sheets; text/css Xml; text/xml A base class that implements Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Releases unmanaged and - optionally - managed resources true to release both managed and unmanaged resources; false to release only unmanaged resources. Disposes the managed resources. Disposes the unmanaged resources. Releases unmanaged resources and performs other cleanup operations before the is reclaimed by garbage collection. Validates a credit card number using the standard Luhn/mod10 validation algorithm. Card number, with or without punctuation true if card number appears valid; otherwise, false. Cleans the credit card number. The card number. The card number with only the valid digits. Determines whether the credit card is exired. The year. The month. true if credit card is exired; otherwise, false. The AdoHelper class is intended to encapsulate high performance, scalable best practices for common data access uses. The type of the factory. Get an IDataParameter for use in a SQL command The name of the parameter to create The value of the specified parameter An IDataParameter object Get an IDataParameter for use in a SQL command The name of the parameter to create The System.Data.DbType of the parameter The size of the parameter The System.Data.ParameterDirection of the parameter An IDataParameter object Get an IDataParameter for use in a SQL command The name of the parameter to create The System.Data.DbType of the parameter The size of the parameter The source column of the parameter The System.Data.DataRowVersion of the parameter An IDataParameter object This method is used to attach array of IDataParameters to an IDbCommand. This method will assign a value of DbNull to any parameter with a direction of InputOutput and a value of null. This behavior will prevent default values from being used, but this will be the less common case than an intended pure output parameter (derived as InputOutput) where the user provided no input value. The command to which the parameters will be added An array of IDataParameterParameters to be added to command Thrown if command is null. This method assigns dataRow column values to an IDataParameterCollection The IDataParameterCollection to be assigned values The dataRow used to hold the stored procedure's parameter values Thrown if any of the parameter names are invalid. This method assigns dataRow column values to an array of IDataParameters Array of IDataParameters to be assigned values The dataRow used to hold the stored procedure's parameter values Thrown if any of the parameter names are invalid. This method assigns an array of values to an array of IDataParameters Array of IDataParameters to be assigned values Array of objects holding the values to be assigned Thrown if an incorrect number of parameters are passed. This method cleans up the parameter syntax for the provider The IDbCommand containing the parameters to clean up. This method opens (if necessary) and assigns a connection, transaction, command type and parameters to the provided command The IDbCommand to be prepared A valid IDbConnection, on which to execute this command A valid IDbTransaction, or 'null' The CommandType (stored procedure, text, etc.) The stored procedure name or SQL command An array of IDataParameters to be associated with the command or 'null' if no parameters are required true if the connection was opened by the method, otherwose is false. Thrown if command is null. Thrown if commandText is null. This method clears (if necessary) the connection, transaction, command type and parameters from the provided command Not implemented here because the behavior of this method differs on each data provider. The IDbCommand to be cleared Execute an IDbCommand (that returns a resultset) against the database specified in the connection string. The IDbCommand object to use A DataSet containing the resultset generated by the command Thrown if command is null. Execute an IDbCommand (that returns a resultset and takes no parameters) against the database specified in the connection string. DataSet ds = helper.ExecuteDataset(connString, CommandType.StoredProcedure, "GetOrders"); A valid connection string for an IDbConnection The CommandType (stored procedure, text, etc.) The stored procedure name or SQL command A DataSet containing the resultset generated by the command Thrown if connectionString is null Thrown if commandText is null A DataSet containing the resultset generated by the command Execute an IDbCommand (that returns a resultset) against the database specified in the connection string using the provided parameters. DataSet ds = helper.ExecuteDataset(connString, CommandType.StoredProcedure, "GetOrders", new IDbParameter("@prodid", 24)); A valid connection string for an IDbConnection The CommandType (stored procedure, text, etc.) The stored procedure name or SQL command An array of IDbParamters used to execute the command A DataSet containing the resultset generated by the command Thrown if connectionString is null Thrown if any of the IDataParameters.ParameterNames are null, or if the parameter count does not match the number of values supplied Thrown if commandText is null Thrown if the parameter count does not match the number of values supplied Execute a stored procedure via an IDbCommand (that returns a resultset) against the database specified in the connection string using the provided parameter values. This method will query the database to discover the parameters for the stored procedure (the first time each stored procedure is called), and assign the values based on parameter order. This method provides no access to output parameters or the stored procedure's return value parameter. DataSet ds = helper.ExecuteDataset(connString, "GetOrders", 24, 36); A valid connection string for an IDbConnection The name of the stored procedure An array of objects to be assigned as the input values of the stored procedure A DataSet containing the resultset generated by the command Thrown if connectionString is null Thrown if spName is null Execute an IDbCommand (that returns a resultset and takes no parameters) against the provided IDbConnection. DataSet ds = helper.ExecuteDataset(conn, CommandType.StoredProcedure, "GetOrders"); A valid IDbConnection The CommandType (stored procedure, text, etc.) The stored procedure name or SQL command A DataSet containing the resultset generated by the command Thrown if commandText is null Thrown if connection is null Execute an IDbCommand (that returns a resultset) against the specified IDbConnection using the provided parameters. DataSet ds = helper.ExecuteDataset(conn, CommandType.StoredProcedure, "GetOrders", new IDataParameter("@prodid", 24)); A valid IDbConnection The CommandType (stored procedure, text, etc.) The stored procedure name or SQL command An array of IDataParameters used to execute the command A DataSet containing the resultset generated by the command Thrown if any of the IDataParameters.ParameterNames are null, or if the parameter count does not match the number of values supplied Thrown if commandText is null Thrown if the parameter count does not match the number of values supplied Thrown if connection is null Execute a stored procedure via an IDbCommand (that returns a resultset) against the specified IDbConnection using the provided parameter values. This method will query the database to discover the parameters for the stored procedure (the first time each stored procedure is called), and assign the values based on parameter order. This method provides no access to output parameters or the stored procedure's return value parameter. DataSet ds = helper.ExecuteDataset(conn, "GetOrders", 24, 36); A valid IDbConnection The name of the stored procedure An array of objects to be assigned as the input values of the stored procedure A DataSet containing the resultset generated by the command Thrown if spName is null Thrown if the parameter count does not match the number of values supplied Thrown if connection is null Execute an IDbCommand (that returns a resultset and takes no parameters) against the provided IDbTransaction. DataSet ds = helper.ExecuteDataset(trans, CommandType.StoredProcedure, "GetOrders"); A valid IDbTransaction The CommandType (stored procedure, text, etc.) The stored procedure name or SQL command A DataSet containing the resultset generated by the command Thrown if commandText is null Thrown if transaction is null Thrown if transaction.Connection is null Execute an IDbCommand (that returns a resultset) against the specified IDbTransaction using the provided parameters. DataSet ds = helper.ExecuteDataset(trans, CommandType.StoredProcedure, "GetOrders", new IDataParameter("@prodid", 24)); A valid IDbTransaction The CommandType (stored procedure, text, etc.) The stored procedure name or SQL command An array of IDataParameters used to execute the command A DataSet containing the resultset generated by the command Thrown if any of the IDataParameters.ParameterNames are null, or if the parameter count does not match the number of values supplied Thrown if commandText is null Thrown if the parameter count does not match the number of values supplied Thrown if transaction is null Thrown if transaction.Connection is null Execute a stored procedure via an IDbCommand (that returns a resultset) against the specified IDbTransaction using the provided parameter values. This method will query the database to discover the parameters for the stored procedure (the first time each stored procedure is called), and assign the values based on parameter order. This method provides no access to output parameters or the stored procedure's return value parameter. DataSet ds = helper.ExecuteDataset(tran, "GetOrders", 24, 36); A valid IDbTransaction The name of the stored procedure An array of objects to be assigned as the input values of the stored procedure A DataSet containing the resultset generated by the command Thrown if spName is null Thrown if the parameter count does not match the number of values supplied Thrown if transaction is null Thrown if transaction.Connection is null Execute an IDbCommand (that returns no resultset) against the database The IDbCommand to execute An int representing the number of rows affected by the command Thrown if command is null. Execute an IDbCommand (that returns no resultset and takes no parameters) against the database specified in the connection string A valid connection string for an IDbConnection The CommandType (stored procedure, text, etc.) The stored procedure name or SQL command An int representing the number of rows affected by the command Thrown if connectionString is null Thrown if commandText is null Execute an IDbCommand (that returns no resultset) against the database specified in the connection string using the provided parameters A valid connection string for an IDbConnection The CommandType (stored procedure, text, etc.) The stored procedure name or SQL command An array of IDataParameters used to execute the command An int representing the number of rows affected by the command Thrown if connectionString is null Thrown if any of the IDataParameters.ParameterNames are null, or if the parameter count does not match the number of values supplied Thrown if commandText is null Thrown if the parameter count does not match the number of values supplied Execute a stored procedure via an IDbCommand (that returns no resultset) against the database specified in the connection string using the provided parameter values. This method will query the database to discover the parameters for the stored procedure (the first time each stored procedure is called), and assign the values based on parameter order. This method provides no access to output parameters or the stored procedure's return value parameter. A valid connection string for an IDbConnection The name of the stored prcedure An array of objects to be assigned as the input values of the stored procedure An int representing the number of rows affected by the command Thrown if connectionString is null Thrown if spName is null Thrown if the parameter count does not match the number of values supplied Execute an IDbCommand (that returns no resultset and takes no parameters) against the provided IDbConnection. A valid IDbConnection The CommandType (stored procedure, text, etc.) The stored procedure name or SQL command An int representing the number of rows affected by the command Thrown if commandText is null Thrown if connection is null Execute an IDbCommand (that returns no resultset) against the specified IDbConnection using the provided parameters. A valid IDbConnection The CommandType (stored procedure, text, etc.) The stored procedure name or SQL command An array of IDbParamters used to execute the command An int representing the number of rows affected by the command Thrown if any of the IDataParameters.ParameterNames are null, or if the parameter count does not match the number of values supplied Thrown if commandText is null Thrown if the parameter count does not match the number of values supplied Thrown if connection is null Execute a stored procedure via an IDbCommand (that returns no resultset) against the specified IDbConnection using the provided parameter values. This method will query the database to discover the parameters for the stored procedure (the first time each stored procedure is called), and assign the values based on parameter order. This method provides no access to output parameters or the stored procedure's return value parameter. A valid IDbConnection The name of the stored procedure An array of objects to be assigned as the input values of the stored procedure An int representing the number of rows affected by the command Thrown if spName is null Thrown if the parameter count does not match the number of values supplied Thrown if connection is null Execute an IDbCommand (that returns no resultset and takes no parameters) against the provided IDbTransaction. A valid IDbTransaction The CommandType (stored procedure, text, etc.) The stored procedure name or SQL command An int representing the number of rows affected by the command Thrown if commandText is null Thrown if transaction is null Thrown if transaction.Connection is null Execute an IDbCommand (that returns no resultset) against the specified IDbTransaction using the provided parameters. A valid IDbTransaction The CommandType (stored procedure, text, etc.) The stored procedure name or SQL command An array of IDataParameters used to execute the command An int representing the number of rows affected by the command Thrown if any of the IDataParameters.ParameterNames are null, or if the parameter count does not match the number of values supplied Thrown if commandText is null Thrown if the parameter count does not match the number of values supplied Thrown if transaction is null Thrown if transaction.Connection is null Execute a stored procedure via an IDbCommand (that returns no resultset) against the specified IDbTransaction using the provided parameter values. This method will query the database to discover the parameters for the stored procedure (the first time each stored procedure is called), and assign the values based on parameter order. This method provides no access to output parameters or the stored procedure's return value parameter. A valid IDbTransaction The name of the stored procedure An array of objects to be assigned as the input values of the stored procedure An int representing the number of rows affected by the command Thrown if spName is null Thrown if the parameter count does not match the number of values supplied Thrown if transaction is null Thrown if transaction.Connection is null Execute an IDbCommand (that returns a resultset) against the database specified in the connection string. The IDbCommand object to use A IDataReader containing the resultset generated by the command Thrown if command is null. Execute an IDbCommand (that returns a resultset) against the database specified in the connection string. The IDbCommand object to use Enum indicating whether the connection was created internally or externally. A IDataReader containing the resultset generated by the command Thrown if command is null. Create and prepare an IDbCommand, and call ExecuteReader with the appropriate CommandBehavior. If we created and opened the connection, we want the connection to be closed when the DataReader is closed. If the caller provided the connection, we want to leave it to them to manage. A valid IDbConnection, on which to execute this command A valid IDbTransaction, or 'null' The CommandType (stored procedure, text, etc.) The stored procedure name or SQL command An array of IDataParameters to be associated with the command or 'null' if no parameters are required Indicates whether the connection parameter was provided by the caller, or created by AdoHelper IDataReader containing the results of the command Thrown if any of the IDataParameters.ParameterNames are null, or if the parameter count does not match the number of values supplied Thrown if commandText is null Thrown if the parameter count does not match the number of values supplied Thrown if connection is null Execute an IDbCommand (that returns a resultset and takes no parameters) against the database specified in the connection string. A valid connection string for an IDbConnection The CommandType (stored procedure, text, etc.) The stored procedure name or SQL command A IDataReader containing the resultset generated by the command Thrown if connectionString is null Thrown if commandText is null Execute an IDbCommand (that returns a resultset) against the database specified in the connection string using the provided parameters. A valid connection string for an IDbConnection The CommandType (stored procedure, text, etc.) The stored procedure name or SQL command An array of IDataParameters used to execute the command A IDataReader containing the resultset generated by the command Thrown if connectionString is null Thrown if any of the IDataParameters.ParameterNames are null, or if the parameter count does not match the number of values supplied Thrown if commandText is null Thrown if the parameter count does not match the number of values supplied Execute a stored procedure via an IDbCommand (that returns a resultset) against the database specified in the connection string using the provided parameter values. This method will query the database to discover the parameters for the stored procedure (the first time each stored procedure is called), and assign the values based on parameter order. This method provides no access to output parameters or the stored procedure's return value parameter. IDataReader dr = helper.ExecuteReader(connString, "GetOrders", 24, 36); A valid connection string for an IDbConnection The name of the stored procedure An array of objects to be assigned as the input values of the stored procedure an IDataReader containing the resultset generated by the command Thrown if connectionString is null Thrown if spName is null Thrown if the parameter count does not match the number of values supplied Execute an IDbCommand (that returns a resultset and takes no parameters) against the provided IDbConnection. IDataReader dr = helper.ExecuteReader(conn, CommandType.StoredProcedure, "GetOrders"); A valid IDbConnection The CommandType (stored procedure, text, etc.) The stored procedure name or SQL command an IDataReader containing the resultset generated by the command Thrown if commandText is null Execute an IDbCommand (that returns a resultset) against the specified IDbConnection using the provided parameters. IDataReader dr = helper.ExecuteReader(conn, CommandType.StoredProcedure, "GetOrders", new IDataParameter("@prodid", 24)); A valid IDbConnection The CommandType (stored procedure, text, etc.) The stored procedure name or SQL command An array of IDataParameters used to execute the command an IDataReader containing the resultset generated by the command Thrown if any of the IDataParameters.ParameterNames are null, or if the parameter count does not match the number of values supplied Thrown if commandText is null Thrown if the parameter count does not match the number of values supplied Thrown if connection is null Execute a stored procedure via an IDbCommand (that returns a resultset) against the specified IDbConnection using the provided parameter values. This method will query the database to discover the parameters for the stored procedure (the first time each stored procedure is called), and assign the values based on parameter order. This method provides no access to output parameters or the stored procedure's return value parameter. IDataReader dr = helper.ExecuteReader(conn, "GetOrders", 24, 36); A valid IDbConnection The name of the stored procedure An array of objects to be assigned as the input values of the stored procedure an IDataReader containing the resultset generated by the command Thrown if spName is null Thrown if the parameter count does not match the number of values supplied Thrown if connection is null Execute an IDbCommand (that returns a resultset and takes no parameters) against the provided IDbTransaction. IDataReader dr = helper.ExecuteReader(trans, CommandType.StoredProcedure, "GetOrders"); A valid IDbTransaction The CommandType (stored procedure, text, etc.) The stored procedure name or SQL command A IDataReader containing the resultset generated by the command Thrown if commandText is null Execute an IDbCommand (that returns a resultset) against the specified IDbTransaction using the provided parameters. IDataReader dr = helper.ExecuteReader(trans, CommandType.StoredProcedure, "GetOrders", new IDataParameter("@prodid", 24)); A valid IDbTransaction The CommandType (stored procedure, text, etc.) The stored procedure name or SQL command An array of IDataParameters used to execute the command A IDataReader containing the resultset generated by the command Execute a stored procedure via an IDbCommand (that returns a resultset) against the specified IDbTransaction using the provided parameter values. This method will query the database to discover the parameters for the stored procedure (the first time each stored procedure is called), and assign the values based on parameter order. This method provides no access to output parameters or the stored procedure's return value parameter. IDataReader dr = helper.ExecuteReader(tran, "GetOrders", 24, 36); A valid IDbTransaction The name of the stored procedure An array of objects to be assigned as the input values of the stored procedure an IDataReader containing the resultset generated by the command Thrown if spName is null Thrown if the parameter count does not match the number of values supplied Thrown if transaction is null Thrown if transaction.Connection is null Execute an IDbCommand (that returns a 1x1 resultset) against the database specified in the connection string. The IDbCommand to execute An object containing the value in the 1x1 resultset generated by the command Thrown if command is null. Execute an IDbCommand (that returns a 1x1 resultset and takes no parameters) against the database specified in the connection string. int orderCount = (int)helper.ExecuteScalar(connString, CommandType.StoredProcedure, "GetOrderCount"); A valid connection string for an IDbConnection The CommandType (stored procedure, text, etc.) The stored procedure name or SQL command An object containing the value in the 1x1 resultset generated by the command Thrown if connectionString is null Thrown if commandText is null Execute an IDbCommand (that returns a 1x1 resultset) against the database specified in the connection string using the provided parameters. A valid connection string for an IDbConnection The CommandType (stored procedure, text, etc.) The stored procedure name or SQL command An array of IDataParameters used to execute the command An object containing the value in the 1x1 resultset generated by the command Thrown if connectionString is null Thrown if any of the IDataParameters.ParameterNames are null, or if the parameter count does not match the number of values supplied Thrown if commandText is null Thrown if the parameter count does not match the number of values supplied Execute a stored procedure via an IDbCommand (that returns a 1x1 resultset) against the database specified in the connection string using the provided parameter values. This method will query the database to discover the parameters for the stored procedure (the first time each stored procedure is called), and assign the values based on parameter order. This method provides no access to output parameters or the stored procedure's return value parameter. int orderCount = (int)helper.ExecuteScalar(connString, "GetOrderCount", 24, 36); A valid connection string for an IDbConnection The name of the stored procedure An array of objects to be assigned as the input values of the stored procedure An object containing the value in the 1x1 resultset generated by the command Thrown if connectionString is null Thrown if spName is null Thrown if the parameter count does not match the number of values supplied Execute an IDbCommand (that returns a 1x1 resultset and takes no parameters) against the provided IDbConnection. int orderCount = (int)helper.ExecuteScalar(conn, CommandType.StoredProcedure, "GetOrderCount"); A valid IDbConnection The CommandType (stored procedure, text, etc.) The stored procedure name or SQL command An object containing the value in the 1x1 resultset generated by the command Thrown if commandText is null Execute an IDbCommand (that returns a 1x1 resultset) against the specified IDbConnection using the provided parameters. A valid IDbConnection The CommandType (stored procedure, text, etc.) The stored procedure name or SQL command An array of IDataParameters used to execute the command An object containing the value in the 1x1 resultset generated by the command Thrown if any of the IDataParameters.ParameterNames are null, or if the parameter count does not match the number of values supplied Thrown if commandText is null Thrown if the parameter count does not match the number of values supplied Thrown if connection is null Execute a stored procedure via an IDbCommand (that returns a 1x1 resultset) against the specified IDbConnection using the provided parameter values. This method will query the database to discover the parameters for the stored procedure (the first time each stored procedure is called), and assign the values based on parameter order. This method provides no access to output parameters or the stored procedure's return value parameter. int orderCount = (int)helper.ExecuteScalar(conn, "GetOrderCount", 24, 36); A valid IDbConnection The name of the stored procedure An array of objects to be assigned as the input values of the stored procedure An object containing the value in the 1x1 resultset generated by the command Thrown if spName is null Thrown if the parameter count does not match the number of values supplied Thrown if connection is null Execute an IDbCommand (that returns a 1x1 resultset and takes no parameters) against the provided IDbTransaction. int orderCount = (int)helper.ExecuteScalar(tran, CommandType.StoredProcedure, "GetOrderCount"); A valid IDbTransaction The CommandType (stored procedure, text, etc.) The stored procedure name or SQL command An object containing the value in the 1x1 resultset generated by the command Thrown if commandText is null Execute an IDbCommand (that returns a 1x1 resultset) against the specified IDbTransaction using the provided parameters. A valid IDbTransaction The CommandType (stored procedure, text, etc.) The stored procedure name or SQL command An array of IDbParamters used to execute the command An object containing the value in the 1x1 resultset generated by the command Thrown if any of the IDataParameters.ParameterNames are null, or if the parameter count does not match the number of values supplied Thrown if commandText is null Thrown if the parameter count does not match the number of values supplied Thrown if transaction is null Thrown if transaction.Connection is null Execute a stored procedure via an IDbCommand (that returns a 1x1 resultset) against the specified IDbTransaction using the provided parameter values. This method will query the database to discover the parameters for the stored procedure (the first time each stored procedure is called), and assign the values based on parameter order. This method provides no access to output parameters or the stored procedure's return value parameter. int orderCount = (int)helper.ExecuteScalar(tran, "GetOrderCount", 24, 36); A valid IDbTransaction The name of the stored procedure An array of objects to be assigned as the input values of the stored procedure An object containing the value in the 1x1 resultset generated by the command Thrown if any of the IDataParameters.ParameterNames are null, or if the parameter count does not match the number of values supplied Thrown if commandText is null Thrown if spName is null Thrown if the parameter count does not match the number of values supplied Thrown if transaction is null Thrown if transaction.Connection is null Thrown if the transaction is rolled back or commmitted Execute an IDbCommand (that returns a resultset) against the database specified in the connection string. The IDbCommand to execute A DataSet wich will contain the resultset generated by the command This array will be used to create table mappings allowing the DataTables to be referenced by a user defined name (probably the actual table name) Thrown if command is null. Execute an IDbCommand (that returns a resultset and takes no parameters) against the database specified in the connection string. helper.FillDataset(connString, CommandType.StoredProcedure, "GetOrders", ds, new string[] {"orders"}); A valid connection string for an IDbConnection The CommandType (stored procedure, text, etc.) The stored procedure name or SQL command A DataSet wich will contain the resultset generated by the command This array will be used to create table mappings allowing the DataTables to be referenced by a user defined name (probably the actual table name) Thrown if connectionString is null Thrown if commandText is null Execute an IDbCommand (that returns a resultset) against the database specified in the connection string using the provided parameters. A valid connection string for an IDbConnection The CommandType (stored procedure, text, etc.) The stored procedure name or SQL command An array of IDataParameters used to execute the command A DataSet wich will contain the resultset generated by the command This array will be used to create table mappings allowing the DataTables to be referenced by a user defined name (probably the actual table name) Thrown if connectionString is null Thrown if any of the IDataParameters.ParameterNames are null, or if the parameter count does not match the number of values supplied Thrown if commandText is null Thrown if the parameter count does not match the number of values supplied Execute a stored procedure via an IDbCommand (that returns a resultset) against the database specified in the connection string using the provided parameter values. This method will query the database to discover the parameters for the stored procedure (the first time each stored procedure is called), and assign the values based on parameter order. This method provides no access to output parameters or the stored procedure's return value parameter. helper.FillDataset(connString, CommandType.StoredProcedure, "GetOrders", ds, new string[] {"orders"}, 24); A valid connection string for an IDbConnection The name of the stored procedure A dataset wich will contain the resultset generated by the command This array will be used to create table mappings allowing the DataTables to be referenced by a user defined name (probably the actual table name) An array of objects to be assigned as the input values of the stored procedure Thrown if connectionString is null Thrown if spName is null Thrown if the parameter count does not match the number of values supplied Execute an IDbCommand (that returns a resultset and takes no parameters) against the provided IDbConnection. helper.FillDataset(conn, CommandType.StoredProcedure, "GetOrders", ds, new string[] {"orders"}); A valid IDbConnection The CommandType (stored procedure, text, etc.) The stored procedure name or SQL command A dataset wich will contain the resultset generated by the command This array will be used to create table mappings allowing the DataTables to be referenced by a user defined name (probably the actual table name) Thrown if commandText is null Thrown if connection is null Execute an IDbCommand (that returns a resultset) against the specified IDbConnection using the provided parameters. A valid IDbConnection The CommandType (stored procedure, text, etc.) The stored procedure name or SQL command A DataSet wich will contain the resultset generated by the command This array will be used to create table mappings allowing the DataTables to be referenced by a user defined name (probably the actual table name) An array of IDataParameters used to execute the command Thrown if commandText is null Thrown if connection is null Execute a stored procedure via an IDbCommand (that returns a resultset) against the specified IDbConnection using the provided parameter values. This method will query the database to discover the parameters for the stored procedure (the first time each stored procedure is called), and assign the values based on parameter order. This method provides no access to output parameters or the stored procedure's return value parameter. helper.FillDataset(conn, "GetOrders", ds, new string[] {"orders"}, 24, 36); A valid IDbConnection The name of the stored procedure A dataset wich will contain the resultset generated by the command This array will be used to create table mappings allowing the DataTables to be referenced by a user defined name (probably the actual table name) An array of objects to be assigned as the input values of the stored procedure Thrown if spName is null Thrown if connection is null Execute an IDbCommand (that returns a resultset and takes no parameters) against the provided IDbTransaction. helper.FillDataset(tran, CommandType.StoredProcedure, "GetOrders", ds, new string[] {"orders"}); A valid IDbTransaction The CommandType (stored procedure, text, etc.) The stored procedure name or SQL command A dataset wich will contain the resultset generated by the command This array will be used to create table mappings allowing the DataTables to be referenced by a user defined name (probably the actual table name) Thrown if commandText is null Thrown if transaction is null Thrown if transaction.Connection is null Execute an IDbCommand (that returns a resultset) against the specified IDbTransaction using the provided parameters. A valid IDbTransaction The CommandType (stored procedure, text, etc.) The stored procedure name or SQL command A DataSet wich will contain the resultset generated by the command This array will be used to create table mappings allowing the DataTables to be referenced by a user defined name (probably the actual table name) An array of IDataParameters used to execute the command Thrown if commandText is null Thrown if transaction is null Thrown if transaction.Connection is null Execute a stored procedure via an IDbCommand (that returns a resultset) against the specified IDbTransaction using the provided parameter values. This method will query the database to discover the parameters for the stored procedure (the first time each stored procedure is called), and assign the values based on parameter order. This method provides no access to output parameters or the stored procedure's return value parameter. helper.FillDataset(tran, "GetOrders", ds, new string[] {"orders"}, 24, 36); A valid IDbTransaction The name of the stored procedure A dataset wich will contain the resultset generated by the command This array will be used to create table mappings allowing the DataTables to be referenced by a user defined name (probably the actual table name) An array of objects to be assigned as the input values of the stored procedure Thrown if spName is null Thrown if transaction is null Thrown if transaction.Connection is null Private helper method that execute an IDbCommand (that returns a resultset) against the specified IDbTransaction and IDbConnection using the provided parameters. A valid IDbConnection A valid IDbTransaction The CommandType (stored procedure, text, etc.) The stored procedure name or SQL command A DataSet wich will contain the resultset generated by the command This array will be used to create table mappings allowing the DataTables to be referenced by a user defined name (probably the actual table name) An array of IDataParameters used to execute the command This method consumes the RowUpdatingEvent and passes it on to the consumer specifed in the call to UpdateDataset The object that generated the event The System.Data.Common.RowUpdatingEventArgs This method consumes the RowUpdatedEvent and passes it on to the consumer specifed in the call to UpdateDataset The object that generated the event The System.Data.Common.RowUpdatingEventArgs Set up a command for updating a DataSet. command object to prepare output parameter specifying whether the connection used should be closed by the DAAB An IDbCommand object Executes the respective command for each inserted, updated, or deleted row in the DataSet. helper.UpdateDataset(conn, insertCommand, deleteCommand, updateCommand, dataSet, "Order"); A valid SQL statement or stored procedure to insert new records into the data source A valid SQL statement or stored procedure to delete records from the data source A valid SQL statement or stored procedure used to update records in the data source The DataSet used to update the data source The DataTable used to update the data source. Executes the IDbCommand for each inserted, updated, or deleted row in the DataSet also implementing RowUpdating and RowUpdated Event Handlers RowUpdatingEventHandler rowUpdatingHandler = new RowUpdatingEventHandler( OnRowUpdating ); RowUpdatedEventHandler rowUpdatedHandler = new RowUpdatedEventHandler( OnRowUpdated ); helper.UpdateDataSet(sqlInsertCommand, sqlDeleteCommand, sqlUpdateCommand, dataSet, "Order", rowUpdatingHandler, rowUpdatedHandler); A valid SQL statement or stored procedure to insert new records into the data source A valid SQL statement or stored procedure to delete records from the data source A valid SQL statement or stored procedure used to update records in the data source The DataSet used to update the data source The DataTable used to update the data source. RowUpdatingEventHandler RowUpdatedEventHandler Simplify the creation of an IDbCommand object by allowing a stored procedure and optional parameters to be provided IDbCommand command = helper.CreateCommand(conn, "AddCustomer", "CustomerID", "CustomerName"); A valid connection string for an IDbConnection The name of the stored procedure An array of string to be assigned as the source columns of the stored procedure parameters A valid IDbCommand object Thrown if connectionString is null Thrown if any of the IDataParameters.ParameterNames are null, or if the parameter count does not match the number of values supplied Thrown if spName is null Thrown if the parameter count does not match the number of values supplied Simplify the creation of an IDbCommand object by allowing a stored procedure and optional parameters to be provided IDbCommand command = helper.CreateCommand(conn, "AddCustomer", "CustomerID", "CustomerName"); A valid IDbConnection object The name of the stored procedure An array of string to be assigned as the source columns of the stored procedure parameters A valid IDbCommand object Thrown if spName is null Thrown if connection is null Simplify the creation of an IDbCommand object by allowing a stored procedure and optional parameters to be provided A valid connection string for an IDbConnection A valid SQL statement A System.Data.CommandType The parameters for the SQL statement A valid IDbCommand object Simplify the creation of an IDbCommand object by allowing a stored procedure and optional parameters to be provided IDbCommand command = helper.CreateCommand(conn, "AddCustomer", "CustomerID", "CustomerName"); A valid IDbConnection object A valid SQL statement A System.Data.CommandType The parameters for the SQL statement A valid IDbCommand object Execute a stored procedure via an IDbCommand (that returns no resultset) against the database specified in the connection string using the dataRow column values as the stored procedure's parameters values. This method will assign the parameter values based on row values. The IDbCommand to execute The dataRow used to hold the stored procedure's parameter values. An int representing the number of rows affected by the command Thrown if command is null. Execute a stored procedure via an IDbCommand (that returns no resultset) against the database specified in the connection string using the dataRow column values as the stored procedure's parameters values. This method will query the database to discover the parameters for the stored procedure (the first time each stored procedure is called), and assign the values based on row values. A valid connection string for an IDbConnection The name of the stored procedure The dataRow used to hold the stored procedure's parameter values. An int representing the number of rows affected by the command Thrown if connectionString is null Thrown if spName is null Execute a stored procedure via an IDbCommand (that returns no resultset) against the specified IDbConnection using the dataRow column values as the stored procedure's parameters values. This method will query the database to discover the parameters for the stored procedure (the first time each stored procedure is called), and assign the values based on row values. A valid IDbConnection object The name of the stored procedure The dataRow used to hold the stored procedure's parameter values. An int representing the number of rows affected by the command Thrown if spName is null Thrown if connection is null Execute a stored procedure via an IDbCommand (that returns no resultset) against the specified IDbTransaction using the dataRow column values as the stored procedure's parameters values. This method will query the database to discover the parameters for the stored procedure (the first time each stored procedure is called), and assign the values based on row values. A valid IDbTransaction object The name of the stored procedure The dataRow used to hold the stored procedure's parameter values. An int representing the number of rows affected by the command Thrown if spName is null Thrown if transaction is null Thrown if transaction.Connection is null Execute a stored procedure via an IDbCommand (that returns a resultset) against the database specified in the connection string using the dataRow column values as the stored procedure's parameters values. This method will assign the paraemter values based on row values. The IDbCommand to execute The dataRow used to hold the stored procedure's parameter values. A DataSet containing the resultset generated by the command Thrown if command is null. Execute a stored procedure via an IDbCommand (that returns a resultset) against the database specified in the connection string using the dataRow column values as the stored procedure's parameters values. This method will query the database to discover the parameters for the stored procedure (the first time each stored procedure is called), and assign the values based on row values. A valid connection string for an IDbConnection The name of the stored procedure The dataRow used to hold the stored procedure's parameter values. A DataSet containing the resultset generated by the command Thrown if connectionString is null Thrown if spName is null Execute a stored procedure via an IDbCommand (that returns a resultset) against the specified IDbConnection using the dataRow column values as the store procedure's parameters values. This method will query the database to discover the parameters for the stored procedure (the first time each stored procedure is called), and assign the values based on row values. A valid IDbConnection object The name of the stored procedure The dataRow used to hold the stored procedure's parameter values. A DataSet containing the resultset generated by the command Thrown if spName is null Thrown if connection is null Execute a stored procedure via an IDbCommand (that returns a resultset) against the specified IDbTransaction using the dataRow column values as the stored procedure's parameters values. This method will query the database to discover the parameters for the stored procedure (the first time each stored procedure is called), and assign the values based on row values. A valid IDbTransaction object The name of the stored procedure The dataRow used to hold the stored procedure's parameter values. A DataSet containing the resultset generated by the command Thrown if spName is null Thrown if transaction is null Thrown if transaction.Connection is null Execute a stored procedure via an IDbCommand (that returns a resultset) against the database specified in the connection string using the dataRow column values as the stored procedure's parameters values. This method will assign the parameter values based on parameter order. The IDbCommand to execute The dataRow used to hold the stored procedure's parameter values. A IDataReader containing the resultset generated by the command Thrown if command is null. Execute a stored procedure via an IDbCommand (that returns a resultset) against the database specified in the connection string using the dataRow column values as the stored procedure's parameters values. This method will query the database to discover the parameters for the stored procedure (the first time each stored procedure is called), and assign the values based on parameter order. A valid connection string for an IDbConnection The name of the stored procedure The dataRow used to hold the stored procedure's parameter values. A IDataReader containing the resultset generated by the command Thrown if connectionString is null Thrown if spName is null Execute a stored procedure via an IDbCommand (that returns a resultset) against the specified IDbConnection using the dataRow column values as the stored procedure's parameters values. This method will query the database to discover the parameters for the stored procedure (the first time each stored procedure is called), and assign the values based on parameter order. A valid IDbConnection object The name of the stored procedure The dataRow used to hold the stored procedure's parameter values. A IDataReader containing the resultset generated by the command Thrown if spName is null Thrown if connection is null Execute a stored procedure via an IDbCommand (that returns a resultset) against the specified IDbTransaction using the dataRow column values as the stored procedure's parameters values. This method will query the database to discover the parameters for the stored procedure (the first time each stored procedure is called), and assign the values based on parameter order. A valid IDbTransaction object The name of the stored procedure The dataRow used to hold the stored procedure's parameter values. A IDataReader containing the resultset generated by the command Thrown if spName is null Thrown if transaction is null Thrown if transaction.Connection is null Execute a stored procedure via an IDbCommand (that returns a 1x1 resultset) against the database specified in the connection string using the dataRow column values as the stored procedure's parameters values. This method will assign the parameter values based on parameter order. The IDbCommand to execute The dataRow used to hold the stored procedure's parameter values. An object containing the value in the 1x1 resultset generated by the command Thrown if command is null. Execute a stored procedure via an IDbCommand (that returns a 1x1 resultset) against the database specified in the connection string using the dataRow column values as the stored procedure's parameters values. This method will query the database to discover the parameters for the stored procedure (the first time each stored procedure is called), and assign the values based on parameter order. A valid connection string for an IDbConnection The name of the stored procedure The dataRow used to hold the stored procedure's parameter values. An object containing the value in the 1x1 resultset generated by the command Thrown if connectionString is null Thrown if spName is null Execute a stored procedure via an IDbCommand (that returns a 1x1 resultset) against the specified IDbConnection using the dataRow column values as the stored procedure's parameters values. This method will query the database to discover the parameters for the stored procedure (the first time each stored procedure is called), and assign the values based on parameter order. A valid IDbConnection object The name of the stored procedure The dataRow used to hold the stored procedure's parameter values. An object containing the value in the 1x1 resultset generated by the command Thrown if spName is null Thrown if connection is null Execute a stored procedure via an IDbCommand (that returns a 1x1 resultset) against the specified IDbTransaction using the dataRow column values as the stored procedure's parameters values. This method will query the database to discover the parameters for the stored procedure (the first time each stored procedure is called), and assign the values based on parameter order. A valid IDbTransaction object The name of the stored procedure The dataRow used to hold the stored procedure's parameter values. An object containing the value in the 1x1 resultset generated by the command Thrown if spName is null Thrown if transaction is null Thrown if transaction.Connection is null Checks for the existence of a return value parameter in the parametervalues An array of objects to be assigned as the input values of the stored procedure true if the parameterValues contains a return value parameter, false otherwise Check to see if the parameter values passed to the helper are, in fact, IDataParameters. Array of parameter values passed to helper new array of IDataParameters built from parameter values True if the parameter values are IDataParameters Retrieves the set of IDataParameters appropriate for the stored procedure This method will query the database for this information, and then store it in a cache for future requests. A valid connection string for an IDbConnection The name of the stored procedure An array of IDataParameterParameters Thrown if connectionString is null Thrown if spName is null Retrieves the set of IDataParameters appropriate for the stored procedure This method will query the database for this information, and then store it in a cache for future requests. A valid connection string for an IDbConnection The name of the stored procedure A bool value indicating whether the return value parameter should be included in the results An array of IDataParameters Thrown if connectionString is null Thrown if spName is null Retrieves the set of IDataParameters appropriate for the stored procedure This method will query the database for this information, and then store it in a cache for future requests. A valid IDataConnection object The name of the stored procedure An array of IDataParameters Thrown if spName is null Thrown if connection is null Retrieves the set of IDataParameters appropriate for the stored procedure This method will query the database for this information, and then store it in a cache for future requests. A valid IDbConnection object The name of the stored procedure A bool value indicating whether the return value parameter should be included in the results An array of IDataParameters Thrown if spName is null Thrown if connection is null Retrieves the set of IDataParameters appropriate for the stored procedure A valid IDbConnection object The name of the stored procedure A bool value indicating whether the return value parameter should be included in the results An array of IDataParameters Thrown if spName is null Thrown if connection is null Retrieve a parameter array from the cache A valid connection string for an IDbConnection The stored procedure name or SQL command An array of IDataParameters Thrown if connectionString is null Thrown if commandText is null Retrieve a parameter array from the cache A valid IDbConnection object The stored procedure name or SQL command An array of IDataParameters Thrown if commandText is null Thrown if connection is null Retrieve a parameter array from the cache A valid IDbConnection object The stored procedure name or SQL command An array of IDataParameters Add parameter array to the cache A valid connection string for an IDbConnection The stored procedure name or SQL command An array of IDataParameters to be cached Add parameter array to the cache A valid IDbConnection The stored procedure name or SQL command An array of IDataParameters to be cached Add parameter array to the cache A valid IDbConnection The stored procedure name or SQL command An array of IDataParameters to be cached Resolve at run time the appropriate set of IDataParameters for a stored procedure A valid IDbConnection object The name of the stored procedure Whether or not to include their return value parameter The parameter array discovered. Thrown if spName is null Thrown if connection is null Internal handler used for bubbling up the event to the user Internal handler used for bubbling up the event to the user Returns an IDbConnection object for the given connection string The connection string to be used to create the connection An IDbConnection object Thrown if connectionString is null Returns an IDbDataAdapter object The IDbDataAdapter Calls the CommandBuilder.DeriveParameters method for the specified provider, doing any setup and cleanup necessary The IDbCommand referencing the stored procedure from which the parameter information is to be derived. The derived parameters are added to the Parameters collection of the IDbCommand. Returns an IDataParameter object The IDataParameter object Provider specific code to set up the updating/ed event handlers used by UpdateDataset DataAdapter to attach the event handlers to The handler to be called when a row is updating The handler to be called when a row is updated Returns an array of IDataParameters of the specified size size of the array The array of IDataParameters Handle any provider-specific issues with BLOBs here by "washing" the IDataParameter and returning a new one that is set up appropriately for the provider. The IDbConnection to use in cleansing the parameter The parameter before cleansing The parameter after it's been cleansed. Delegate for creating a RowUpdatedEvent handler The object that published the event The RowUpdatedEventArgs for the event Delegate for creating a RowUpdatingEvent handler The object that published the event The RowUpdatingEventArgs for the event This enum is used to indicate whether the connection was provided by the caller, or created by AdoHelper, so that we can set the appropriate CommandBehavior when calling ExecuteReader() Connection is owned and managed by ADOHelper Connection is owned and managed by the caller ADOHelperParameterCache provides functions to leverage a static cache of procedure parameters, and the ability to discover parameters for stored procedures at run-time. Deep copy of cached IDataParameter array Add parameter array to the cache A valid connection string for an IDbConnection The stored procedure name or SQL command An array of IDataParameters to be cached Thrown if commandText is null Thrown if connectionString is null Retrieve a parameter array from the cache A valid connection string for an IDbConnection The stored procedure name or SQL command An array of IDataParameters Thrown if commandText is null Thrown if connectionString is null This is a DataReader that 'fixes' any null values before they are returned to our business code. Initializes the SafeDataReader object to use data from the provided DataReader object. The source DataReader object containing the data. Gets a string value from the datareader. Returns empty string for null. Ordinal column position of the value. Gets a value of type from the datareader. Ordinal column position of the value. Gets an integer from the datareader. Returns 0 for null. Ordinal column position of the value. Gets a double from the datareader. Returns 0 for null. Ordinal column position of the value. Gets a Guid value from the datareader. Returns Guid.Empty for null. Ordinal column position of the value. Reads the next row of data from the datareader. Moves to the next result set in the datareader. Closes the datareader. Gets a boolean value from the datareader. Returns for null. Ordinal column position of the value. Gets a byte value from the datareader. Returns 0 for null. Ordinal column position of the value. Invokes the GetBytes method of the underlying datareader. Returns 0 for null. Ordinal column position of the value. Array containing the data. Offset position within the buffer. Offset position within the field. Length of data to read. Gets a char value from the datareader. Returns Char.MinValue for null. Ordinal column position of the value. Invokes the GetChars method of the underlying datareader. Returns 0 for null. Ordinal column position of the value. Array containing the data. Offset position within the buffer. Offset position within the field. Length of data to read. Invokes the GetData method of the underlying datareader. Ordinal column position of the value. Invokes the GetDataTypeName method of the underlying datareader. Ordinal column position of the value. Gets a date value from the datareader. Returns DateTime.MinValue for null. Ordinal column position of the value. Gets a decimal value from the datareader. Returns 0 for null. Ordinal column position of the value. Invokes the GetFieldType method of the underlying datareader. Ordinal column position of the value. Gets a Single value from the datareader. Returns 0 for null. Ordinal column position of the value. Gets a Short value from the datareader. Returns 0 for null. Ordinal column position of the value. Gets a Long value from the datareader. Returns 0 for null. Ordinal column position of the value. Invokes the GetName method of the underlying datareader. Ordinal column position of the value. Gets an ordinal value from the datareader. Name of the column containing the value. Invokes the GetSchemaTable method of the underlying datareader. Invokes the GetValues method of the underlying datareader. An array of System.Object to copy the values into. Invokes the IsDBNull method of the underlying datareader. Ordinal column position of the value. Disposes the object. Disposes the object. True if called by the public Dispose method. Object finalizer. Gets a string value from the datareader. Returns empty string for null. Name of the column containing the value. Gets a value of type from the datareader. Name of the column containing the value. Gets an integer from the datareader. Returns 0 for null. Name of the column containing the value. Gets a double from the datareader. Returns 0 for null. Name of the column containing the value. Gets a Guid value from the datareader. Returns Guid.Empty for null. Name of the column containing the value. Gets a boolean value from the datareader. Returns for null. Name of the column containing the value. Gets a byte value from the datareader. Returns 0 for null. Name of the column containing the value. Invokes the GetBytes method of the underlying datareader. Returns 0 for null. Name of the column containing the value. Array containing the data. Offset position within the buffer. Offset position within the field. Length of data to read. Gets a char value from the datareader. Returns Char.MinValue for null. Name of the column containing the value. Invokes the GetChars method of the underlying datareader. Returns 0 for null. Name of the column containing the value. Array containing the data. Offset position within the buffer. Offset position within the field. Length of data to read. Invokes the GetData method of the underlying datareader. Name of the column containing the value. Invokes the GetDataTypeName method of the underlying datareader. Name of the column containing the value. Gets a date value from the datareader. Returns DateTime.MinValue for null. Name of the column containing the value. Gets a decimal value from the datareader. Returns 0 for null. Name of the column containing the value. Invokes the GetFieldType method of the underlying datareader. Name of the column containing the value. Gets a Single value from the datareader. Returns 0 for null. Name of the column containing the value. Gets a Short value from the datareader. Returns 0 for null. Name of the column containing the value. Gets a Long value from the datareader. Returns 0 for null. Name of the column containing the value. Invokes the IsDBNull method of the underlying datareader. Name of the column containing the value. Get a reference to the underlying data reader object that actually contains the data from the data source. Returns the depth property value from the datareader. Returns the FieldCount property from the datareader. Returns the IsClosed property value from the datareader. Returns a value from the datareader. Name of the column containing the value. Returns a value from the datareader. Ordinal column position of the value. Returns the RecordsAffected property value from the underlying datareader. Writes tracing or debugging output to a text file. Initializes a new instance of the class. Initializes a new instance of the class. Name of the file. Initializes a new instance of the class. Name of the file. The name. When overridden in a derived class, flushes the output buffer. Writes the specified value. The value. Writes the line. The value. When overridden in a derived class, closes the output stream so it no longer receives tracing or debugging output. Releases the unmanaged resources used by the and optionally releases the managed resources. true to release both managed and unmanaged resources; false to release only unmanaged resources. Delegate of an unsubscribe delegate A handler for an event that doesn't store a reference to the source handler must be a instance method type of calling object type of event args type of event handler Performs an implicit conversion from to . The weh. The result of the conversion. Casts the delegate. The source. Gets the handler. An interface for a weak event handler A handler for an event that doesn't store a reference to the source handler must be a instance method An interface for a weak event handler A handler for an event that doesn't store a reference to the source handler must be a instance method Utilities for the weak event method Makes a property change handler weak The event handler. The unregister. Makes a generic handler weak The event handler. The unregister. http://msdn.microsoft.com/en-us/library/dd997369.aspx http://kozmic.pl/2010/08/06/concurrentdictionary-in-net-4-not-what-you-would-expect/ http://codereview.stackexchange.com/questions/2025/extension-methods-to-make-concurrentdictionary-getoradd-and-addorupdate-thread-sa Adds the elements of the specified collection to the end of the list. The type of elements in the list. The list to which the items should be added. The collection whose elements should be added to the end of the list. The collection itself cannot be null, but it can contain elements that are null, if type is a reference type. Inserts the elements of a collection into the list at the specified index. The type of elements in the list. The list to which the items should be inserted. The zero-based index at which the new elements should be inserted.. The collection whose elements should be inserted into the list. The collection itself cannot be null, but it can contain elements that are null, if type is a reference type. Removes all the elements that match the conditions defined by the specified predicate. The type of elements in the list. The list from with the items should be removed. The delegate that defines the conditions of the elements to remove. The number of elements removed from the . Helper class to print out performance related data like number of runs, elapsed time and frequency Execute the given function n-times and print the timing values (number of runs, elapsed time, call frequency) to the console window. Function to call in a for loop. Number of iterations. Format string which can contain {runs} or {0},{time} or {1} and {frequency} or {2}. Execute the given function n-times and print the timing values (number of runs, elapsed time, call frequency) to the console window. Function to call in a for loop. Number of iterations. Format string which can contain {runs} or {0},{time} or {1} and {frequency} or {2}. Call a function in a for loop n-times. The first function call will be measured independently to measure first call effects. Function to call in a loop. Number of iterations. Format string for first function call performance. The format string can contain {runs} or {0},{time} or {1} and {frequency} or {2}. Call a function in a for loop n-times. The first function call will be measured independently to measure first call effects. Function to call in a loop. Number of iterations. Format string for first function call performance. The format string can contain {runs} or {0},{time} or {1} and {frequency} or {2}. Adjust the DateTime so the time is 1 millisecond before the next day. The DateTime to adjust. A DateTime that is 1 millisecond before the next day. Serializes the current DateTime object to a 64-bit binary value that subsequently can be used to recreate the DateTime object. The DateTime to serialize. A 64-bit signed integer that encodes the Kind and Ticks properties. This method exists to add missing funtionality in Silverlight. A class to help with Enum Flags. Determines whether any flag is on for the specified mask. The flag type. The mask to check if the flag is on. The flag to check for in the mask. true if any flag is on for the specified mask; otherwise, false. Determines whether the flag is on for the specified mask. The flag type. The mask to check if the flag is on. The flag to check for in the mask. true if the flag is on for the specified mask; otherwise, false. Sets the flag on in the specified mask. The flag type. The mask to set flag on. The flag to set. The mask with the flag set to on. Sets the flag off in the specified mask. The flag type. The mask to set flag off. The flag to set. The mask with the flag set to off. Toggles the flag in the specified mask. The flag type. The mask to toggle the flag against. The flag to toggle. The mask with the flag set in the opposite position then it was. Gets the string hex of the enum. The enum type. The enum to get the string hex from. Tries to get an enum from a string. The enum type. The enum value. The input string. The return enum value. true if the string was able to be parsed to an enum; otherwise, false. Will try and parse an enum and it's default type. True if the enum value is defined. Gets the default defined value of an enum. The enum. If the value cannot be determined, 0 will be returned. Attempts to get the default value of an enum. The System Type. Retrieve the description on the enum, e.g. [Description("Bright Pink")] BrightPink = 2, Then when you pass in the enum, it will retrieve the description The Enumeration A string representing the friendly name Gets the exception that is wrapped by an AggregateException. Formats an exception with the stack trace included. Hash Extension methods Compute hash on input string The string to compute hash on. The hash as a hexadecimal string. Compute hash on input stream The stream to compute hash on. The hash as a hexadecimal string. Compute hash on byte array The byte array to get hash from. The hash as a hexadecimal string. Compute hash on input string The file to get hash from. The hash as a hexadecimal string. Compute hash on input string The string to compute hash on. The hash as a hexadecimal string. Compute SHA1 hash on input string The string to compute hash on. The hash as a hexadecimal string. Compute SHA1 hash on input string The string to compute hash on. The hash as a hexadecimal string. Compute SHA1 hash on input string The buffer. The hash as a hexadecimal string. Compute SHA1 hash on input string The file to get hash from. The hash as a hexadecimal string. Compute SHA1 hash on input string The string to compute hash on. The hash as a hexadecimal string. Compute SHA256 hash on input string The string to compute hash on. The hash as a hexadecimal string. Compute SHA256 hash on input string The string to compute hash on. The hash as a hexadecimal string. Compute SHA256 hash on input string The buffer. The hash as a hexadecimal string. Compute SHA256 hash on input string The file to get hash from. The hash as a hexadecimal string. Compute SHA256 hash on input string The string to compute hash on. The hash as a hexadecimal string. Compute SHA512 hash on input string The string to compute hash on. The hash as a hexadecimal string. Compute SHA512 hash on input string The string to compute hash on. The hash as a hexadecimal string. Compute SHA512 hash on input string The buffer. The hash as a hexadecimal string. Compute SHA512 hash on input string The file to get hash from. The hash as a hexadecimal string. Compute SHA512 hash on input string The string to compute hash on. The hash as a hexadecimal string. Compute CRC32 hash on input string The string to compute hash on. The hash as a hexadecimal string. Compute CRC32 hash on input string The string to compute hash on. The hash as a hexadecimal string. Compute CRC32 hash on input string The buffer. The hash as a hexadecimal string. Compute CRC32 hash on input string The file to get hash from. The hash as a hexadecimal string. Compute CRC32 hash on input string The string to compute hash on. The hash as a hexadecimal string. Compute MD5 hash on input string The string to compute hash on. The hash as a hexadecimal string. Compute MD5 hash on input string The string to compute hash on. The hash as a hexadecimal string. Compute MD5 hash on input string The buffer. The hash as a hexadecimal string. Compute MD5 hash on input string The file to get hash from. The hash as a hexadecimal string. Compute MD5 hash on input string The string to compute hash on. The hash as a hexadecimal string. Converts a byte array to Hexadecimal. The bytes to convert. Hexadecimal string of the byte array. Converts a hexadecimal string into a byte array. The hex string. A byte array. Sets the property value if the value is different fromt he existing value. The PropertyChanging and PropertyChanged events are raised if the value is updated. The type of the property The handler for the PropertyChanged event. The handler for the PropertyChanging event. The new value. The old value expression. The setter delegate. The new value. The following is an example of a Name property. Name, v => _name = v); } } ]]> Sets the property value if the value is different fromt he existing value. The PropertyChanging and PropertyChanged events are raised if the value is updated. The type of the property The handler for the PropertyChanged event. The handler for the PropertyChanging event. The new value. The old value expression. The setter delegate. The new value. Truncates the specified text. The text to truncate. The number of characters to keep. A truncate string. Calculates a hashcode for the string that is guaranteed to be stable across .NET versions. The string to hash. The hashcode Indicates whether the specified String object is null or an empty string A String reference true if is null or empty; otherwise, false. Indicates whether a specified string is null, empty, or consists only of white-space characters A String reference true if is null or empty; otherwise, false. Determines if the string looks like JSON content. Formats a string without throwing a FormatException. A String reference Object parameters that should be formatted Formatted string if no error is thrown, else reutrns the format parameter. Uses the string as a format A String reference Object parameters that should be formatted Formatted string Applies a format to the item Item to format Format string Formatted string Uses the string as a format. A String reference Object that should be formatted Formatted string Applies a format to the item Item to format Format string Formatted string Converts an IEnumerable of values to a delimited string. The type of objects to delimit. The IEnumerable string values to convert. The delimiter. A delimited string of the values. Converts an IEnumerable of values to a delimited string. The IEnumerable string values to convert. A delimited string of the values. Converts an IEnumerable of values to a delimited string. The IEnumerable string values to convert. The delimiter. A delimited string of the values. Converts a string to use camelCase. The value. The to camel case. Converts a string to use PascalCase. Text to convert The string Converts a string to use PascalCase. Text to convert The string Converts a string to an C# escaped literal string. Text to escape The escaped string Converts a string to a valid C# identifier string. Text to convert. The valid identifier Converts a string to an VB escaped literal string. Text to escape The escaped string Converts a string to a valid C# identifier string. Text to convert. The valid identifier Converts a string to a valid .NET identifier string. Text to convert. The valid identifier Checks to see if a string is a valid .NET identifier string. String identifier to check. Returns true if value is a valid identifier Checks to see if a string is a valid .NET namespace. String identifier to check. Returns true if value is a valid namespace. Replicates the given string. Text to replicate Times to replicate The replicated string Converts a string to use PascalCase. Text to convert Regular Expression to split words on. The string Takes a NameIdentifier and spaces it out into words "Name Identifier". The value to convert. The string Takes a NameIdentifier and spaces it out into words "Name Identifier". The value to convert. The string Removes all whitespace from a string. Initial string. String with no whitespace. Returns a copy of this string converted to HTML markup. Returns a copy of this string converted to HTML markup. If specified, links will have the rel attribute set to this value attribute Encodes a single paragraph to HTML. Text to encode StringBuilder to write results If specified, links will have the rel attribute set to this value attribute Encodes [[URL]] and [[Text][URL]] links to HTML. Text to encode StringBuilder to write results If specified, links will have the rel attribute set to this value attribute Strips NewLines and Tabs The string to strip. Stripped string. Returns true if s contains substring value. Initial value Substring value Boolean Returns true if s contains substring value. Initial value Substring value StringComparison options. Boolean Indicates whether a string contains x occurrences of a string. The string to search. The string to search for. true if the string contains at least two occurrences of {value}; otherwise, false. Indicates whether a string contains x occurrences of a string. The string to search. The string to search for. The number of occurrences to search for. true if the string contains at least {count} occurrences of {value}; otherwise, false. Convert UTF8 string to ASCII. The UTF8 string. The ASCII string. Do any of the strings contain both uppercase and lowercase characters? String values. True if any contain mixed cases. Is the string all lower case characters? The value. True if all lower case. Is the string all upper case characters? The value. True if all upper case. Does string contain uppercase characters? The value. True if contain upper case. Does string contain lowercase characters? The value. True if contain lower case. Does string contain both uppercase and lowercase characters? The value. True if contain mixed case. Parses a person's full name from a single string. The person's full name. Writes the object to the Debug console, prefixed with an identifier for debugView filtering Object to write Writes the object on a new line to the Debug console, prefixed with an identifier for debugView filtering. Object to write Implements a for writing information to the debugger log. Initializes a new instance of the class. Initializes a new instance of the class with the specified level and category. A description of the importance of the messages. The category of the messages. Initializes a new instance of the class with the specified level, category and format provider. A description of the importance of the messages. The category of the messages. An object that controls formatting. A class with file helper methods Gets the content type based on file extension . The file extension. The content type. Captures the Desktop in a screenshot. Screenshot of the Desktop. Captures the Foreground window in a screenshot. Screenshot of the current Foreground window. Captures a screenshot of the window associated with the handle argument. Used to determine which window to provide a screenshot for. Screenshot of the window corresponding to the handle argument. Saves the encoded image to a file The image to save The quality desired (a value between 1 and 100). The to save the image as. The file path to save the image to. Saves the encoded image to a stream. The image to save The quality desired (a value between 1 and 100). The to save the image as. Ensures that the derived classes always have a string parameter to pass in a path. Acquires a lock while waiting with the default timeout value. Acquires a lock in a specific amount of time. The time to wait for when trying to acquire a lock. Acquires a lock while waiting with the default timeout value. The path to acquire a lock on. A lock instance. Acquires a lock in a specific amount of time. The path to acquire a lock on. The time to wait for when trying to acquire a lock. A lock instance. Creates a lock file. The place to create the lock file. The amount of time to wait before a TimeoutException is thrown. Releases the lock. Releases the lock. If set to true, the lock will be removed forcefully. Releases the lock. The path to the lock file. Releases the lock. The default time to wait when trying to acquire a lock. The name of the lock file. Acquires a lock in a specific amount of time. The time to wait for when trying to acquire a lock. Releases the lock. If set to true, the lock will be removed forcefully. The directory that is being locked. The directory. Initializes a new instance of the class. The file. Acquires a lock in a specific amount of time. The time to wait for when trying to acquire a lock. Releases the lock. If set to true, the lock will be removed forcefully. The file that is being locked. A class with various path helper methods Creates a unique filename based on an existing filename A string containing the fully qualified path that will contain the new file A string that contains the fully qualified path of the unique file name Removes illegal characters from a file path The file path A string that contains the cleaned file path Removes illegal characters from a file name The file name The maximum length for the returned file name A string that contains the cleaned file name Creates a relative path from one file or folder to another. Contains the directory that defines the start of the relative path. Contains the path that defines the endpoint of the relative path. The relative path from the start directory to the end path. Expand the filename of the data source, resolving the |DataDirectory| macro as appropriate. The database filename to expand The expanded path and filename of the filename Gets the data directory for the |DataDirectory| macro. The DataDirectory path. Creates the directory if it does not exist. The directory path to create. Deletes the directory, subdirectories, and files in path if it exists. The directory path to delete. Implements a TextWriter with Encoding for writing information to a string. The information is stored in an underlying StringBuilder. Initializes a new instance of the class. Initializes a new instance of the class. An object that controls formatting. Initializes a new instance of the class. The StringBuilder to write to. Initializes a new instance of the class. The StringBuilder to write to. An object that controls formatting. is null. Initializes a new instance of the class. The in which the output is written. Initializes a new instance of the class. The in which the output is written. An object that controls formatting. Initializes a new instance of the class. The in which the output is written. The StringBuilder to write to. Initializes a new instance of the class. The in which the output is written. The StringBuilder to write to. An object that controls formatting. Gets the in which the output is written. The Encoding in which the output is written. Base stream class that implements all of Stream's abstract members. Flushes the contents of the stream to the underlying storage. Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. An array of bytes. When Read returns, the buffer contains the specified byte array with the values between offset and (offset + count - 1) replaced by the bytes read from the current source. The zero-based byte offset in buffer at which to begin storing the data read from the current stream. The maximum number of bytes to be read from the current stream. The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. Sets the position within the current stream. A byte offset relative to the origin parameter. A value of type System.IO.SeekOrigin indicating the reference point used to obtain the new position. The new position within the current stream. Sets the length of the current stream. The desired length of the current stream in bytes. Writes a sequence of bytes to the stream. An array of bytes. Write copies count bytes from buffer to the stream. The zero-based byte offset in buffer at which to begin copying bytes to the stream. The number of bytes to be written to the current stream. Determines whether data can be read from the stream. Determines whether data can be written to the stream. Determines whether the stream can be seeked. Gets the length of the stream. Gets or sets the current position of the stream. Runs an action when the CountdownEvent reaches zero. Initializes the ActionCountdownEvent. The number of signals required to set the CountdownEvent. The delegate to be invoked when the count reaches zero. Increments the current count by one. Registers a signal with the event, decrementing its count. Releases all resources used by the current instance. Releases all resources used by the current instance. true if called because the object is being disposed; otherwise, false. Provides an asynchronous barrier. The number of participants in the barrier. The task used to signal completion of the current round. The number of participants remaining to arrive for this round. Initializes the BarrierAsync with the specified number of participants. The number of participants in the barrier. Signals that a participant has arrived. A Task that will be signaled when the current round completes. Gets the participant count. Gets the number of participants still not yet arrived in this round. Debugger type proxy for AsyncCache. Specifies the type of the cache's keys. Specifies the type of the cache's values. Caches asynchronously retrieved data. Specifies the type of the cache's keys. Specifies the type of the cache's values. The factory to use to create tasks. The dictionary to store all of the tasks. Initializes the cache. A factory for producing the cache's values. Gets a Task to retrieve the value for the specified key. The key whose value should be retrieved. A Task for the value of the specified key. Sets the value for the specified key. The key whose value should be set. The value to which the key should be set. Sets the value for the specified key. The key whose value should be set. The value to which the key should be set. Empties the cache. Gets an enumerator for the contents of the cache. An enumerator for the contents of the cache. Gets an enumerator for the contents of the cache. An enumerator for the contents of the cache. Adds or overwrites the specified entry in the cache. The item to be added. Determines whether the cache contains the specified key. The item contained the key to be searched for. True if the cache contains the key; otherwise, false. Copies the elements of the System.Collections.Generic.ICollection{T} to an System.Array, starting at a particular System.Array index. The one-dimensional System.Array that is the destination of the elements copied from System.Collections.Generic.ICollection{T}. The System.Array must have zero-based indexing. The zero-based index in array at which copying begins. Removes the specified key from the cache. The item containing the key to be removed. True if the item could be removed; otherwise, false. Gets a Task to retrieve the value for the specified key. The key whose value should be retrieved. A Task for the value of the specified key. Gets the number of items in the cache. Gets whether the cache is read-only. An asynchronous cache for downloaded HTML. Initializes the HtmlCache. Asynchronously invokes a handler for every posted item. Specifies the type of data processed by the instance. A queue that stores the posted data. Also serves as the syncObj for protected instance state. A ConcurrentQueue is used to enable lock-free dequeues while running with a single consumer task. The delegate to invoke for every element. The maximum number of items that should be processed by an individual task. The TaskFactory to use to launch new tasks. The options to use for parallel processing of data. Whether a processing task has been scheduled. Initializes the AsyncCall with an action to execute for each element. The action to run for every posted item. The maximum degree of parallelism to use. If not specified, 1 is used for serial execution. The scheduler to use. If null, the default scheduler is used. The maximum number of items to be processed per task. If not specified, Int32.MaxValue is used. Initializes the AsyncCall with a function to execute for each element. The function returns an Task that represents the asynchronous completion of that element's processing. The function to run for every posted item. The maximum degree of parallelism to use. If not specified, 1 is used for serial execution. The scheduler to use. If null, the default scheduler is used. General initialization of the AsyncCall. Another constructor must initialize the delegate. The maximum degree of parallelism to use. If not specified, 1 is used for serial execution. The maximum number of items to be processed per task. If not specified, Int32.MaxValue is used. The scheduler to use. If null, the default scheduler is used. Post an item for processing. The item to be processed. Gets an enumerable that yields the items to be processed at this time. An enumerable of items. Used as the body of an action task to process items in the queue. Used as the body of a function task to process items in the queue. Provides static factory methods for creating AsyncCall(Of T) instances. Initializes the AsyncCall with an action to execute for each element. The action to run for every posted item. The maximum degree of parallelism to use. If not specified, 1 is used for serial execution. The scheduler to use. If null, the default scheduler is used. The maximum number of items to be processed per task. If not specified, Int32.MaxValue is used. Initializes the AsyncCall with a function to execute for each element. The function returns an Task that represents the asynchronous completion of that element's processing. The function to run for every posted item. The maximum degree of parallelism to use. If not specified, 1 is used for serial execution. The scheduler to use. If null, the default scheduler is used. Initializes the AsyncCall in the specified AppDomain with an action to execute for each element. The action to run for every posted item. The maximum degree of parallelism to use. If not specified, 1 is used for serial execution. The maximum number of items to be processed per task. If not specified, Int32.MaxValue is used. Initializes the AsyncCall in the specified AppDomain with a function to execute for each element. The function returns an Task that represents the asynchronous completion of that element's processing. The action to run for every posted item. The maximum degree of parallelism to use. If not specified, 1 is used for serial execution. Provides an asynchronous producer/consumer collection. Asynchronous semaphore used to keep track of asynchronous work. The data stored in the collection. Initializes the asynchronous producer/consumer collection to store data in a first-in-first-out (FIFO) order. Initializes the asynchronous producer/consumer collection. The underlying collection to use to store data. Adds an element to the collection. The item to be added. Takes an element from the collection asynchronously. A Task that represents the element removed from the collection. Disposes of the collection. Gets the number of elements in the collection. Provides for asynchronous exclusive and concurrent execution support. The lock that protects all shared state in this instance. The queue of concurrent readers waiting to execute. The queue of exclusive writers waiting to execute. The number of concurrent readers currently executing. The number of exclusive writers currently executing. The non-generic factory to use for task creation. Initializes the ReaderWriterAsync. Initializes the ReaderWriterAsync with the specified TaskFactory for us in creating all tasks. The TaskFactory to use to create all tasks. Queues an exclusive writer action to the ReaderWriterAsync. The action to be executed exclusively. A Task that represents the execution of the provided action. Queues an exclusive writer function to the ReaderWriterAsync. The function to be executed exclusively. A Task that represents the execution of the provided function. Queues a concurrent reader action to the ReaderWriterAsync. The action to be executed concurrently. A Task that represents the execution of the provided action. Queues a concurrent reader function to the ReaderWriterAsync. The function to be executed concurrently. A Task that represents the execution of the provided function. Starts the specified exclusive task. The exclusive task to be started. This must only be executed while holding the instance's lock. Starts the specified concurrent task. The exclusive task to be started. This must only be executed while holding the instance's lock. Starts all queued concurrent tasks. This must only be executed while holding the instance's lock. Completes the processing of a concurrent reader. Completes the processing of an exclusive writer. Gets the number of exclusive operations currently queued. Gets the number of concurrent operations currently queued. Gets the number of concurrent operations currently executing. Gets whether an exclusive operation is currently executing. Provides an asynchronous semaphore. The current count. The maximum count. If _maxCount isn't positive, the instance has been disposed. Tasks waiting to be completed when the semaphore has count available. Initializes the SemaphoreAsync with a count of zero and a maximum count of Int32.MaxValue. Initializes the SemaphoreAsync with the specified count and a maximum count of Int32.MaxValue. The initial count to use as the current count. Initializes the SemaphoreAsync with the specified counts. The initial count to use as the current count. The maximum count allowed. Waits for a unit to be available in the semaphore. A Task that will be completed when a unit is available and this Wait operation succeeds. Queues an action that will be executed when space is available in the semaphore. The action to be executed. A Task that represents the execution of the action. Release does not need to be called for this action, as it will be handled implicitly by the Queue method. Queues a function that will be executed when space is available in the semaphore. The function to be executed. A Task that represents the execution of the function. Release does not need to be called for this function, as it will be handled implicitly by the Queue method. Releases a unit of work to the semaphore. Releases the resources used by the semaphore. Gets the current count. Gets the maximum count. Gets the number of operations currently waiting on the semaphore. Provides a thread-safe priority queue data structure. Specifies the type of keys used to prioritize values. Specifies the type of elements in the queue. Initializes a new instance of the ConcurrentPriorityQueue class. Initializes a new instance of the ConcurrentPriorityQueue class that contains elements copied from the specified collection. The collection whose elements are copied to the new ConcurrentPriorityQueue. Adds the key/value pair to the priority queue. The priority of the item to be added. The item to be added. Adds the key/value pair to the priority queue. The key/value pair to be added to the queue. Attempts to remove and return the next prioritized item in the queue. When this method returns, if the operation was successful, result contains the object removed. If no object was available to be removed, the value is unspecified. true if an element was removed and returned from the queue succesfully; otherwise, false. Attempts to return the next prioritized item in the queue. When this method returns, if the operation was successful, result contains the object. The queue was not modified by the operation. true if an element was returned from the queue succesfully; otherwise, false. Empties the queue. Copies the elements of the collection to an array, starting at a particular array index. The one-dimensional array that is the destination of the elements copied from the queue. The zero-based index in array at which copying begins. The elements will not be copied to the array in any guaranteed order. Copies the elements stored in the queue to a new array. A new array containing a snapshot of elements copied from the queue. Attempts to add an item in the queue. The key/value pair to be added. true if the pair was added; otherwise, false. Attempts to remove and return the next prioritized item in the queue. When this method returns, if the operation was successful, result contains the object removed. If no object was available to be removed, the value is unspecified. true if an element was removed and returned from the queue succesfully; otherwise, false. Returns an enumerator that iterates through the collection. An enumerator for the contents of the queue. The enumeration represents a moment-in-time snapshot of the contents of the queue. It does not reflect any updates to the collection after GetEnumerator was called. The enumerator is safe to use concurrently with reads from and writes to the queue. Returns an enumerator that iterates through a collection. An IEnumerator that can be used to iterate through the collection. Copies the elements of the collection to an array, starting at a particular array index. The one-dimensional array that is the destination of the elements copied from the queue. The zero-based index in array at which copying begins. Gets whether the queue is empty. Gets the number of elements contained in the queue. Gets a value indicating whether access to the ICollection is synchronized with the SyncRoot. Gets an object that can be used to synchronize access to the collection. Implements a binary heap that prioritizes smaller values. Initializes an empty heap. Initializes a heap as a copy of another heap instance. The heap to copy. Key/Value values are not deep cloned. Empties the heap. Adds an item to the heap. Adds an item to the heap. Returns the entry at the top of the heap. Removes the entry at the top of the heap. Gets the number of objects stored in the heap. Provides a thread-safe object pool. Specifies the type of the elements stored in the pool. Provides a base implementation for producer-consumer collections that wrap other producer-consumer collections. Specifies the type of elements in the collection. Initializes the ProducerConsumerCollectionBase instance. The collection to be wrapped by this instance. Attempts to add the specified value to the end of the deque. The item to add. true if the item could be added; otherwise, false. Attempts to remove and return an item from the collection. When this method returns, if the operation was successful, item contains the item removed. If no item was available to be removed, the value is unspecified. true if an element was removed and returned from the collection; otherwise, false. Attempts to add the specified value to the end of the deque. The item to add. true if the item could be added; otherwise, false. Attempts to remove and return an item from the collection. When this method returns, if the operation was successful, item contains the item removed. If no item was available to be removed, the value is unspecified. true if an element was removed and returned from the collection; otherwise, false. Creates an array containing the contents of the collection. The array. Copies the contents of the collection to an array. The array to which the data should be copied. The starting index at which data should be copied. Copies the contents of the collection to an array. The array to which the data should be copied. The starting index at which data should be copied. Gets an enumerator for the collection. An enumerator. Gets an enumerator for the collection. An enumerator. Gets the contained collection. Gets the number of elements contained in the collection. Gets whether the collection is synchronized. Gets the synchronization root object for the collection. Initializes an instance of the ObjectPool class. The function used to create items when no items exist in the pool. Initializes an instance of the ObjectPool class. The function used to create items when no items exist in the pool. The collection used to store the elements of the pool. Adds the provided item into the pool. The item to be added. Gets an item from the pool. The removed or created item. If the pool is empty, a new item will be created and returned. Clears the object pool, returning all of the data that was in the pool. An array containing all of the elements in the pool. Provides a thread-safe, concurrent collection for use with data binding. Specifies the type of the elements in this collection. Initializes an instance of the ObservableConcurrentCollection class with an underlying queue data structure. Initializes an instance of the ObservableConcurrentCollection class with the specified collection as the underlying data structure. Notifies observers of CollectionChanged or PropertyChanged of an update to the dictionary. Event raised when the collection changes. Event raised when a property on the collection changes. Provides a thread-safe dictionary for use with data binding. Specifies the type of the keys in this collection. Specifies the type of the values in this collection. Initializes an instance of the ObservableConcurrentDictionary class. Initializes an instance of the ObservableConcurrentDictionary class. Notifies observers of CollectionChanged or PropertyChanged of an update to the dictionary. Attempts to add an item to the dictionary, notifying observers of any changes. The item to be added. Whether the add was successful. Attempts to add an item to the dictionary, notifying observers of any changes. The key of the item to be added. The value of the item to be added. Whether the add was successful. Attempts to remove an item from the dictionary, notifying observers of any changes. The key of the item to be removed. The value of the item removed. Whether the removal was successful. Attempts to add or update an item in the dictionary, notifying observers of any changes. The key of the item to be updated. The new value to set for the item. Whether the update was successful. Event raised when the collection changes. Event raised when a property on the collection changes. Provides support for pipelined data processing. Creates a new pipeline, with the specified function as the sole stage. Specifies the type of the input data to the pipeline. Specifies the type of the output data from this stage of the pipeline. The function used to process input data into output data. A pipeline for converting from input data to output data. Creates a new pipeline, with the specified function as the sole stage. Specifies the type of the input data to the pipeline. Specifies the type of the output data from this stage of the pipeline. The function used to process input data into output data. The concurrency level for this stage of the pipeline. A pipeline for converting from input data to output data. Provides support for pipelined data processing. Specifies the type of the input data to the pipeline. Specifies the type of the output data from this stage of the pipeline. Creates a new pipeline that combines the current pipeline with a new stage. Specifies the new output type of the pipeline. The function used to convert the output of the current pipeline into the new output of the new pipeline. A new pipeline that combines the current pipeline with the new stage. This overload creates a parallel pipeline stage. Creates a new pipeline that combines the current pipeline with a new stage. Specifies the new output type of the pipeline. The function used to convert the output of the current pipeline into the new output of the new pipeline. The concurrency level for this stage of the pipeline. A new pipeline that combines the current pipeline with the new stage. Runs the pipeline and returns an enumerable over the results. The source data to be processed by the pipeline. An enumerable of the results of the pipeline. Runs the pipeline and returns an enumerable over the results. The source data to be processed by the pipeline. The cancellation token used to signal cancellation of the pipelining. An enumerable of the results of the pipeline. Runs the pipeline and returns an enumerable over the results. The source data to be processed by the pipeline. The cancellation token used to signal cancellation of the pipelining. An enumerable of the results of the pipeline. Implements the core processing for a pipeline stage. The source data to be processed by the pipeline. The cancellation token used to signal cancellation of the pipelining. The collection into which to put the output. Helper used to add a new stage to a pipeline. Specifies the type of the output for the new pipeline. Implements the core processing for a pipeline stage. The source data to be processed by the pipeline. The cancellation token used to signal cancellation of the pipelining. The collection into which to put the output. Debug view for the IProducerConsumerCollection. Specifies the type of the data being aggregated. Provides a reduction variable for aggregating data across multiple threads involved in a computation. Specifies the type of the data being aggregated. The factory used to initialize a value on a thread. Thread-local storage for each thread's value. The list of all thread-local values for later enumeration. Initializes the instances. Initializes the instances. The function invoked to provide the initial value for a thread. If null, the default value of T will be used as the seed. Creates a value for the current thread and stores it in the central list of values. The boxed value. Applies an accumulator function over the values in this variable. An accumulator function to be invoked on each value. The accumulated value. Applies an accumulator function over the values in this variable. The specified seed is used as the initial accumulator value. An accumulator function to be invoked on each value. The accumulated value. Gets or sets the value for the current thread. Gets the values for all of the threads that have used this instance. Debug view for the reductino variable Specifies the type of the data being aggregated. Represents a queue of tasks to be started and executed serially. The ordered queue of tasks to be executed. Also serves as a lock protecting all shared state. The task currently executing, or null if there is none. Enqueues the task to be processed serially and in order. The function that generates a non-started task. Enqueues the non-started task to be processed serially and in order. The task. Gets a Task that represents the completion of all previously queued tasks. Enqueues the task to be processed serially and in order. The task or functino that generates a task. The task must not be started and must only be started by this instance. Called when a Task completes to potentially start the next in the queue. The task that completed. Starts the provided task (or function that returns a task). The next task or function that returns a task. Provides a simple, reference type wrapper for SpinLock. Initializes an instance of the SpinLockClass class. Initializes an instance of the SpinLockClass class. Controls whether the SpinLockClass should track thread-ownership fo the lock. Runs the specified delegate under the lock. The delegate to be executed while holding the lock. Enters the lock. Upon exit of the Enter method, specifies whether the lock was acquired. The variable passed by reference must be initialized to false. Exits the SpinLock. Exits the SpinLock. A Boolean value that indicates whether a memory fence should be issued in order to immediately publish the exit operation to other threads. Represents a thread-safe, pseudo-random number generator. Seed provider. The underlyin provider of randomness, one instance per thread, initialized with _global. Returns a nonnegative random number. A 32-bit signed integer greater than or equal to zero and less than MaxValue. Returns a nonnegative random number less than the specified maximum. The exclusive upper bound of the random number to be generated. maxValue must be greater than or equal to zero. A 32-bit signed integer greater than or equal to zero, and less than maxValue; that is, the range of return values ordinarily includes zero but not maxValue. However, if maxValue equals zero, maxValue is returned. Returns a random number within a specified range. The inclusive lower bound of the random number returned. The exclusive upper bound of the random number returned. maxValue must be greater than or equal to minValue. A 32-bit signed integer greater than or equal to minValue and less than maxValue; that is, the range of return values includes minValue but not maxValue. If minValue equals maxValue, minValue is returned. Returns a random number between 0.0 and 1.0. A double-precision floating point number greater than or equal to 0.0, and less than 1.0. Fills the elements of a specified array of bytes with random numbers. An array of bytes to contain random numbers. Writeable stream for using a separate thread in a producer/consumer scenario. The underlying stream to target. The collection of chunks to be written. The Task to use for background writing. Initializes a new instance of the TransferStream. The underlying stream to which to write. Writes a sequence of bytes to the stream. An array of bytes. Write copies count bytes from buffer to the stream. The zero-based byte offset in buffer at which to begin copying bytes to the stream. The number of bytes to be written to the current stream. Closes the stream and releases all resources associated with it. Determines whether data can be written to the stream. Extension methods for AggregateException. Invokes a handler on each Exception contained by this AggregateException. The AggregateException. The predicate to execute for each exception. The predicate accepts as an argument the Exception to be processed and returns a Boolean to indicate whether the exception was handled. Whether the rethrown AggregateException should maintain the same hierarchy as the original. Provides asynchronous counterparts to members of the File class. Opens an existing file for asynchronous reading. The path to the file to be opened for reading. A read-only FileStream on the specified path. Opens an existing file for asynchronous writing. The path to the file to be opened for writing. An unshared FileStream on the specified path with access for writing. Opens a binary file for asynchronosu operation, reads the contents of the file into a byte array, and then closes the file. The path to the file to be read. A task that will contain the contents of the file. Opens a binary file for asynchronous operation, writes the contents of the byte array into the file, and then closes the file. The path to the file to be written. A task that will signal the completion of the operation. Opens a text file for asynchronosu operation, reads the contents of the file into a string, and then closes the file. The path to the file to be read. A task that will contain the contents of the file. Opens a text file for asynchronous operation, writes a string into the file, and then closes the file. The path to the file to be written. A task that will signal the completion of the operation. Extension methods for asynchronously working with streams. Read from a stream asynchronously. The stream. An array of bytes to be filled by the read operation. The offset at which data should be stored. The number of bytes to be read. A Task containing the number of bytes read. Write to a stream asynchronously. The stream. An array of bytes to be written. The offset from which data should be read to be written. The number of bytes to be written. A Task representing the completion of the asynchronous operation. Reads the contents of the stream asynchronously. The stream. A Task representing the contents of the file in bytes. Read the content of the stream, yielding its data in buffers to the provided delegate. The stream. The size of the buffers to use. The delegate to be called when a new buffer is available. A Task that represents the completion of the asynchronous operation. Creates an enumerable to be used with TaskFactoryExtensions.Iterate that reads data from an input stream and passes it to a user-provided delegate. The source stream. The size of the buffers to be used. A delegate to be invoked when a buffer is available (provided the buffer and the number of bytes in the buffer starting at offset 0. An enumerable containing yielded tasks from the operation. Copies the contents of a stream to a file, asynchronously. The source stream. The path to the destination file. A Task that represents the asynchronous operation. Copies the contents of one stream to another, asynchronously. The source stream. The destination stream. A Task that represents the completion of the asynchronous operation. Creates an enumerable to be used with TaskFactoryExtensions.Iterate that copies data from one stream to another. The input stream. The output stream. An enumerable containing yielded tasks from the copy operation. Extension methods for working with WebRequest asynchronously. Creates a Task that represents an asynchronous request to GetResponse. The WebRequest. A Task containing the retrieved WebResponse. Creates a Task that represents an asynchronous request to GetRequestStream. The WebRequest. A Task containing the retrieved Stream. Creates a Task that respresents downloading all of the data from a WebRequest. The WebRequest. A Task containing the downloaded content. Extension methods for BlockingCollection. Gets a partitioner for a BlockingCollection that consumes and yields the contents of the BlockingCollection. Specifies the type of data in the collection. The collection for which to create a partitioner. A partitioner that completely consumes and enumerates the contents of the collection. Using this partitioner with a Parallel.ForEach loop or with PLINQ eliminates the need for those constructs to do any additional locking. The only synchronization in place is that used by the BlockingCollection internally. Adds the contents of an enumerable to the BlockingCollection. Specifies the type of the elements in the collection. The target BlockingCollection to be augmented. The source enumerable containing the data to be added. Whether to mark the target BlockingCollection as complete for adding when all elements of the source enumerable have been transfered. Adds the contents of an observable to the BlockingCollection. Specifies the type of the elements in the collection. The target BlockingCollection to be augmented. The source observable containing the data to be added. Whether to mark the target BlockingCollection as complete for adding when all elements of the source observable have been transfered. An IDisposable that may be used to cancel the transfer. Creates an IProducerConsumerCollection-facade for a BlockingCollection instance. Specifies the type of the elements in the collection. The BlockingCollection. An IProducerConsumerCollection that wraps the provided BlockingCollection. Creates an IProducerConsumerCollection-facade for a BlockingCollection instance. Specifies the type of the elements in the collection. The BlockingCollection. -1 for infinite blocking add and take operations. 0 for non-blocking, 1 or greater for blocking with timeout. An IProducerConsumerCollection that wraps the provided BlockingCollection. Creates an IProducerConsumerCollection-facade for a BlockingCollection instance. Specifies the type of the elements in the collection. The BlockingCollection. -1 for infinite blocking add and take operations. 0 for non-blocking, 1 or greater for blocking with timeout. The CancellationToken to use for any blocking operations. An IProducerConsumerCollection that wraps the provided BlockingCollection. Provides a partitioner that consumes a blocking collection and yields its contents. Specifies the type of data in the collection. The target collection. Initializes the partitioner. The collection to be enumerated and consumed. Partitions the underlying collection into the given number of partitions. The number of partitions to create. A list containing partitionCount enumerators. Creates an object that can partition the underlying collection into a variable number of partitions. An object that can create partitions over the underlying data source. Gets whether additional partitions can be created dynamically. Provides a producer-consumer collection facade for a BlockingCollection. Specifies the type of the elements in the collection. Extension methods for CancellationToken. Cancels a CancellationTokenSource and throws a corresponding OperationCanceledException. The source to be canceled. Creates a CancellationTokenSource that will be canceled when the specified token has cancellation requested. The token. The created CancellationTokenSource. Provides access to an already completed task. A completed task can be useful for using ContinueWith overloads where there aren't StartNew equivalents. Gets a completed Task. Provides access to an already completed task. A completed task can be useful for using ContinueWith overloads where there aren't StartNew equivalents. Initializes a Task. Gets a completed Task. Parallel extensions for the Delegate class. Dynamically invokes (late-bound) in parallel the methods represented by the delegate. The delegate to be invoked. An array of objects that are the arguments to pass to the delegates. The return value of one of the delegate invocations. Provides a delegate that runs the specified action and fails fast if the action throws an exception. The action to invoke. The wrapper delegate. Provides a delegate that runs the specified function and fails fast if the function throws an exception. The function to invoke. The wrapper delegate. Extension methods for working with Ping asynchronously. Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message. The Ping. An IPAddress that identifies the computer that is the destination for the ICMP echo message. A user-defined object stored in the resulting Task. A task that represents the asynchronous operation. Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message. The Ping. A String that identifies the computer that is the destination for the ICMP echo message. The value specified for this parameter can be a host name or a string representation of an IP address. A user-defined object stored in the resulting Task. A task that represents the asynchronous operation. Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message. The Ping. An IPAddress that identifies the computer that is the destination for the ICMP echo message. An Int32 value that specifies the maximum number of milliseconds (after sending the echo message) to wait for the ICMP echo reply message. A user-defined object stored in the resulting Task. A task that represents the asynchronous operation. Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message. The Ping. A String that identifies the computer that is the destination for the ICMP echo message. The value specified for this parameter can be a host name or a string representation of an IP address. An Int32 value that specifies the maximum number of milliseconds (after sending the echo message) to wait for the ICMP echo reply message. A user-defined object stored in the resulting Task. A task that represents the asynchronous operation. Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message. The Ping. An IPAddress that identifies the computer that is the destination for the ICMP echo message. An Int32 value that specifies the maximum number of milliseconds (after sending the echo message) to wait for the ICMP echo reply message. A Byte array that contains data to be sent with the ICMP echo message and returned in the ICMP echo reply message. The array cannot contain more than 65,500 bytes. A user-defined object stored in the resulting Task. A task that represents the asynchronous operation. Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message. The Ping. A String that identifies the computer that is the destination for the ICMP echo message. The value specified for this parameter can be a host name or a string representation of an IP address. An Int32 value that specifies the maximum number of milliseconds (after sending the echo message) to wait for the ICMP echo reply message. A Byte array that contains data to be sent with the ICMP echo message and returned in the ICMP echo reply message. The array cannot contain more than 65,500 bytes. A user-defined object stored in the resulting Task. A task that represents the asynchronous operation. Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message. The Ping. An IPAddress that identifies the computer that is the destination for the ICMP echo message. An Int32 value that specifies the maximum number of milliseconds (after sending the echo message) to wait for the ICMP echo reply message. A Byte array that contains data to be sent with the ICMP echo message and returned in the ICMP echo reply message. The array cannot contain more than 65,500 bytes. A PingOptions object used to control fragmentation and Time-to-Live values for the ICMP echo message packet. A user-defined object stored in the resulting Task. A task that represents the asynchronous operation. Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message. The Ping. A String that identifies the computer that is the destination for the ICMP echo message. The value specified for this parameter can be a host name or a string representation of an IP address. An Int32 value that specifies the maximum number of milliseconds (after sending the echo message) to wait for the ICMP echo reply message. A Byte array that contains data to be sent with the ICMP echo message and returned in the ICMP echo reply message. The array cannot contain more than 65,500 bytes. A PingOptions object used to control fragmentation and Time-to-Live values for the ICMP echo message packet. A user-defined object stored in the resulting Task. A task that represents the asynchronous operation. The core implementation of SendTask. The Ping. A user-defined object stored in the resulting Task. A delegate that initiates the asynchronous send. The provided TaskCompletionSource must be passed as the user-supplied state to the actual Ping.SendAsync method. Extension methods for working with SmtpClient asynchronously. Sends an e-mail message asynchronously. The client. A MailMessage that contains the message to send. A user-defined object stored in the resulting Task. A Task that represents the asynchronous send. Sends an e-mail message asynchronously. The client. A String that contains the address information of the message sender. A String that contains the address that the message is sent to. A String that contains the subject line for the message. A String that contains the message body. A user-defined object stored in the resulting Task. A Task that represents the asynchronous send. The core implementation of SendTask. The client. The user-supplied state. A delegate that initiates the asynchronous send. The provided TaskCompletionSource must be passed as the user-supplied state to the actual SmtpClient.SendAsync method. Extension methods for working with WebClient asynchronously. Downloads the resource with the specified URI as a byte array, asynchronously. The WebClient. The URI from which to download data. A Task that contains the downloaded data. Downloads the resource with the specified URI as a byte array, asynchronously. The WebClient. The URI from which to download data. A Task that contains the downloaded data. Downloads the resource with the specified URI to a local file, asynchronously. The WebClient. The URI from which to download data. The name of the local file that is to receive the data. A Task that contains the downloaded data. Downloads the resource with the specified URI to a local file, asynchronously. The WebClient. The URI from which to download data. The name of the local file that is to receive the data. A Task that contains the downloaded data. Downloads the resource with the specified URI as a string, asynchronously. The WebClient. The URI from which to download data. A Task that contains the downloaded string. Downloads the resource with the specified URI as a string, asynchronously. The WebClient. The URI from which to download data. A Task that contains the downloaded string. Opens a readable stream for the data downloaded from a resource, asynchronously. The WebClient. The URI for which the stream should be opened. A Task that contains the opened stream. Opens a readable stream for the data downloaded from a resource, asynchronously. The WebClient. The URI for which the stream should be opened. A Task that contains the opened stream. Opens a writeable stream for uploading data to a resource, asynchronously. The WebClient. The URI for which the stream should be opened. The HTTP method that should be used to open the stream. A Task that contains the opened stream. Opens a writeable stream for uploading data to a resource, asynchronously. The WebClient. The URI for which the stream should be opened. The HTTP method that should be used to open the stream. A Task that contains the opened stream. Uploads data to the specified resource, asynchronously. The WebClient. The URI to which the data should be uploaded. The HTTP method that should be used to upload the data. The data to upload. A Task containing the data in the response from the upload. Uploads data to the specified resource, asynchronously. The WebClient. The URI to which the data should be uploaded. The HTTP method that should be used to upload the data. The data to upload. A Task containing the data in the response from the upload. Uploads a file to the specified resource, asynchronously. The WebClient. The URI to which the file should be uploaded. The HTTP method that should be used to upload the file. A path to the file to upload. A Task containing the data in the response from the upload. Uploads a file to the specified resource, asynchronously. The WebClient. The URI to which the file should be uploaded. The HTTP method that should be used to upload the file. A path to the file to upload. A Task containing the data in the response from the upload. Uploads data in a string to the specified resource, asynchronously. The WebClient. The URI to which the data should be uploaded. The HTTP method that should be used to upload the data. The data to upload. A Task containing the data in the response from the upload. Uploads data in a string to the specified resource, asynchronously. The WebClient. The URI to which the data should be uploaded. The HTTP method that should be used to upload the data. The data to upload. A Task containing the data in the response from the upload. Extension methods for IProducerConsumerCollection. Clears the collection by repeatedly taking elements until it's empty. Specifies the type of the elements in the collection. The collection to be cleared. Creates an enumerable which will consume and return elements from the collection. Specifies the type of the elements in the collection. The collection to be consumed. An enumerable that consumes elements from the collection and returns them. Adds the contents of an enumerable to the collection. Specifies the type of the elements in the collection. The target collection to be augmented. The source enumerable containing the data to be added. Adds the contents of an observable to the collection. Specifies the type of the elements in the collection. The target collection to be augmented. The source observable containing the data to be added. An IDisposable that may be used to cancel the transfer. Creates an add-only facade for the collection. Specifies the type of the elements in the collection. The collection to be wrapped. An IProducerConsumerCollection that wraps the target collection and supports only add functionality, not take. Creates a take-only facade for the collection. Specifies the type of the elements in the collection. The collection to be wrapped. An IProducerConsumerCollection that wraps the target collection and supports only take functionality, not add. Extension methods for Lazy. Forces value creation of a Lazy instance. Specifies the type of the value being lazily initialized. The Lazy instance. The initialized Lazy instance. Retrieves the value of a Lazy asynchronously. Specifies the type of the value being lazily initialized. The Lazy instance. A Task representing the Lazy's value. Creates a Lazy that's already been initialized to a specified value. The type of the data to be initialized. The value with which to initialize the Lazy instance. The initialized Lazy. Provides LINQ support for Tasks by implementing the primary standard query operators. Represents a grouping of one element. The type of the key for the element. The type of the element. Provides a grouping for common Parallel LINQ options. Gets or sets the execution mode. Gets or sets the merge options. Gets or sets whether the query should retain ordering. Extension methods for ParallelOptions. Copies a ParallelOptions instance to a shallow clone. The options to be cloned. The shallow clone. Extension methods for Parallel LINQ. Takes the top elements as if they were sorted. Specifies the type of the elements. Specifies the type of the keys used to compare elements. The source elements. A function used to extract a key from each element. The number of elements to take. Implements a map-reduce operation. Specifies the type of the source elements. Specifies the type of the mapped elements. Specifies the type of the element keys. Specifies the type of the results. The source elements. A function used to get the target data from a source element. A function used to get a key from the target data. A function used to reduce a group of elements. The result elements of the reductions. Implements a map-reduce operation. Specifies the type of the source elements. Specifies the type of the mapped elements. Specifies the type of the element keys. Specifies the type of the results. The source elements. A function used to get an enumerable of target data from a source element. A function used to get a key from target data. A function used to reduce a group of elements to an enumerable of results. The result elements of the reductions. Runs the query and outputs its results into the target collection. Specifies the type of elements output from the query. The source query. The target collection. This is the method to opt into Parallel LINQ. Specifies the type of elements provided to the query. The source query. The options to use for query processing. The source as a ParallelQuery to bind to ParallelEnumerable extension methods. A comparer that comparers using the inverse of the default comparer. Specifies the type being compared. Extension methods for TaskCompletionSource. Transfers the result of a Task to the TaskCompletionSource. Specifies the type of the result. The TaskCompletionSource. The task whose completion results should be transfered. Transfers the result of a Task to the TaskCompletionSource. Specifies the type of the result. The TaskCompletionSource. The task whose completion results should be transfered. Attempts to transfer the result of a Task to the TaskCompletionSource. Specifies the type of the result. The TaskCompletionSource. The task whose completion results should be transfered. Whether the transfer could be completed. Attempts to transfer the result of a Task to the TaskCompletionSource. Specifies the type of the result. The TaskCompletionSource. The task whose completion results should be transfered. Whether the transfer could be completed. Extensions methods for Task. Creates a continuation task using the specified TaskFactory. The antecedent Task. The continuation action. The TaskFactory. A continuation task. Creates a continuation task using the specified TaskFactory. The antecedent Task. The continuation function. The TaskFactory. A continuation task. Creates a continuation task using the specified TaskFactory. The antecedent Task. The continuation action. The TaskFactory. A continuation task. Creates a continuation task using the specified TaskFactory. The antecedent Task. The continuation function. The TaskFactory. A continuation task. Creates a Task that represents the completion of another Task, and that schedules an AsyncCallback to run upon completion. The antecedent Task. The AsyncCallback to run. The object state to use with the AsyncCallback. The new task. Creates a Task that represents the completion of another Task, and that schedules an AsyncCallback to run upon completion. The antecedent Task. The AsyncCallback to run. The object state to use with the AsyncCallback. The new task. Suppresses default exception handling of a Task that would otherwise reraise the exception on the finalizer thread. The Task to be monitored. The original Task. Suppresses default exception handling of a Task that would otherwise reraise the exception on the finalizer thread. The Task to be monitored. The original Task. Fails immediately when an exception is encountered. The Task to be monitored. The original Task. Fails immediately when an exception is encountered. The Task to be monitored. The original Task. Propagates any exceptions that occurred on the specified task. The Task whose exceptions are to be propagated. Propagates any exceptions that occurred on the specified tasks. The Task whose exceptions are to be propagated. Creates an IObservable that represents the completion of a Task. Specifies the type of data returned by the Task. The Task to be represented as an IObservable. An IObservable that represents the completion of the Task. Creates a new Task that mirrors the supplied task but that will be canceled after the specified timeout. The task. The timeout. The new Task that may time out. Creates a new Task that mirrors the supplied task but that will be canceled after the specified timeout. Specifies the type of data contained in the task. The task. The timeout. The new Task that may time out. Ensures that a parent task can't transition into a completed state until the specified task has also completed, even if it's not already a child task. The task to attach to the current task as a child. Waits for the task to complete execution, pumping in the meantime. The task for which to wait. This method is intended for usage with Windows Presentation Foundation. Waits for the task to complete execution, pumping in the meantime. The task for which to wait. This method is intended for usage with Windows Presentation Foundation. Waits for the task to complete execution, returning the task's final status. The task for which to wait. The completion status of the task. Unlike Wait, this method will not throw an exception if the task ends in the Faulted or Canceled state. Creates a task that represents the completion of a follow-up action when a task completes. The task. The action to run when the task completes. The task that represents the completion of both the task and the action. Creates a task that represents the completion of a follow-up function when a task completes. The task. The function to run when the task completes. The task that represents the completion of both the task and the function. Creates a task that represents the completion of a follow-up action when a task completes. The task. The action to run when the task completes. The task that represents the completion of both the task and the action. Creates a task that represents the completion of a follow-up function when a task completes. The task. The function to run when the task completes. The task that represents the completion of both the task and the function. Creates a task that represents the completion of a second task when a first task completes. The first task. The function that produces the second task. The task that represents the completion of both the first and second task. Creates a task that represents the completion of a second task when a first task completes. The first task. The function that produces the second task based on the result of the first task. The task that represents the completion of both the first and second task. Creates a task that represents the completion of a second task when a first task completes. The first task. The function that produces the second task. The task that represents the completion of both the first and second task. Creates a task that represents the completion of a second task when a first task completes. The first task. The function that produces the second task based on the result of the first. The task that represents the completion of both the first and second task. An implementation of IObservable that wraps a Task. The type of data returned by the task. Translate a call to IDisposable.Dispose to a CancellationTokenSource.Cancel. Extensions for TaskFactory. Extensions for TaskFactory. Extensions for TaskFactory. Creates a generic TaskFactory from a non-generic one. Specifies the type of Task results for the Tasks created by the new TaskFactory. The TaskFactory to serve as a template. The created TaskFactory. Creates a generic TaskFactory from a non-generic one. Specifies the type of Task results for the Tasks created by the new TaskFactory. The TaskFactory to serve as a template. The created TaskFactory. Gets the TaskScheduler instance that should be used to schedule tasks. Gets the TaskScheduler instance that should be used to schedule tasks. Converts TaskCreationOptions into TaskContinuationOptions. Creates a continuation Task that will compplete upon the completion of a set of provided Tasks. The TaskFactory to use to create the continuation task. The array of tasks from which to continue. A task that, when completed, will return the array of completed tasks. Creates a continuation Task that will compplete upon the completion of a set of provided Tasks. The TaskFactory to use to create the continuation task. The array of tasks from which to continue. A task that, when completed, will return the array of completed tasks. Creates a continuation Task that will complete upon the completion of any one of a set of provided Tasks. The TaskFactory to use to create the continuation task. The array of tasks from which to continue. A task that, when completed, will return the completed task. Creates a continuation Task that will complete upon the completion of any one of a set of provided Tasks. The TaskFactory to use to create the continuation task. The array of tasks from which to continue. A task that, when completed, will return the completed task. Creates a Task using the TaskFactory. The factory to use. The delegate for the task. The created task. The task has not been scheduled. Creates a Task using the TaskFactory. The factory to use. The delegate for the task. Options that control the task's behavior. The created task. The task has not been scheduled. Creates a Task using the TaskFactory. The factory to use. The delegate for the task. An object provided to the delegate. The created task. The task has not been scheduled. Creates a Task using the TaskFactory. The factory to use. The delegate for the task. An object provided to the delegate. Options that control the task's behavior. The created task. The task has not been scheduled. Creates a Task using the TaskFactory. The factory to use. The delegate for the task. The created task. The task has not been scheduled. Creates a Task using the TaskFactory. The factory to use. The delegate for the task. Options that control the task's behavior. The created task. The task has not been scheduled. Creates a Task using the TaskFactory. The factory to use. The delegate for the task. An object provided to the delegate. The created task. The task has not been scheduled. Creates a Task using the TaskFactory. The factory to use. The delegate for the task. An object provided to the delegate. Options that control the task's behavior. The created task. The task has not been scheduled. Creates a Task using the TaskFactory. The factory to use. The delegate for the task. The created task. The task has not been scheduled. Creates a Task using the TaskFactory. The factory to use. The delegate for the task. Options that control the task's behavior. The created task. The task has not been scheduled. Creates a Task using the TaskFactory. The factory to use. The delegate for the task. An object provided to the delegate. The created task. The task has not been scheduled. Creates a Task using the TaskFactory. The factory to use. The delegate for the task. An object provided to the delegate. Options that control the task's behavior. The created task. The task has not been scheduled. Creates a Task that will complete after the specified delay. The TaskFactory. The delay after which the Task should transition to RanToCompletion. A Task that will be completed after the specified duration. Creates a Task that will complete after the specified delay. The TaskFactory. The delay after which the Task should transition to RanToCompletion. The cancellation token that can be used to cancel the timed task. A Task that will be completed after the specified duration and that's cancelable with the specified token. Creates and schedules a task for execution after the specified time delay. The factory to use to create the task. The delay after which the task will be scheduled. The delegate executed by the task. The created Task. Creates and schedules a task for execution after the specified time delay. The factory to use to create the task. The delay after which the task will be scheduled. The delegate executed by the task. Options that control the task's behavior. The created Task. Creates and schedules a task for execution after the specified time delay. The factory to use to create the task. The delay after which the task will be scheduled. The delegate executed by the task. The cancellation token to assign to the created Task. The created Task. Creates and schedules a task for execution after the specified time delay. The factory to use to create the task. The delay after which the task will be scheduled. The delegate executed by the task. The cancellation token to assign to the created Task. Options that control the task's behavior. The scheduler to which the Task will be scheduled. The created Task. Creates and schedules a task for execution after the specified time delay. The factory to use to create the task. The delay after which the task will be scheduled. The delegate executed by the task. An object provided to the delegate. The created Task. Creates and schedules a task for execution after the specified time delay. The factory to use to create the task. The delay after which the task will be scheduled. The delegate executed by the task. An object provided to the delegate. Options that control the task's behavior. The created Task. Creates and schedules a task for execution after the specified time delay. The factory to use to create the task. The delay after which the task will be scheduled. The delegate executed by the task. An object provided to the delegate. The cancellation token to assign to the created Task. The created Task. Creates and schedules a task for execution after the specified time delay. The factory to use to create the task. The delay after which the task will be scheduled. The delegate executed by the task. An object provided to the delegate. The cancellation token to assign to the created Task. Options that control the task's behavior. The scheduler to which the Task will be scheduled. The created Task. Creates and schedules a task for execution after the specified time delay. The factory to use to create the task. The delay after which the task will be scheduled. The delegate executed by the task. The created Task. Creates and schedules a task for execution after the specified time delay. The factory to use to create the task. The delay after which the task will be scheduled. The delegate executed by the task. Options that control the task's behavior. The created Task. Creates and schedules a task for execution after the specified time delay. The factory to use to create the task. The delay after which the task will be scheduled. The delegate executed by the task. The CancellationToken to assign to the Task. The created Task. Creates and schedules a task for execution after the specified time delay. The factory to use to create the task. The delay after which the task will be scheduled. The delegate executed by the task. The CancellationToken to assign to the Task. Options that control the task's behavior. The scheduler to which the Task will be scheduled. The created Task. Creates and schedules a task for execution after the specified time delay. The factory to use to create the task. The delay after which the task will be scheduled. The delegate executed by the task. An object provided to the delegate. The created Task. Creates and schedules a task for execution after the specified time delay. The factory to use to create the task. The delay after which the task will be scheduled. The delegate executed by the task. An object provided to the delegate. The CancellationToken to assign to the Task. The created Task. Creates and schedules a task for execution after the specified time delay. The factory to use to create the task. The delay after which the task will be scheduled. The delegate executed by the task. An object provided to the delegate. Options that control the task's behavior. The created Task. Creates and schedules a task for execution after the specified time delay. The factory to use to create the task. The delay after which the task will be scheduled. The delegate executed by the task. An object provided to the delegate. The CancellationToken to assign to the Task. Options that control the task's behavior. The scheduler to which the Task will be scheduled. The created Task. Creates a Task that has completed in the Faulted state with the specified exception. The target TaskFactory. The exception with which the Task should fault. The completed Task. Creates a Task that has completed in the Faulted state with the specified exception. Specifies the type of payload for the new Task. The target TaskFactory. The exception with which the Task should fault. The completed Task. Creates a Task that has completed in the RanToCompletion state with the specified result. Specifies the type of payload for the new Task. The target TaskFactory. The result with which the Task should complete. The completed Task. Creates a Task that has completed in the Canceled state with the specified CancellationToken. The target TaskFactory. The CancellationToken with which the Task should complete. The completed Task. Creates a Task that has completed in the Canceled state with the specified CancellationToken. Specifies the type of payload for the new Task. The target TaskFactory. The CancellationToken with which the Task should complete. The completed Task. Creates a Task that has completed in the Faulted state with the specified exception. The target TaskFactory. The exception with which the Task should fault. The completed Task. Creates a Task that has completed in the RanToCompletion state with the specified result. Specifies the type of payload for the new Task. The target TaskFactory. The result with which the Task should complete. The completed Task. Creates a Task that has completed in the Canceled state with the specified CancellationToken. Specifies the type of payload for the new Task. The target TaskFactory. The CancellationToken with which the Task should complete. The completed Task. Creates a Task that will be completed when the specified WaitHandle is signaled. The target factory. The WaitHandle. The created Task. Asynchronously iterates through an enumerable of tasks. The target factory. The enumerable containing the tasks to be iterated through. A Task that represents the complete asynchronous operation. Asynchronously iterates through an enumerable of tasks. The target factory. The enumerable containing the tasks to be iterated through. The cancellation token used to cancel the iteration. A Task that represents the complete asynchronous operation. Asynchronously iterates through an enumerable of tasks. The target factory. The enumerable containing the tasks to be iterated through. Options that control the task's behavior. A Task that represents the complete asynchronous operation. Asynchronously iterates through an enumerable of tasks. The target factory. The enumerable containing the tasks to be iterated through. The scheduler to which tasks will be scheduled. A Task that represents the complete asynchronous operation. Asynchronously iterates through an enumerable of tasks. The target factory. The enumerable containing the tasks to be iterated through. The cancellation token used to cancel the iteration. Options that control the task's behavior. The scheduler to which tasks will be scheduled. A Task that represents the complete asynchronous operation. Asynchronously iterates through an enumerable of tasks. The target factory. The enumerable containing the tasks to be iterated through. The asynchronous state for the returned Task. A Task that represents the complete asynchronous operation. Asynchronously iterates through an enumerable of tasks. The target factory. The enumerable containing the tasks to be iterated through. The asynchronous state for the returned Task. The cancellation token used to cancel the iteration. A Task that represents the complete asynchronous operation. Asynchronously iterates through an enumerable of tasks. The target factory. The enumerable containing the tasks to be iterated through. The asynchronous state for the returned Task. Options that control the task's behavior. A Task that represents the complete asynchronous operation. Asynchronously iterates through an enumerable of tasks. The target factory. The enumerable containing the tasks to be iterated through. The asynchronous state for the returned Task. The scheduler to which tasks will be scheduled. A Task that represents the complete asynchronous operation. Asynchronously iterates through an enumerable of tasks. The target factory. The enumerable containing the tasks to be iterated through. The asynchronous state for the returned Task. The cancellation token used to cancel the iteration. Options that control the task's behavior. The scheduler to which tasks will be scheduled. A Task that represents the complete asynchronous operation. Asynchronously executes a sequence of tasks, maintaining a list of all tasks processed. The TaskFactory to use to create the task. The functions that generate the tasks through which to iterate sequentially. Iteration will cease if a task faults. A Task that will return the list of tracked tasks iterated. Creates the enumerable to iterate through with Iterate. The functions that generate the tasks through which to iterate sequentially. Iteration will cease if a task faults. The TaskCompletionSource to resolve with the asynchronous results. The enumerable through which to iterate. A cache of delegates. The result type. Function that returns default(TResult). Extension methods for TaskScheduler. Gets a SynchronizationContext that targets this TaskScheduler. The target scheduler. A SynchronizationContext that targets this scheduler. Provides a SynchronizationContext wrapper for a TaskScheduler. The scheduler. Initializes the context with the specified scheduler. The scheduler to target. Dispatches an asynchronous message to the synchronization context. The System.Threading.SendOrPostCallback delegate to call. The object passed to the delegate. Dispatches a synchronous message to the synchronization context. The System.Threading.SendOrPostCallback delegate to call. The object passed to the delegate. Provides parallelized algorithms for common operations. Filters an input list, running a predicate over each element of the input. Specifies the type of data in the list. The list to be filtered. The predicate to use to determine which elements pass. A new list containing all those elements from the input that passed the filter. Filters an input list, running a predicate over each element of the input. Specifies the type of data in the list. The list to be filtered. Options to use for the execution of this filter. The predicate to use to determine which elements pass. A new list containing all those elements from the input that passed the filter. Executes a for loop in which iterations may run in parallel. The start index, inclusive. The end index, exclusive. The delegate that is invoked once per iteration. Executes a for loop in which iterations may run in parallel. The start index, inclusive. The end index, exclusive. A System.Threading.Tasks.ParallelOptions instance that configures the behavior of this operation. The delegate that is invoked once per iteration. Creates an enumerable that iterates the range [fromInclusive, toExclusive). The lower bound, inclusive. The upper bound, exclusive. The enumerable of the range. Executes a for loop over ranges in which iterations may run in parallel. The start index, inclusive. The end index, exclusive. The delegate that is invoked once per range. A ParallelLoopResult structure that contains information on what portion of the loop completed. Executes a for loop over ranges in which iterations may run in parallel. The start index, inclusive. The end index, exclusive. The delegate that is invoked once per range. A ParallelLoopResult structure that contains information on what portion of the loop completed. Executes a for loop over ranges in which iterations may run in parallel. The start index, inclusive. The end index, exclusive. The function delegate that returns the initial state of the local data for each thread. The delegate that is invoked once per range. The delegate that performs a final action on the local state of each thread. A ParallelLoopResult structure that contains information on what portion of the loop completed. Executes a for loop over ranges in which iterations may run in parallel. The start index, inclusive. The end index, exclusive. The delegate that is invoked once per range. A ParallelLoopResult structure that contains information on what portion of the loop completed. Executes a for loop over ranges in which iterations may run in parallel. The start index, inclusive. The end index, exclusive. The delegate that is invoked once per range. A ParallelLoopResult structure that contains information on what portion of the loop completed. Executes a for loop over ranges in which iterations may run in parallel. The start index, inclusive. The end index, exclusive. The function delegate that returns the initial state of the local data for each thread. The delegate that is invoked once per range. The delegate that performs a final action on the local state of each thread. A ParallelLoopResult structure that contains information on what portion of the loop completed. Executes a for loop over ranges in which iterations may run in parallel. The start index, inclusive. The end index, exclusive. A ParallelOptions instance that configures the behavior of this operation. The delegate that is invoked once per range. A ParallelLoopResult structure that contains information on what portion of the loop completed. Executes a for loop over ranges in which iterations may run in parallel. The start index, inclusive. The end index, exclusive. A ParallelOptions instance that configures the behavior of this operation. The delegate that is invoked once per range. A ParallelLoopResult structure that contains information on what portion of the loop completed. Executes a for loop over ranges in which iterations may run in parallel. The start index, inclusive. The end index, exclusive. The function delegate that returns the initial state of the local data for each thread. The delegate that is invoked once per range. The delegate that performs a final action on the local state of each thread. A ParallelLoopResult structure that contains information on what portion of the loop completed. Executes a for loop over ranges in which iterations may run in parallel. The start index, inclusive. The end index, exclusive. A ParallelOptions instance that configures the behavior of this operation. The delegate that is invoked once per range. A ParallelLoopResult structure that contains information on what portion of the loop completed. Executes a for loop over ranges in which iterations may run in parallel. The start index, inclusive. The end index, exclusive. A ParallelOptions instance that configures the behavior of this operation. The delegate that is invoked once per range. A ParallelLoopResult structure that contains information on what portion of the loop completed. Executes a for loop over ranges in which iterations may run in parallel. The start index, inclusive. The end index, exclusive. The function delegate that returns the initial state of the local data for each thread. The delegate that is invoked once per range. The delegate that performs a final action on the local state of each thread. A ParallelLoopResult structure that contains information on what portion of the loop completed. Executes a map operation, converting an input list into an output list, in parallel. Specifies the type of the input data. Specifies the type of the output data. The input list to be mapped used the transform function. The transform function to use to map the input data to the output data. The output data, transformed using the transform function. Executes a map operation, converting an input list into an output list, in parallel. Specifies the type of the input data. Specifies the type of the output data. The input list to be mapped used the transform function. A ParallelOptions instance that configures the behavior of this operation. The transform function to use to map the input data to the output data. The output data, transformed using the transform function. Reduces the input data using the specified aggregation operation. Specifies the type of data being aggregated. The input data to be reduced. The seed to use to initialize the operation; this seed may be used multiple times. The reduction operation. The reduced value. Reduces the input data using the specified aggregation operation. Specifies the type of data being aggregated. The input data to be reduced. A ParallelOptions instance that configures the behavior of this operation. The seed to use to initialize the operation; this seed may be used multiple times. The reduction operation. The reduced value. Reduces the input range using the specified aggregation operation. Specifies the type of data being aggregated. The start index, inclusive. The end index, exclusive. The function used to retrieve the data to be reduced for a given index. The seed to use to initialize the operation; this seed may be used multiple times. The reduction operation. The reduced value. Reduces the input range using the specified aggregation operation. Specifies the type of data being aggregated. The start index, inclusive. The end index, exclusive. A ParallelOptions instance that configures the behavior of this operation. The function used to retrieve the data to be reduced for a given index. The seed to use to initialize the operation; this seed may be used multiple times. The reduction operation. The reduced value. Computes a parallel prefix scan over the source enumerable using the specified function. The type of the data in the source. The source data over which a prefix scan should be computed. The function to use for the scan. The results of the scan operation. For very small functions, such as additions, an implementation targeted at the relevant type and operation will perform significantly better than this generalized implementation. Computes a parallel prefix scan over the source enumerable using the specified function. The type of the data in the source. The source data over which a prefix scan should be computed. The function to use for the scan. Whether to load-balance during process. The results of the scan operation. For very small functions, such as additions, an implementation targeted at the relevant type and operation will perform significantly better than this generalized implementation. Computes a parallel prefix scan in-place on an array using the specified function. The type of the data in the source. The data over which a prefix scan should be computed. Upon exit, stores the results. The function to use for the scan. The results of the scan operation. For very small functions, such as additions, an implementation targeted at the relevant type and operation will perform significantly better than this generalized implementation. Computes a parallel prefix scan in-place on an array using the specified function. The type of the data in the source. The data over which a prefix scan should be computed. Upon exit, stores the results. The function to use for the scan. Whether to load-balance during process. The results of the scan operation. For very small functions, such as additions, an implementation targeted at the relevant type and operation will perform significantly better than this generalized implementation. Computes a sequential prefix scan over the array using the specified function. The type of the data in the array. The data, which will be overwritten with the computed prefix scan. The function to use for the scan. The start of the data in arr over which the scan is being computed. The length of the data in arr over which the scan is being computed. The inclusive distance between elements over which the scan is being computed. No parameter validation is performed. Computes a sequential exclusive prefix scan over the array using the specified function. The data, which will be overwritten with the computed prefix scan. The function to use for the scan. The inclusive lower bound of the array at which to start the scan. The exclusive upper bound of the array at which to end the scan. Computes a parallel prefix scan over the array using the specified function. The type of the data in the array. The data, which will be overwritten with the computed prefix scan. The function to use for the scan. The start of the data in arr over which the scan is being computed. The length of the data in arr over which the scan is being computed. The inclusive distance between elements over which the scan is being computed. No parameter validation is performed. Computes a parallel inclusive prefix scan over the array using the specified function. Sorts an array in parallel. Specifies the type of data in the array. The array to be sorted. Sorts an array in parallel. Specifies the type of data in the array. The array to be sorted. The comparer used to compare two elements during the sort operation. Sorts an array in parallel. Specifies the type of data in the array. The array to be sorted. The index at which to start the sort, inclusive. The number of elements to be sorted, starting at the start index. Sorts an array in parallel. Specifies the type of data in the array. The array to be sorted. The index at which to start the sort, inclusive. The number of elements to be sorted, starting at the start index. The comparer used to compare two elements during the sort operation. Sorts key/value arrays in parallel. Specifies the type of the data in the keys array. Specifies the type of the data in the items array. The keys to be sorted. The items to be sorted based on the corresponding keys. Sorts key/value arrays in parallel. Specifies the type of the data in the keys array. Specifies the type of the data in the items array. The keys to be sorted. The items to be sorted based on the corresponding keys. The comparer used to compare two elements during the sort operation. Sorts key/value arrays in parallel. Specifies the type of the data in the keys array. Specifies the type of the data in the items array. The keys to be sorted. The items to be sorted based on the corresponding keys. The index at which to start the sort, inclusive. The number of elements to be sorted, starting at the start index. Sorts key/value arrays in parallel. Specifies the type of the data in the keys array. Specifies the type of the data in the items array. The keys to be sorted. The items to be sorted based on the corresponding keys. The index at which to start the sort, inclusive. The number of elements to be sorted, starting at the start index. The comparer used to compare two elements during the sort operation. Executes a function for each value in a range, returning the first result achieved and ceasing execution. The type of the data returned. The start of the range, inclusive. The end of the range, exclusive. The function to execute for each element. The result computed. Executes a function for each value in a range, returning the first result achieved and ceasing execution. The type of the data returned. The start of the range, inclusive. The end of the range, exclusive. The options to use for processing the loop. The function to execute for each element. The result computed. Executes a function for each element in a source, returning the first result achieved and ceasing execution. The type of the data in the source. The type of the data returned. The input elements to be processed. The function to execute for each element. The result computed. Executes a function for each element in a source, returning the first result achieved and ceasing execution. The type of the data in the source. The type of the data returned. The input elements to be processed. The options to use for processing the loop. The function to execute for each element. The result computed. Invokes the specified functions, potentially in parallel, canceling outstanding invocations once one completes. Specifies the type of data returned by the functions. The functions to be executed. A result from executing one of the functions. Invokes the specified functions, potentially in parallel, canceling outstanding invocations once one completes. Specifies the type of data returned by the functions. The options to use for the execution. The functions to be executed. A result from executing one of the functions. Process in parallel a matrix where every cell has a dependency on the cell above it and to its left. The number of rows in the matrix. The number of columns in the matrix. Partition the matrix into this number of blocks along the rows. Partition the matrix into this number of blocks along the columns. The action to invoke for every block, supplied with the start and end indices of the rows and columns. Process in parallel a matrix where every cell has a dependency on the cell above it and to its left. The number of rows in the matrix. The number of columns in the matrix. The action to invoke for every cell, supplied with the row and column indices. Repeatedly executes an operation in parallel while the specified condition evaluates to true. The condition to evaluate. The loop body. Repeatedly executes an operation in parallel while the specified condition evaluates to true. A ParallelOptions instance that configures the behavior of this operation. The condition to evaluate. The loop body. Processes data in parallel, allowing the processing function to add more data to be processed. Specifies the type of data being processed. The initial set of data to be processed. The operation to execute for each value. Processes data in parallel, allowing the processing function to add more data to be processed. Specifies the type of data being processed. A ParallelOptions instance that configures the behavior of this operation. The initial set of data to be processed. The operation to execute for each value. Partitions an enumerable into chunks based on user-supplied criteria. Creates a partitioner that chooses the next chunk size based on a user-supplied function. The type of the data being partitioned. The data being partitioned. A function that determines the next chunk size based on the previous chunk size. A partitioner. Creates a partitioner that always uses a user-specified chunk size. The type of the data being partitioned. The data being partitioned. The chunk size to be used. A partitioner. Creates a partitioner that chooses chunk sizes between the user-specified min and max. The type of the data being partitioned. The data being partitioned. The minimum chunk size to use. The maximum chunk size to use. A partitioner. Partitions an enumerable into chunks based on user-supplied criteria. Partitions the underlying collection into the specified number of orderable partitions. The number of partitions to create. An object that can create partitions over the underlying data source. Creates an object that can partition the underlying collection into a variable number of partitions. An object that can create partitions over the underlying data source. Gets whether additional partitions can be created dynamically. Partitions a data source one item at a time. Creates a partitioner for an enumerable that partitions it one item at a time. Specifies the type of data contained in the enumerable. The source enumerable to be partitioned. The partitioner. Partitions an enumerable one item at a time. Specifies the type of data contained in the list. The enumerable to be partitioned. Initializes the partitioner. The enumerable to be partitioned. Gets a list of the specified static number of partitions. The list of created partitions ready to be iterated. Gets whether this partitioner supports dynamic partitioning (it does). Dynamically generates a partitions on a shared enumerator. The source enumerator shared amongst all partitions. The next available position to be yielded. The number of partitions remaining to be disposed, potentially including this dynamic generator. Whether this dynamic partitioner has been disposed. Initializes the dynamic generator. The enumerator shared by all partitions. Whether this generator will be disposed. Closes the shared enumerator if all other partitions have completed. Increments the number of partitions in use and returns a new partition. The new partition. Creates a partition. The new partition. Partitions a list one item at a time. Specifies the type of data contained in the list. The list to be partitioned. Initializes the partitioner. The list to be partitioned. Gets a list of the specified static number of partitions. The static number of partitions to create. The list of created partitions ready to be iterated. Creates a dynamic partitioner for creating a dynamic number of partitions. The dynamic partitioner. An enumerable that creates individual enumerators that all work together to partition the list. The list being partitioned. An integer shared between partitions denoting the next available index in the source. An enumerable that generates enumerators which participate in partitioning the list. Gets whether this partitioner supports dynamic partitioning (it does). Provides concurrent and exclusive task schedulers that coordinate. Synchronizes all activity in this type and its generated schedulers. The parallel options used by the asynchronous task and parallel loops. The scheduler used to queue and execute "reader" tasks that may run concurrently with other readers. The scheduler used to queue and execute "writer" tasks that must run exclusively while no other tasks for this interleave are running. Whether this interleave has queued its processing task. Whether the exclusive processing of a task should include all of its children as well. Initialies the ConcurrentExclusiveInterleave. Initialies the ConcurrentExclusiveInterleave. Whether the exclusive processing of a task should include all of its children as well. Initialies the ConcurrentExclusiveInterleave. The target scheduler on which this interleave should execute. Initialies the ConcurrentExclusiveInterleave. The target scheduler on which this interleave should execute. Whether the exclusive processing of a task should include all of its children as well. Notifies the interleave that new work has arrived to be processed. Must only be called while holding the lock. The body of the async processor to be run in a Task. Only one should be running at a time. This has been separated out into its own method to improve the Parallel Tasks window experience. Runs a concurrent task. The task to execute. This has been separated out into its own method to improve the Parallel Tasks window experience. Gets an enumerable that yields waiting concurrent tasks one at a time until either there are no more concurrent tasks or there are any exclusive tasks. Gets an enumerable that yields all of the exclusive tasks one at a time. Gets a TaskScheduler that can be used to schedule tasks to this interleave that may run concurrently with other tasks on this interleave. Gets a TaskScheduler that can be used to schedule tasks to this interleave that must run exclusively with regards to other tasks on this interleave. Gets the number of tasks waiting to run exclusively. Gets the number of tasks waiting to run concurrently. Provides a debug view for ConcurrentExclusiveInterleave. The interleave being debugged. Initializes the debug view. The interleave being debugged. Gets the number of tasks waiting to run concurrently. Gets a description of the processing task for debugging purposes. A scheduler shim used to queue tasks to the interleave and execute those tasks on request of the interleave. The parent interleave. The maximum concurrency level for the scheduler. Whether a Task is currently being processed on this thread. Initializes the scheduler. The parent interleave. The queue to store queued tasks into. Queues a task to the scheduler. The task to be queued. Executes a task on this scheduler. The task to be executed. Tries to execute the task synchronously on this scheduler. The task to execute. Whether the task was previously queued to the scheduler. true if the task could be executed; otherwise, false. Gets for debugging purposes the tasks scheduled to this scheduler. An enumerable of the tasks queued. Gets the maximum concurrency level this scheduler is able to support. Gets the queue of tasks for this scheduler. Provides a task scheduler that runs tasks on the current thread. Runs the provided Task synchronously on the current thread. The task to be executed. Runs the provided Task synchronously on the current thread. The task to be executed. Whether the Task was previously queued to the scheduler. True if the Task was successfully executed; otherwise, false. Gets the Tasks currently scheduled to this scheduler. An empty enumerable, as Tasks are never queued, only executed. Gets the maximum degree of parallelism for this scheduler. Provides a TaskScheduler that uses an I/O completion port for concurrency control. The queue of tasks to be scheduled. The I/O completion port to use for concurrency control. Whether the current thread is a scheduler thread. Event used to wait for all threads to shutdown. Initializes the IOCompletionPortTaskScheduler. The maximum number of threads in the scheduler to be executing concurrently. The number of threads to have available in the scheduler for executing tasks. Dispose of the scheduler. Gets a list of all tasks scheduled to this scheduler. An enumerable of all scheduled tasks. Queues a task to this scheduler for execution. The task to be executed. Try to execute a task on the current thread. The task to execute. Whether the task was previously queued to this scheduler. Whether the task was executed. Provides a simple managed wrapper for an I/O completion port. Infinite timeout value to use for GetQueuedCompletedStatus. An invalid file handle value. An invalid I/O completion port handle value. The I/O completion porth handle. Initializes the I/O completion port. The maximum concurrency level allowed by the I/O completion port. Clean up. Notify that I/O completion port that new work is available. Waits for an item on the I/O completion port. true if an item was available; false if the completion port closed before an item could be retrieved. Creates an input/output (I/O) completion port and associates it with a specified file handle, or creates an I/O completion port that is not yet associated with a file handle, allowing association at a later time. An open file handle or INVALID_HANDLE_VALUE. A handle to an existing I/O completion port or NULL. The per-handle user-defined completion key that is included in every I/O completion packet for the specified file handle. The maximum number of threads that the operating system can allow to concurrently process I/O completion packets for the I/O completion port. If the function succeeds, the return value is the handle to an I/O completion port. If the function fails, the return value is NULL. Attempts to dequeue an I/O completion packet from the specified I/O completion port. A handle to the completion port. A pointer to a variable that receives the number of bytes transferred during an I/O operation that has completed. A pointer to a variable that receives the completion key value associated with the file handle whose I/O operation has completed. A pointer to a variable that receives the address of the OVERLAPPED structure that was specified when the completed I/O operation was started. The number of milliseconds that the caller is willing to wait for a completion packet to appear at the completion port. Returns nonzero (TRUE) if successful or zero (FALSE) otherwise. Posts an I/O completion packet to an I/O completion port. A handle to the completion port. The value to be returned through the lpNumberOfBytesTransferred parameter of the GetQueuedCompletionStatus function. The value to be returned through the lpCompletionKey parameter of the GetQueuedCompletionStatus function. The value to be returned through the lpOverlapped parameter of the GetQueuedCompletionStatus function. If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. Provides a task scheduler that ensures a maximum concurrency level while running on top of the ThreadPool. Whether the current thread is processing work items. The list of tasks to be executed. The maximum concurrency level allowed by this scheduler. Whether the scheduler is currently processing work items. Initializes an instance of the LimitedConcurrencyLevelTaskScheduler class with the specified degree of parallelism. The maximum degree of parallelism provided by this scheduler. Queues a task to the scheduler. The task to be queued. Informs the ThreadPool that there's work to be executed for this scheduler. Attempts to execute the specified task on the current thread. The task to be executed. Whether the task could be executed on the current thread. Attempts to remove a previously scheduled task from the scheduler. The task to be removed. Whether the task could be found and removed. Gets an enumerable of the tasks currently scheduled on this scheduler. An enumerable of the tasks currently scheduled. Gets the maximum concurrency level supported by this scheduler. Provides a task scheduler that ensures only one task is executing at a time, and that tasks execute in the order that they were queued. Initializes an instance of the OrderedTaskScheduler class. Provides a TaskScheduler that provides control over priorities, fairness, and the underlying threads utilized. A sorted list of round-robin queue lists. Tasks with the smallest priority value are preferred. Priority groups are round-robin'd through in order of priority. Cancellation token used for disposal. The maximum allowed concurrency level of this scheduler. If custom threads are used, this represents the number of created threads. Whether we're processing tasks on the current thread. The scheduler onto which actual work is scheduled. The queue of tasks to process when using an underlying target scheduler. The number of Tasks that have been queued or that are running whiel using an underlying scheduler. The threads used by the scheduler to process work. The collection of tasks to be executed on our custom threads. Initializes the scheduler. Initializes the scheduler. The target underlying scheduler onto which this sceduler's work is queued. Initializes the scheduler. The target underlying scheduler onto which this sceduler's work is queued. The maximum degree of concurrency allowed for this scheduler's work. Initializes the scheduler. The number of threads to create and use for processing work items. Initializes the scheduler. The number of threads to create and use for processing work items. The name to use for each of the created threads. A Boolean value that indicates whether to use foreground threads instead of background. The priority to assign to each thread. The apartment state to use for each thread. The stack size to use for each thread. An initialization routine to run on each thread. A finalization routine to run on each thread. The dispatch loop run by all threads in this scheduler. An initialization routine to run when the thread begins. A finalization routine to run before the thread ends. Find the next task that should be executed, based on priorities and fairness and the like. The found task, or null if none was found. The scheduler associated with the found task. Due to security checks inside of TPL, this scheduler needs to be used to execute that task. Queues a task to the scheduler. The task to be queued. Process tasks one at a time in the best order. This should be run in a Task generated by QueueTask. It's been separated out into its own method to show up better in Parallel Tasks. Notifies the pool that there's a new item to be executed in one of the round-robin queues. Tries to execute a task synchronously on the current thread. The task to execute. Whether the task was previously queued. true if the task was executed; otherwise, false. Gets the tasks scheduled to this scheduler. An enumerable of all tasks queued to this scheduler. This does not include the tasks on sub-schedulers. Those will be retrieved by the debugger separately. Initiates shutdown of the scheduler. Creates and activates a new scheduling queue for this scheduler. The newly created and activated queue at priority 0. Creates and activates a new scheduling queue for this scheduler. The priority level for the new queue. The newly created and activated queue at the specified priority. Removes a scheduler from the group. The scheduler to be removed. Gets the number of queues currently activated. Gets the number of tasks currently scheduled. Gets the maximum concurrency level to use when processing tasks. Debug view for the QueuedTaskScheduler. The scheduler. Initializes the debug view. The scheduler. Gets all of the Tasks queued to the scheduler directly. Gets the prioritized and fair queues. A group of queues a the same priority level. The starting index for the next round-robin traversal. Creates a search order through this group. An enumerable of indices for this group. Provides a scheduling queue associatd with a QueuedTaskScheduler. The scheduler with which this pool is associated. The work items stored in this queue. Whether this queue has been disposed. Gets the priority for this queue. Initializes the queue. The priority associated with this queue. The scheduler with which this queue is associated. Gets the tasks scheduled to this scheduler. An enumerable of all tasks queued to this scheduler. Queues a task to the scheduler. The task to be queued. Tries to execute a task synchronously on the current thread. The task to execute. Whether the task was previously queued. true if the task was executed; otherwise, false. Runs the specified ask. The task to execute. Signals that the queue should be removed from the scheduler as soon as the queue is empty. Gets the number of tasks waiting in this scheduler. Gets the maximum concurrency level to use when processing tasks. A debug view for the queue. The queue. Initializes the debug view. The queue to be debugged. Gets the priority of this queue in its associated scheduler. Gets the ID of this scheduler. Gets all of the tasks scheduled to this queue. Gets the QueuedTaskScheduler with which this queue is associated. Provides a task scheduler that supports reprioritizing previously queued tasks. Queues a task to the scheduler. The task to be queued. Reprioritizes a previously queued task to the front of the queue. The task to be reprioritized. Whether the task could be found and moved to the front of the queue. Reprioritizes a previously queued task to the back of the queue. The task to be reprioritized. Whether the task could be found and moved to the back of the queue. Removes a previously queued item from the scheduler. The task to be removed. Whether the task could be removed from the scheduler. Picks up and executes the next item in the queue. Ignored. Executes the specified task inline. The task to be executed. Whether the task was previously queued. Whether the task could be executed inline. Gets all of the tasks currently queued to the scheduler. An enumerable of the tasks currently queued to the scheduler. Enables the creation of a group of schedulers that support round-robin scheduling for fairness. Creates a new scheduler as part of this group. The new scheduler. Removes a scheduler from the group. The scheduler to be removed. Notifies the ThreadPool that there's a new item to be executed. Gets a collection of all schedulers in this group. A scheduler that participates in round-robin scheduling. Provides a scheduler that uses STA threads. Stores the queued tasks to be executed by our pool of STA threads. The STA threads used by the scheduler. Initializes a new instance of the StaTaskScheduler class with the specified concurrency level. The number of threads that should be created and used by this scheduler. Queues a Task to be executed by this scheduler. The task to be executed. Provides a list of the scheduled tasks for the debugger to consume. An enumerable of all tasks currently scheduled. Determines whether a Task may be inlined. The task to be executed. Whether the task was previously queued. true if the task was successfully inlined; otherwise, false. Cleans up the scheduler by indicating that no more tasks will be queued. This method blocks until all threads successfully shutdown. Gets the maximum concurrency level supported by this scheduler. Provides a task scheduler that targets a specific SynchronizationContext. The queue of tasks to execute, maintained for debugging purposes. The target context under which to execute the queued tasks. Initializes an instance of the SynchronizationContextTaskScheduler class. Initializes an instance of the SynchronizationContextTaskScheduler class with the specified SynchronizationContext. The SynchronizationContext under which to execute tasks. Queues a task to the scheduler for execution on the I/O ThreadPool. The Task to queue. Tries to execute a task on the current thread. The task to be executed. Ignored. Whether the task could be executed. Gets an enumerable of tasks queued to the scheduler. An enumerable of tasks queued to the scheduler. Gets the maximum concurrency level supported by this scheduler. Provides a task scheduler that dedicates a thread per task. Gets the tasks currently scheduled to this scheduler. This will always return an empty enumerable, as tasks are launched as soon as they're queued. Starts a new thread to process the provided task. The task to be executed. Runs the provided task on the current thread. The task to be executed. Ignored. Whether the task could be executed on the current thread. Provides a work-stealing scheduler. Initializes a new instance of the WorkStealingTaskScheduler class. This constructors defaults to using twice as many threads as there are processors. Initializes a new instance of the WorkStealingTaskScheduler class. The number of threads to use in the scheduler. Queues a task to the scheduler. The task to be scheduled. Executes a task on the current thread. The task to be executed. Ignored. Whether the task could be executed. Gets all of the tasks currently scheduled to this scheduler. An enumerable containing all of the scheduled tasks. Adds a work-stealing queue to the set of queues. The queue to be added. Remove a work-stealing queue from the set of queues. The work-stealing queue to remove. The dispatch loop run by each thread in the scheduler. Signal the scheduler to shutdown and wait for all threads to finish. Gets the maximum concurrency level supported by this scheduler. A work-stealing queue. Specifies the type of data stored in the queue. This exception is returned from the CallMethod method in the server-side DataPortal and contains the exception thrown by the underlying business object method that was being invoked. Creates an instance of the object. Message text describing the exception. Inner exception object. Creates an instance of the object for deserialization. Serialization info. Serialiation context. Serializes the object. Serialization info. Serialization context. Get the stack trace from the original exception. Delegate for a dynamic constructor method. Delegate for a dynamic method. Object containg method to invoke. Parameters passed to method. Delegate for getting a value. Target object. The value from the target. Delegate for setting a value. Target object. Argument value. An accessor class for . A base class for member accessors. An interface for member accessors. Returns the value of the member. The object whose member value will be returned. The member value for the instance parameter. Sets the value of the member. The object whose member value will be set. The new value for this member. Gets the type of the member. The type of the member. Gets the member info. The member info. Gets the name of the member. The name of the member. Gets a value indicating whether this member has getter. true if this member has getter; otherwise, false. Gets a value indicating whether this member has setter. true if this member has setter; otherwise, false. Returns the value of the member. The object whose member value will be returned. The member value for the instance parameter. Sets the value of the member. The object whose member value will be set. The new value for this member. Determines whether the specified is equal to this instance. The to compare with this instance. true if the specified is equal to this instance; otherwise, false. Determines whether the specified is equal to this instance. The to compare with this instance. true if the specified is equal to this instance; otherwise, false. Returns a hash code for this instance. A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. Gets the type of the member. The type of the member. Gets the member info. The member info. Gets the name of the member. The name of the member. Gets a value indicating whether this member has getter. true if this member has getter; otherwise, false. Gets a value indicating whether this member has setter. true if this member has setter; otherwise, false. Initializes a new instance of the class. The instance to use for this accessor. Returns the value of the member. The object whose member value will be returned. The member value for the instance parameter. Sets the value of the member. The object whose member value will be set. The new value for this member. Gets the type of the member. The type of the member. Gets the member info. The member info. Gets the name of the member. The name of the member. Gets a value indicating whether this member has getter. true if this member has getter; otherwise, false. Gets a value indicating whether this member has setter. true if this member has setter; otherwise, false. A class for late bound operations on a type. Searches for the public property with the specified name. The to search for the property in. The name of the property to find. An instance for the property if found; otherwise null. Searches for the specified property, using the specified binding constraints. The to search for the property in. The name of the property to find. A bitmask comprised of one or more that specify how the search is conducted. An instance for the property if found; otherwise null. Searches for the field with the specified name. The to search for the field in. The name of the field to find. An instance for the field if found; otherwise null. Searches for the field, using the specified binding constraints. The to search for the field in. The name of the field to find. A bitmask comprised of one or more that specify how the search is conducted. An instance for the field if found; otherwise null. Sets the property value with the specified name. The object whose property value will be set. The name of the property to set. The new value to be set. Sets the field value with the specified name. The object whose field value will be set. The name of the field to set. The new value to be set. Returns the value of the property with the specified name. The object whose property value will be returned. The name of the property to read. The value of the property. Returns the value of the field with the specified name. The object whose field value will be returned. The name of the field to read. The value of the field. Creates an instance of the specified type. The type to create. A new instance of the specified type. Provides methods to dynamically find and call methods. Uses reflection to create an object using its default constructor. Type of object to create. Invokes a property getter using dynamic method invocation. Target object. Property to invoke. Invokes a property setter using dynamic method invocation. Target object. Property to invoke. New value for property. Returns an array of Type objects corresponding to the type of parameters provided. Parameter values. Uses reflection to dynamically invoke a method if that method is implemented on the target object. Object containing method. Name of the method. Parameters to pass to method. Uses reflection to dynamically invoke a method, throwing an exception if it is not implemented on the target object. Object containing method. Name of the method. Parameters to pass to method. Uses reflection to dynamically invoke a method, throwing an exception if it is not implemented on the target object. Object containing method. MethodInfo for the method. Parameters to pass to method. Uses reflection to dynamically invoke a method, throwing an exception if it is not implemented on the target object. Object containing method. MethodHandle for the method. Parameters to pass to method. Uses reflection to locate a matching method on the target object. Type of object containing method. Name of the method. Parameters to pass to method. Returns information about the specified method, even if the parameter types are generic and are located in an abstract generic base class. Type of object containing method. Name of the method. Parameter types to pass to method. Returns information about the specified method, finding the method based purely on the method name and number of parameters. Type of object containing method. Name of the method. Number of parameters to pass to method. Finds a by name ignoring case. The type to search. Name of the property. A matching the property name. FindProperty will first try to get a property matching the name and case of the property name specified. If a property cannot be found, all the properties will be searched ignoring the case of the name. Settings class for the . Initializes a new instance of the class. Gets or sets a value indicating whether the will suppress exceptions when copying. true to suppress exceptions; otherwise, false. Gets or sets the list of property names to ignore when is copying properties. The ignore list. Gets or sets a value indicating whether will use dynamic cache. true to use dynamic cache; otherwise, false. An accessor class for . Initializes a new instance of the class. The instance to use for this accessor. Returns the value of the member. The object whose member value will be returned. The member value for the instance parameter. Sets the value of the member. The object whose member value will be set. The new value for this member. Gets the type of the member. The type of the member. Gets the member info. The member info. Gets the name of the member. The name of the member. Gets a value indicating whether this member has getter. true if this member has getter; otherwise, false. Gets a value indicating whether this member has setter. true if this member has setter; otherwise, false. A class holding all the accessors for a . Initializes a new instance of the class. The this accessor is for. Creates a new instance of accessors type. A new instance of accessors type. Searches for the public property with the specified name. The name of the property to find. An instance for the property if found; otherwise null. Searches for the specified property, using the specified binding constraints. The name of the property to find. A bitmask comprised of one or more that specify how the search is conducted. An instance for the property if found; otherwise null. Searches for the specified field with the specified name. The name of the field to find. An instance for the field if found; otherwise null. Searches for the specified field, using the specified binding constraints. The name of the field to find. A bitmask comprised of one or more that specify how the search is conducted. An instance for the field if found; otherwise null. Gets the this accessor is for. The this accessor is for. A class to parse an assembly-qualified name of a Type into its parts. Parses an assembly-qualified name of a Type into its parts. The assembly-qualified name of the Type. The rule operator for criteria. A comparison for equality. A comparison for greater than. A comparison for greater than or equal to. A comparison for less than. A comparison for less than or equal to. A comparison for inequality. A comparison for partial match A default lock provider A base class for JobLockProviders. Acquires a lock on specified job name. Name of the lock, usually the job name. A object that will release the lock when disposed. Releases the specified job lock. The job lock. Acquires a lock on specified job name. Name of the lock, usually the job name. A object that will release the lock when disposed. Releases the specified job lock. The job lock. Interface for a scheduled job. Runs this job. The job context. A instance indicating the results of the job. Cancels this job. Gets or sets the name of the job. The name of the job. Gets or sets the description for the job. The description for the job. Gets or sets the group for the job. The group for the job. Gets or sets the timer interval. Gets or sets a value indicating whether Interval is a time of day. true if Interval is time of day; otherwise, false. Gets or sets the assembly type that contains the job to run. Gets or sets a value indicating whether to keep alive the instance between job runs. true to keep alive instance; otherwise, false. Setting this to true, the default value, will keep the instance alive between runs. Gets or sets the name of the provider that is used to lock the job when running. The type to use to lock the job. Gets or sets the job history provider. The job history provider. Gets the arguments. The arguments. A class representing a scheduled job. Initializes a new instance of the class. Initializes a new instance of the class. Starts this job timer. Stops this job timer. Stops this job timer. if set to true cancel running job. Runs this job asynchronous. Can be used to speed up the job when an event occurs. Runs this job at the specified time. The run time. Can be used to speed up the job when an event occurs. Runs this job. Gets the name. The name. Gets the description. The description. Gets the group name. The group name. Gets the arguments. The arguments. Gets the job interval. The job interval. Gets a value indicating whether Interval is a time of day. true if Interval is time of day; otherwise, false. Gets a value indicating whether to keep alive the job instance. true to keep alive; otherwise, false. Gets the last run start time. The last run start time. This property is thread safe. Gets the last run finish time. The last run finish time. This property is thread safe. Gets the last run duration. The last run duration. This property is thread safe. Gets the next run time. The next run time. This property is thread safe. Gets the status. The status. This property is thread safe. Gets the last status. The last status. This property is thread safe. Gets the last result. The last result. This property is thread safe. Gets a value indicating whether this job is busy. true if this job is busy; otherwise, false. This property is thread safe. A base class for jobs Runs this job. The job context. A instance indicating the results of the job. Cancels this job. Gets a value indicating whether a cancel request is pending. true if cancel is pending; otherwise, false. A keyed collection of Jobs. When implemented in a derived class, extracts the key from the specified element. The element from which to extract the key. The key for the specified element. A class holding job configuration. Initializes a new instance of the class. Gets or sets the name of the job. The name of the job. Gets or sets the description for the job. The description for the job. Gets or sets the group for the job. The group for the job. Gets or sets the timer interval. Gets or sets a value indicating whether Interval is a time of day. true if Interval is time of day; otherwise, false. Gets or sets the assembly type that contains the job to run. Gets or sets a value indicating whether to keep alive the instance between job runs. true to keep alive instance; otherwise, false. Setting this to true, the default value, will keep the instance alive between runs. Gets or sets the name of the provider that is used to lock the job when running. The type to use to lock the job. Gets or sets the job history provider. The job history provider. Gets the arguments. The arguments. Initializes a new instance of the class. Updates the status. The message. Gets the name of the job. The name of the job. Gets the description for the job. The description for the job. Gets the arguments. The arguments. Gets the last status. The last status. Gets the last run time. The last run time. Job event arguments. Initializes a new instance of the class. Name of the job. The action. Initializes a new instance of the class. Name of the job. The action. The job id. Returns a that represents this instance. A that represents this instance. Gets or sets the name of the job. The name of the job. Gets or sets the action. The action. Gets or sets the job id. The job id. A provider to save and restore the history for a job. Restores the latest job history from the provider. The job to restore the history to. Saves the history to the provider. The job to save the history on. A collection. Adds a provider to the collection. The provider to be added. The collection is read-only. is null. The of is null.- or -The length of the of is less than 1. Gets the with the specified name. An instance of . A base class for job providers. Gets an list jobs. An list jobs. Determines whether a job reload is required. The last load. true if a job reload is required; otherwise, false. If true is return, the will call Reload that will in turn call on this provider. A configuration element collection class for . When overridden in a derived class, creates a new . A new . Gets the element key for a specified configuration element when overridden in a derived class. The to return the key for. An that acts as the key for the specified . Returns an enumerator that iterates through the collection. A that can be used to iterate through the collection. 1 A Http module class to start the . Disposes of the resources (other than memory) used by the module that implements . Initializes a module and prepares it to handle requests. An that provides access to the methods, properties, and events common to all application objects within an ASP.NET application A base class representing a job lock. Initializes a new instance of the class. The lock provider to call when disposing. Name of the lock. if set to true lock was acquired. Disposes the unmanaged resources. Sets the lock to released. Returns a that represents the current . A that represents the current . Gets the name of the lock. The name of the lock. Gets a value indicating whether the lock was acquired successfully. true if the was lock acquired; otherwise, false. A class to manage the jobs for the Scheduler. Raises the event. The instance containing the event data. Raises the event. The instance containing the event data. Raises the event. The instance containing the event data. Raises the event. The instance containing the event data. Raises the event. The instance containing the event data. Raises the event. The instance containing the event data. Initializes a new instance of the class. Initializes the jobs for this manager. Starts all jobs in this manager. Stops all jobs in this manager. Reload by stopping all jobs and reloading configuration. All the jobs will be restarted after reload. Reload by stopping all jobs and reloading configuration. if set to true start the jobs after reload. Occurs when the JobManager starts. Occurs when the JobManager stops. Occurs when the Job is starting. Occurs when the Job is stopping. Occurs when the Job is running. Occurs when the Job run is completed. Gets the number of active jobs. The number of active jobs. Gets the collection of jobs. The collection of jobs. Gets the current instance of . The current instance. The job configuration element Initializes a new instance of the class. Gets a value indicating whether an unknown attribute is encountered during deserialization. The name of the unrecognized attribute. The value of the unrecognized attribute. true when an unknown attribute is encountered while deserializing; otherwise, false. Gets or sets the name of the job. The name of the job. Gets or sets the description for the job. The description for the job. Gets or sets the group for the job. The group for the job. Gets or sets the timer interval. Gets or sets a value indicating whether Interval is a time of day. true if Interval is time of day; otherwise, false. Gets or sets the assembly type that contains the job to run. Gets or sets a value indicating whether to keep alive the instance between job runs. true to keep alive instance; otherwise, false. Setting this to true, the default value, will keep the instance alive between runs. Gets or sets the name of the provider that is used to lock the job when running. The type to use to lock the job. Gets or sets the job history provider. The job history provider. Gets the arguments. The arguments. Initializes a new instance of the class. Gets or sets the poll interval for calling .IsReloadRequired. Set to .Zero to disable reload checking. Gets the providers to configure jobs. The job configuration providers. Gets the job lock providers. The job lock providers. The jobs to schedule. A class representing the results from a job. Gets or sets a value indicating whether this is cancelled. true if cancelled; otherwise, false. Gets or sets the error for the job. The error. Gets or sets the result of the job. The result of the job. Job run completed event arguments. Initializes a new instance of the class. Name of the job. The action. The time the job run started. The time the job run ended. The result of the job run. The status of the job run. Initializes a new instance of the class. Name of the job. The action. The job id. The time the job run started. The time the job run ended. The result of the job run. The status of the job run. Returns a that represents this instance. A that represents this instance. Gets or sets the time that the job run started. The time the job run started. Gets or sets the time that the job run finished. The time the job run finished. Gets or sets the result of the job run. The result of the job run. Gets or sets the status of the job run. The status of the job run. Gets the duration of the job run. The duration of the job run. The status state for a job The default job status. The job is stopped. The job is running. The job is waiting for the next run time. The job result was in error. The job result was completed. The job result was canceled. Copy data from a source into a target object by copying public property values. Copies values from the source into the properties of the target. An object containing the source values. An object with properties to be set from the source. The property names and types of the source object must match the property names and types on the target object. Source properties may not be indexed. Target properties may not be readonly or indexed. Copies values from the source into the properties of the target. An object containing the source values. An object with properties to be set from the source. A list of property names to ignore. These properties will not be set on the target object. The property names and types of the source object must match the property names and types on the target object. Source properties may not be indexed. Target properties may not be readonly or indexed. Copies values from the source into the properties of the target. An object containing the source values. An object with properties to be set from the source. A list of property names to ignore. These properties will not be set on the target object. If , any exceptions will be suppressed. The property names and types of the source object must match the property names and types on the target object. Source properties may not be indexed. Target properties may not be readonly or indexed. Properties to copy are determined based on the source object. Any properties on the source object marked with the equal to false are ignored. Copies values from the source into the properties of the target. An object containing the source values. An object with properties to be set from the source. The settings to use when copying properties. The property names and types of the source object must match the property names and types on the target object. Source properties may not be indexed. Target properties may not be readonly or indexed. Properties to copy are determined based on the source object. Any properties on the source object marked with the equal to false are ignored. Copies values from the source into the target . The source object. The target . Copies values from the source into the target . The source object. The target . A list of property names to ignore. These properties will not be added to the targeted . Copies values from the source into the target . The source object. The target . A list of property names to ignore. These properties will not be added to the targeted . If , any exceptions will be suppressed. Copies values from the source into the target . The source object. The target . The settings to use when copying properties. Copies values from the into the properties of the target. The source. The target object. Copies values from the into the properties of the target. The source. The target object. A list of property names to ignore. These properties will not be set on the target object. Copies values from the into the properties of the target. The source. The target object. A list of property names to ignore. These properties will not be set on the target object. If , any exceptions will be suppressed. Copies values from the into the properties of the target. The source. The target object. The settings to use when copying properties. Copies values from the into the properties of the target. The source. The target object. Copies values from the into the properties of the target. The source. The target object. A list of property names to ignore. These properties will not be set on the target object. Copies values from the into the properties of the target. The source. The target object. A list of property names to ignore. These properties will not be set on the target object. If , any exceptions will be suppressed. Copies values from the into the properties of the target. The source. The target object. The settings to use when copying properties. Uses BinaryFormatter.Serialize to Clone an object. The source object. A cloned copy of the object. Sets an object's property with the specified value, converting that value to the appropriate type if possible. Object containing the property to set. Name of the property to set. Value to set into the property. Sets an object's property with the specified value, converting that value to the appropriate type if possible. Object containing the property to set. Name of the property to set. Value to set into the property. if set to true use dynamic cache. Gets an object's property value by name. Object containing the property to get. Name of the property. The value of the property. Gets an object's property value by name. Object containing the property to get. Name of the property. if set to true use dynamic cache. The value of the property. Gets the underlying type dealing with . The type. Returns a type dealing with . Attempts to coerce a value of one type into a value of a different type. Type to which the value should be coerced. Original type of the value. The value to coerce. If the desired type is a primitive type or Decimal, empty string and null values will result in a 0 or equivalent. If the desired type is a type, empty string and null values will result in a null result. If the desired type is an enum the value's ToString() result is parsed to convert into the enum value. Finds a by name ignoring case. The type to search. Name of the property. A matching the property name. FindProperty will first try to get a property matching the name and case of the property name specified. If a property cannot be found, all the properties will be searched ignoring the case of the name. Writes the object's public fields and properties to Console.Out. The object that will be dumped. Writes the object's public fields and properties to Console.Out, excludes fields/properties found in exclusions. The object that will be dumped. List of excluded fields/properties. A lock provider that only allows one job per . Acquires a lock on specified job name. Name of the lock, usually the job name. An object that will release the lock when disposed. Releases the specified job lock. The job lock. Represents a globally unique identifier (GUID) with a shorter string value. A read-only instance of the ShortGuid class whose value is guaranteed to be all zeroes. Creates a ShortGuid from a base64 encoded string The encoded guid as a base64 string Creates a ShortGuid from a Guid The Guid to encode 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. A 32-bit signed integer that indicates the relative order of the objects being compared. An object to compare with this instance. 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. A 32-bit signed integer that indicates the relative order of the objects being compared. An object to compare with this instance. 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. A 32-bit signed integer that indicates the relative order of the objects being compared. An object to compare with this instance. Returns the base64 encoded guid as a string Returns a value indicating whether this instance and a specified Object represent the same type and value. The object to compare true if the specified is equal to this instance; otherwise, false. Returns a value indicating whether this instance and a specified Object represent the same type and value. The object to compare true if the specified is equal to this instance; otherwise, false. Returns a value indicating whether this instance and a specified Object represent the same type and value. The object to compare true if the specified is equal to this instance; otherwise, false. Returns the HashCode for underlying Guid. Initialises a new instance of the ShortGuid class Creates a new instance of a Guid using the string value, then returns the base64 encoded version of the Guid. An actual Guid string (i.e. not a ShortGuid) Encodes the given Guid as a base64 string that is 22 characters long. The Guid to encode Decodes the given base64 string The base64 encoded string of a Guid A new Guid Determines if both ShortGuids have the same underlying Guid value. Determines if both ShortGuids do not have the same underlying Guid value. Implicitly converts the ShortGuid to it's string equivilent Implicitly converts the ShortGuid to it's Guid equivilent Implicitly converts the string to a ShortGuid Implicitly converts the Guid to a ShortGuid Gets/sets the underlying Guid Gets/sets the underlying base64 encoded string Named string formatter. Formats the specified input string. The input format string. The source to replace the formant names with. A formatted string. This class stores the caller call context in order to restore it when the work item is executed in the thread pool environment. Constructor Captures the current thread context Applies the thread context stored earlier Represents an exception in case IWorkItemResult.GetResult has been canceled Represents an exception in case IWorkItemResult.GetResult has been timed out Represents an exception in case IWorkItemResult.GetResult has been timed out A delegate that represents the method to run as the work item A state object for the method to run A delegate to call after the WorkItemCallback completed The work item result object A delegate to call when a WorkItemsGroup becomes idle A reference to the WorkItemsGroup that became idle IWorkItemsGroup interface Get/Set the name of the WorkItemsGroup IWorkItemResult interface Get the result of the work item. If the work item didn't run yet then the caller waits. The result of the work item Get the result of the work item. If the work item didn't run yet then the caller waits until timeout. The result of the work item On timeout throws WorkItemTimeoutException Get the result of the work item. If the work item didn't run yet then the caller waits until timeout. The result of the work item On timeout throws WorkItemTimeoutException Get the result of the work item. If the work item didn't run yet then the caller waits until timeout or until the cancelWaitHandle is signaled. Timeout in milliseconds, or -1 for infinite true to exit the synchronization domain for the context before the wait (if in a synchronized context), and reacquire it; otherwise, false. A cancel wait handle to interrupt the blocking if needed The result of the work item On timeout throws WorkItemTimeoutException On cancel throws WorkItemCancelException Get the result of the work item. If the work item didn't run yet then the caller waits until timeout or until the cancelWaitHandle is signaled. The result of the work item On timeout throws WorkItemTimeoutException On cancel throws WorkItemCancelException Get the result of the work item. If the work item didn't run yet then the caller waits. Filled with the exception if one was thrown The result of the work item Get the result of the work item. If the work item didn't run yet then the caller waits until timeout. The milliseconds timeout. if set to true [exit context]. Filled with the exception if one was thrown The result of the work item On timeout throws WorkItemTimeoutException Get the result of the work item. If the work item didn't run yet then the caller waits until timeout. The timeout. if set to true [exit context]. Filled with the exception if one was thrown The result of the work item On timeout throws WorkItemTimeoutException Get the result of the work item. If the work item didn't run yet then the caller waits until timeout or until the cancelWaitHandle is signaled. Timeout in milliseconds, or -1 for infinite true to exit the synchronization domain for the context before the wait (if in a synchronized context), and reacquire it; otherwise, false. A cancel wait handle to interrupt the blocking if needed Filled with the exception if one was thrown The result of the work item On timeout throws WorkItemTimeoutException On cancel throws WorkItemCancelException Get the result of the work item. If the work item didn't run yet then the caller waits until timeout or until the cancelWaitHandle is signaled. The timeout. if set to true [exit context]. The cancel wait handle. Filled with the exception if one was thrown The result of the work item On timeout throws WorkItemTimeoutException On cancel throws WorkItemCancelException Cancel the work item if it didn't start running yet. Returns true on success or false if the work item is in progress or already completed Gets an indication whether the asynchronous operation has completed. Gets an indication whether the asynchronous operation has been canceled. Gets a user-defined object that qualifies or contains information about an asynchronous operation. Get the work item's priority Return the result, same as GetResult() Returns the exception if occured otherwise returns null. Specifies how a Lazy instance synchronizes access among multiple threads. Provides support for lazy initialization. Specifies the type of element being laziliy initialized. By default, all public and protected members of are thread-safe and may be used concurrently from multiple threads. These thread-safety guarantees may be removed optionally and per instance using parameters to the type's constructors. Initializes a new instance of the class that uses 's default constructor for lazy initialization. An instance created with this constructor may be used concurrently from multiple threads. Initializes a new instance of the class that uses a specified initialization function. The invoked to produce the lazily-initialized value when it is needed. is a null reference (Nothing in Visual Basic). An instance created with this constructor may be used concurrently from multiple threads. Initializes a new instance of the class that uses 's default constructor and a specified thread-safety mode. true if this instance should be usable by multiple threads concurrently; false if the instance will only be used by one thread at a time. Initializes a new instance of the class that uses 's default constructor and a specified thread-safety mode. The lazy thread-safety mode mode mode contains an invalid valuee Initializes a new instance of the class that uses a specified initialization function and a specified thread-safety mode. The invoked to produce the lazily-initialized value when it is needed. true if this instance should be usable by multiple threads concurrently; false if the instance will only be used by one thread at a time. is a null reference (Nothing in Visual Basic). Initializes a new instance of the class that uses a specified initialization function and a specified thread-safety mode. The invoked to produce the lazily-initialized value when it is needed. The lazy thread-safety mode. is a null reference (Nothing in Visual Basic). mode contains an invalid value. Static helper function that returns an object based on the given mode. it also throws an exception if the mode is invalid Forces initialization during serialization. The StreamingContext for the serialization operation. Creates and returns a string representation of this instance. The result of calling on the . The is null. local helper method to initialize the value The inititialized T value Creates an instance of T using m_valueFactory in case its not null or use reflection to create a new T() An instance of Boxed. Gets the value of the Lazy<T> for debugging display purposes. Gets a value indicating whether this instance may be used concurrently from multiple threads. Gets whether the value creation is faulted or not Gets a value indicating whether the has been initialized. true if the instance has been initialized; otherwise, false. The initialization of a instance may result in either a value being produced or an exception being thrown. If an exception goes unhandled during initialization, the instance is still considered initialized, and that exception will be thrown on subsequent accesses to . In such cases, will return true. Gets the lazily initialized value of the current . The lazily initialized value of the current . The was initialized to use the default constructor of the type being lazily initialized, and that type does not have a public, parameterless constructor. The was initialized to use the default constructor of the type being lazily initialized, and permissions to access the constructor were missing. The was constructed with the or and the initialization function attempted to access on this instance. If is false, accessing will force initialization. Please for more information on how will behave if an exception is thrown from initialization delegate. wrapper class to box the initialized value, this is mainly created to avoid boxing/unboxing the value each time the value is called in case T is a value type Wrapper class to wrap the excpetion thrown by the value factory A debugger view of the Lazy<T> to surface additional debugging properties and to ensure that the Lazy<T> does not become initialized if it was not already. Constructs a new debugger view object for the provided Lazy object. A Lazy object to browse in the debugger. Returns whether the Lazy object is initialized or not. Returns the value of the Lazy object. Returns the execution mode of the Lazy object Returns the execution mode of the Lazy object PriorityQueue class This class is not thread safe because we use external lock The number of queues, there is one for each type of priority Work items queues. There is one for each type of priority The total number of work items within the queues Use with IEnumerable interface Enqueue a work item. A work item Dequeque a work item. Returns the next work item Find the next non empty queue starting at queue queueIndex+1 The index-1 to start from The index of the next non empty queue or -1 if all the queues are empty Clear all the work items Returns an enumerator to iterate over the work items Returns an enumerator The number of work items The class the implements the enumerator Class that implements a wrapper for a delegate to support fire and forget asynchronous invoke of a delegate. Invoke the specified delegate with the specified arguments asynchronously on a thread pool thread. EndInvoke is automatically called to prevent resource leaks. Smart thread pool class. Default minimum number of threads the thread pool contains. (0) Default maximum number of threads the thread pool contains. (25) Default idle timeout in milliseconds. (One minute) Indicate to copy the security context of the caller and then use it in the call. (false) Indicate to copy the HTTP context of the caller and then use it in the call. (false) Indicate to dispose of the state objects if they support the IDispose interface. (false) The default option to run the post execute The default work item priority The default is to work on work items as soon as they arrive and not to wait for the start. The default thread priority The default post execute method to run. When null it means not to call it. The default is not to use the performance counters Contains the name of this instance of SmartThreadPool. Can be changed by the user. Hashtable of all the threads in the thread pool. Queue of work items. Count the work items handled. Used by the performance counter. Number of threads that currently work (not idle). Start information to use. It is simpler than providing many constructors. Total number of work items that are stored in the work items queue plus the work items that the threads in the pool are working on. Signaled when the thread pool is idle, i.e. no thread is busy and the work items queue is empty An event to signal all the threads to quit immediately. A flag to indicate the threads to quit. Counts the threads created in the pool. It is used to name the threads. Indicate that the SmartThreadPool has been disposed Holds all the WorkItemsGroup instances that have at least one work item int the SmartThreadPool This variable is used in case of Shutdown A reference from each thread in the thread pool to its SmartThreadPool object container. With this variable a thread can know whatever it belongs to a SmartThreadPool. A reference to the current work item a thread from the thread pool is executing. STP performance counters Constructor Constructor Idle timeout in milliseconds Constructor Idle timeout in milliseconds Upper limit of threads in the pool Constructor Idle timeout in milliseconds Upper limit of threads in the pool Lower limit of threads in the pool Constructor Waits on the queue for a work item, shutdown, or timeout. Returns the WaitingCallback or null in case of timeout or shutdown. Put a new work item in the queue A work item to queue Put a new work item in the queue A work item to queue if set to true increment work items. Inform that the current thread is about to quit or quiting. The same thread may call this method more than once. Starts new threads The number of threads to start A worker thread method that processes work items from the work items queue. Queue a work item A callback to execute Returns a work item result Queue a work item A callback to execute The priority of the work item Returns a work item result Queue a work item Work item info A callback to execute Returns a work item result Queue a work item A callback to execute The context object of the work item. Used for passing arguments to the work item. Returns a work item result Queue a work item A callback to execute The context object of the work item. Used for passing arguments to the work item. The work item priority Returns a work item result Queue a work item Work item information A callback to execute The context object of the work item. Used for passing arguments to the work item. Returns a work item result Queue a work item A callback to execute The context object of the work item. Used for passing arguments to the work item. A delegate to call after the callback completion Returns a work item result Queue a work item A callback to execute The context object of the work item. Used for passing arguments to the work item. A delegate to call after the callback completion The work item priority Returns a work item result Queue a work item A callback to execute The context object of the work item. Used for passing arguments to the work item. A delegate to call after the callback completion Indicates on which cases to call to the post execute callback Returns a work item result Queue a work item A callback to execute The context object of the work item. Used for passing arguments to the work item. A delegate to call after the callback completion Indicates on which cases to call to the post execute callback The work item priority Returns a work item result Wait for the thread pool to be idle Wait for the thread pool to be idle Wait for the thread pool to be idle Force the SmartThreadPool to shutdown Empties the queue of work items and abort the threads in the pool. Wait for all work items to complete Array of work item result objects true when every work item in workItemResults has completed; otherwise false. Wait for all work items to complete Array of work item result objects The number of milliseconds to wait, or a TimeSpan that represents -1 milliseconds to wait indefinitely. true to exit the synchronization domain for the context before the wait (if in a synchronized context), and reacquire it; otherwise, false. true when every work item in workItemResults has completed; otherwise false. Wait for all work items to complete Array of work item result objects The number of milliseconds to wait, or a TimeSpan that represents -1 milliseconds to wait indefinitely. true to exit the synchronization domain for the context before the wait (if in a synchronized context), and reacquire it; otherwise, false. A cancel wait handle to interrupt the wait if needed true when every work item in workItemResults has completed; otherwise false. Wait for all work items to complete Array of work item result objects The number of milliseconds to wait, or Timeout.Infinite (-1) to wait indefinitely. true to exit the synchronization domain for the context before the wait (if in a synchronized context), and reacquire it; otherwise, false. true when every work item in workItemResults has completed; otherwise false. Wait for all work items to complete Array of work item result objects The number of milliseconds to wait, or Timeout.Infinite (-1) to wait indefinitely. true to exit the synchronization domain for the context before the wait (if in a synchronized context), and reacquire it; otherwise, false. A cancel wait handle to interrupt the wait if needed true when every work item in workItemResults has completed; otherwise false. Waits for any of the work items in the specified array to complete, cancel, or timeout Array of work item result objects The array index of the work item result that satisfied the wait, or WaitTimeout if any of the work items has been canceled. Waits for any of the work items in the specified array to complete, cancel, or timeout Array of work item result objects The number of milliseconds to wait, or a TimeSpan that represents -1 milliseconds to wait indefinitely. true to exit the synchronization domain for the context before the wait (if in a synchronized context), and reacquire it; otherwise, false. The array index of the work item result that satisfied the wait, or WaitTimeout if no work item result satisfied the wait and a time interval equivalent to millisecondsTimeout has passed or the work item has been canceled. Waits for any of the work items in the specified array to complete, cancel, or timeout Array of work item result objects The number of milliseconds to wait, or a TimeSpan that represents -1 milliseconds to wait indefinitely. true to exit the synchronization domain for the context before the wait (if in a synchronized context), and reacquire it; otherwise, false. A cancel wait handle to interrupt the wait if needed The array index of the work item result that satisfied the wait, or WaitTimeout if no work item result satisfied the wait and a time interval equivalent to millisecondsTimeout has passed or the work item has been canceled. Waits for any of the work items in the specified array to complete, cancel, or timeout Array of work item result objects The number of milliseconds to wait, or Timeout.Infinite (-1) to wait indefinitely. true to exit the synchronization domain for the context before the wait (if in a synchronized context), and reacquire it; otherwise, false. The array index of the work item result that satisfied the wait, or WaitTimeout if no work item result satisfied the wait and a time interval equivalent to millisecondsTimeout has passed or the work item has been canceled. Waits for any of the work items in the specified array to complete, cancel, or timeout Array of work item result objects The number of milliseconds to wait, or Timeout.Infinite (-1) to wait indefinitely. true to exit the synchronization domain for the context before the wait (if in a synchronized context), and reacquire it; otherwise, false. A cancel wait handle to interrupt the wait if needed The array index of the work item result that satisfied the wait, or WaitTimeout if no work item result satisfied the wait and a time interval equivalent to millisecondsTimeout has passed or the work item has been canceled. Event to send that the thread pool is idle Get/Set the name of the SmartThreadPool instance Get the lower limit of threads in the pool. Get the upper limit of threads in the pool. Get the number of threads in the thread pool. Should be between the lower and the upper limits. Get the number of busy (not idle) threads in the thread pool. Get the number of work items in the queue. Summary description for STPPerformanceCounter. Summary description for STPStartInfo. Summary description for WIGStartInfo. Use the caller's security context Use the caller's HTTP context Dispose of the state object of a work item The option to run the post execute A post execute callback to call when none is provided in the QueueWorkItem method. Indicate the WorkItemsGroup to suspend the handling of the work items until the Start() method is called. Idle timeout in milliseconds. If a thread is idle for _idleTimeout milliseconds then it may quit. The lower limit of threads in the pool. The upper limit of threads in the pool. The priority of the threads in the pool If this field is not null then the performance counters are enabled and use the string as the name of the instance. Synchronized access wrapper class The type that has its access synchronized. Initializes a new instance of the class. Initializes a new instance of the class. The initial value. Initializes a new instance of the class. The initial value. The shared lock. Performs an implicit conversion from to {T}. The value. The result of the conversion. Gets or sets the value. The value. An internal delegate to call when the WorkItem starts or completes Holds a callback delegate and the state for that delegate. Callback delegate for the callback. State with which to call the callback delegate. Stores the caller's context Holds the result of the mehtod Hold the exception if the method threw it Hold the state of the work item A ManualResetEvent to indicate that the result is ready A reference count to the _workItemCompleted. When it reaches to zero _workItemCompleted is Closed Represents the result state of the work item Work item info A reference to an object that indicates whatever the WorkItemsGroup has been canceled The work item group this work item belong to. The time when the work items is queued. Used with the performance counter. The time when the work items starts its execution. Used with the performance counter. The time when the work items ends its execution. Used with the performance counter. Initialize the callback holding object. Callback delegate for the callback. State with which to call the callback delegate. We assume that the WorkItem object is created within the thread that meant to run the callback Change the state of the work item to in progress if it wasn't canceled. Return true on success or false in case the work item was canceled. If the work item needs to run a post execute then the method will return true. Execute the work item and the post execute Execute the work item Runs the post execute callback Set the result of the work item to return The result of the work item The exception. Returns the work item result The work item result Wait for all work items to complete Array of work item result objects The number of milliseconds to wait, or Timeout.Infinite (-1) to wait indefinitely. true to exit the synchronization domain for the context before the wait (if in a synchronized context), and reacquire it; otherwise, false. A cancel wait handle to interrupt the wait if needed true when every work item in workItemResults has completed; otherwise false. Waits for any of the work items in the specified array to complete, cancel, or timeout Array of work item result objects The number of milliseconds to wait, or Timeout.Infinite (-1) to wait indefinitely. true to exit the synchronization domain for the context before the wait (if in a synchronized context), and reacquire it; otherwise, false. A cancel wait handle to interrupt the wait if needed The array index of the work item result that satisfied the wait, or WaitTimeout if no work item result satisfied the wait and a time interval equivalent to millisecondsTimeout has passed or the work item has been canceled. Fill an array of wait handles with the work items wait handles. An array of work item results An array of wait handles to fill Release the work items' wait handles An array of work item results Sets the work item's state The state to set the work item to Signals that work item has been completed or canceled Indicates that the work item has been canceled Cancel the work item if it didn't start running yet. Returns true on success or false if the work item is in progress or already completed Get the result of the work item. If the work item didn't run yet then the caller waits for the result, timeout, or cancel. In case of error the method throws and exception The result of the work item Get the result of the work item. If the work item didn't run yet then the caller waits for the result, timeout, or cancel. In case of error the e argument is filled with the exception The result of the work item A wait handle to wait for completion, cancel, or timeout Called when the WorkItem starts Called when the WorkItem completes Returns true when the work item has completed or canceled Returns true when the work item has canceled Returns the priority of the work item Indicates the state of the work item in the thread pool A back reference to the work item Return the result, same as GetResult() Returns the exception if occured otherwise returns null. This value is valid only after the work item completed, before that it is always null. Create a new work item The work items group. Work item group start information A callback to execute Returns a work item Create a new work item Work item group start information A callback to execute The priority of the work item Returns a work item Create a new work item Work item group start information Work item info A callback to execute Returns a work item Create a new work item Work item group start information A callback to execute The context object of the work item. Used for passing arguments to the work item. Returns a work item Create a new work item Work item group start information A callback to execute The context object of the work item. Used for passing arguments to the work item. The work item priority Returns a work item Create a new work item Work item group start information Work item information A callback to execute The context object of the work item. Used for passing arguments to the work item. Returns a work item Create a new work item Work item group start information A callback to execute The context object of the work item. Used for passing arguments to the work item. A delegate to call after the callback completion Returns a work item Create a new work item Work item group start information A callback to execute The context object of the work item. Used for passing arguments to the work item. A delegate to call after the callback completion The work item priority Returns a work item Create a new work item Work item group start information A callback to execute The context object of the work item. Used for passing arguments to the work item. A delegate to call after the callback completion Indicates on which cases to call to the post execute callback Returns a work item Create a new work item Work item group start information A callback to execute The context object of the work item. Used for passing arguments to the work item. A delegate to call after the callback completion Indicates on which cases to call to the post execute callback The work item priority Returns a work item Summary description for WorkItemInfo. Use the caller's security context Use the caller's security context Dispose of the state object of a work item The option to run the post execute A post execute callback to call when none is provided in the QueueWorkItem method. The priority of the work item Summary description for WorkItemsGroup. Contains the name of this instance of SmartThreadPool. Can be changed by the user. A reference to the SmartThreadPool instance that created this WorkItemsGroup. Defines how many work items of this WorkItemsGroup can run at once. Priority queue to hold work items before they are passed to the SmartThreadPool. Indicate how many work items are waiting in the SmartThreadPool queue. This value is used to apply the concurrency. Indicate how many work items are currently running in the SmartThreadPool. This value is used with the Cancel, to calculate if we can send new work items to the STP. WorkItemsGroup start information Signaled when all of the WorkItemsGroup's work item completed. A common object for all the work items that this work items group generate so we can mark them to cancel in O(1) Queue a work item A callback to execute Returns a work item result Queue a work item A callback to execute The priority of the work item Returns a work item result Queue a work item Work item info A callback to execute Returns a work item result Queue a work item A callback to execute The context object of the work item. Used for passing arguments to the work item. Returns a work item result Queue a work item A callback to execute The context object of the work item. Used for passing arguments to the work item. The work item priority Returns a work item result Queue a work item Work item information A callback to execute The context object of the work item. Used for passing arguments to the work item. Returns a work item result Queue a work item A callback to execute The context object of the work item. Used for passing arguments to the work item. A delegate to call after the callback completion Returns a work item result Queue a work item A callback to execute The context object of the work item. Used for passing arguments to the work item. A delegate to call after the callback completion The work item priority Returns a work item result Queue a work item A callback to execute The context object of the work item. Used for passing arguments to the work item. A delegate to call after the callback completion Indicates on which cases to call to the post execute callback Returns a work item result Queue a work item A callback to execute The context object of the work item. Used for passing arguments to the work item. A delegate to call after the callback completion Indicates on which cases to call to the post execute callback The work item priority Returns a work item result Wait for the thread pool to be idle Wait for the thread pool to be idle Wait for the thread pool to be idle The OnIdle event Get/Set the name of the SmartThreadPool instance WorkItemsQueue class. Waiters queue (implemented as stack). Waiters count Work items queue Indicate that work items are allowed to be queued Each thread in the thread pool keeps its own waiter entry. A flag that indicates if the WorkItemsQueue has been disposed. Enqueue a work item to the queue. Waits for a work item or exits on timeout or cancel Timeout in milliseconds Cancel wait handle Returns true if the resource was granted Cleanup the work items queue, hence no more work items are allowed to be queue Returns the WaiterEntry of the current thread In order to avoid creation and destuction of WaiterEntry objects each thread has its own WaiterEntry object. Push a new waiter into the waiter's stack A waiter to put in the stack Pop a waiter from the waiter's stack Returns the first waiter in the stack Remove a waiter from the stack A waiter entry to remove If true the waiter count is always decremented Returns the current number of work items in the queue Returns the current number of waiters Event to signal the waiter that it got the work item. Flag to know if this waiter already quited from the queue because of a timeout. Flag to know if the waiter was signaled and got a work item. A work item that passed directly to the waiter withou going through the queue Signal the waiter that it got a work item. Return true on success The method fails if Timeout() preceded its call Mark the wait entry that it has been timed out Return true on success The method fails if Signal() preceded its call Reset the wait entry so it can be used again Free resources Determines if the visitor should call the visitors of any registered delegates that are base types of the being visited. Determines if the visiting should stop after one successful visit. A collection class for attachments Initializes a new instance of the class. Initializes a new instance of the class. The list that is wrapped by the new collection. is null. Defines a set of utility methods for extracting icons for files and file extensions. Retrieve the handle to the icon that represents the file and the index of the icon within the system image list. The handle is copied to the hIcon member of the structure specified by psfi, and the index is copied to the iIcon member. Modify SHGFI_ICON, causing the function to retrieve the file's large icon. The SHGFI_ICON flag must also be set. Modify SHGFI_ICON, causing the function to retrieve the file's small icon. Also used to modify SHGFI_SYSICONINDEX, causing the function to return the handle to the system image list that contains small icon images. The SHGFI_ICON and/or SHGFI_SYSICONINDEX flag must also be set. Retrieves information about an object in the file system, such as a file, folder, directory, or drive root. A pointer to a null-terminated string of maximum length MAX_PATH that contains the path and file name. Both absolute and relative paths are valid. A combination of one or more file attribute flags (FILE_ATTRIBUTE_ values as defined in Winnt.h). The address of a SHFILEINFO structure to receive the file information. The size, in bytes, of the SHFILEINFO structure pointed to by the psfi parameter. The flags that specify the file information to retrieve. Nonzero if successful, or zero otherwise. Creates an array of handles to large or small icons extracted from the specified executable file, DLL, or icon file. The name of an executable file, DLL, or icon file from which icons will be extracted. The zero-based index of the first icon to extract. If this value is a negative number and either phiconLarge or phiconSmall is not NULL, the function begins by extracting the icon whose resource identifier is equal to the absolute value of nIconIndex. For example, use -3 to extract the icon whose resource identifier is 3. An array of icon handles that receives handles to the large icons extracted from the file. If this parameter is NULL, no large icons are extracted from the file. An array of icon handles that receives handles to the small icons extracted from the file. If this parameter is NULL, no small icons are extracted from the file. The number of icons to be extracted from the file. If the nIconIndex parameter is -1, the phiconLarge parameter is NULL, and the phiconSmall parameter is NULL, then the return value is the number of icons contained in the specified file. Otherwise, the return value is the number of icons successfully extracted from the file. Returns an icon representation of the specified file. The path to the file. The desired size of the icon. An icon that represents the file. Returns the default icon representation for files with the specified extension. File extension (including the leading period). The desired size of the icon. The default icon for files with the specified extension. Contains information about a file object. A handle to the icon that represents the file. The index of the icon image within the system image list. An array of values that indicates the attributes of the file object. A string that contains the name of the file as it appears in the Windows Shell, or the path and file name of the file that contains the icon representing the file. A string that describes the type of file. Represents the different icon sizes that can be extracted using the ExtractAssociatedIcon method. Specifies a small (16x16) icon. Specifies a large (32x32) icon. Represents an email message to be sent through MAPI. Initializes a new instance of the class. Initializes a new instance of the class with the specified subject. The subject. Initializes a new instance of the class with the specified subject and body. The subject. The body. Called when send mail is complete. The error code. Displays the mail message dialog asynchronously. Displays the mail message dialog. The call is block until the dialog is closed. The error code from the mapi call. Occurs when the MAPI send mail call is complete. Gets or sets the subject of this mail message. Gets or sets the body of this mail message. Gets the recipient list for this mail message. Gets the attachment list for this mail message. Specifies the valid RecipientTypes for a Recipient. Recipient will be in the TO list. Recipient will be in the CC list. Recipient will be in the BCC list. Internal class for calling MAPI APIs Gets the error message from the specified error code. The error code. The error message from the error code. Represents a Recipient for a . Initializes a new instance of the class. The email address. Initializes a new instance of the class. The email address. The display name. Initializes a new instance of the class. The email address. Type of the recipient. Initializes a new instance of the class. The email address. The display name. Type of the recipient. Gets or sets the email address. The email address. Gets or sets the display name. The display name. Gets or sets the type of the recipient. The type of the recipient. A collection of recipients for a mail message. Initializes a new instance of the class. Initializes a new instance of the class. The list that is wrapped by the new collection. is null. Adds a new recipient with the specified email address to this collection. The email address. Adds a new recipient with the specified email address and display name to this collection. The email address. The display name. Adds a new recipient with the specified email address and recipient type to this collection. The email address. Type of the recipient. Adds a new recipient with the specified email address, display name and recipient type to this collection. The email address. The display name. Type of the recipient. A class representing the SendMailComplate event. Initializes a new instance of the class. The error code. Gets the error code. The error code. Gets the error message. The error message. Activates and displays the window. If the window is minimized or maximized, the system restores it to its original size and position. An application should specify this flag when restoring a minimized window. A class to parse all the xml namespaces from an XPathNavigator. Initializes a new instance of the class. Parses an XML document for its namespaces. The navigator. Gets or sets the namespaces collection. The namespaces collection. Gets or sets a value indicating whether to parse child nodes to find namespaces. true if parse child nodes; otherwise, to only parse root element, false. Gets or sets the scheme to use when generating prefix values for default namespaces. The default scheme. Gets or sets the default prefix. The default prefix.