Microsoft.Practices.Unity.Configuration
A configuration element storing information about a single type alias.
Base class for configuration elements with a default implementation of
public deserialization.
Load this element from the given .
Contains the XML to initialize from.
Write the contents of this element to the given .
The caller of this method has already written the start element tag before
calling this method, so deriving classes only need to write the element content, not
the start or end tags.
Writer to send XML content to.
Construct a new, uninitialized .
Construct a new that is initialized
to alias to the target .
Alias to use.
Type that is aliased.
Write the contents of this element to the given .
The caller of this method has already written the start element tag before
calling this method, so deriving classes only need to write the element content, not
the start or end tags.
Writer to send XML content to.
The alias used for this type.
The fully qualified name this alias refers to.
A collection of s.
Specialization of
that provides a canned implmentation of .
Type of configuration element in the collection.
A base helper class for implementing configuration collections.
Type of configuration element contained in
the collection.
Plug point to get objects out of the collection.
Index in the collection to retrieve the item from.
Item at that index or null if not present.
Plug point to get objects out of the collection.
Key to look up the object by.
Item with that key or null if not present.
Load this element from the given .
Contains the XML to initialize from.
Returns an enumerator that iterates through the collection.
A that can be used to iterate through the collection.
1
Add a new element to the collection.
Element to add.
Remove an element from the collection at the given index.
The index of the item to remove.
Remove all the items in the collection.
Write out the contents of this collection to the given
without a containing element
corresponding directly to this container element. Each
child element will have a tag name given by
.
to output XML to.
Name of tag to generate.
Indexer to retrieve items in the collection by index.
Index of the item to get or set.
The item at the given index.
When overridden in a derived class, creates a new .
A new .
Causes the configuration system to throw an exception.
true if the unrecognized element was deserialized successfully; otherwise, false. The default is false.
The name of the unrecognized element.
An input stream that reads XML from the configuration file.
The element specified in is the <clear> element.
starts with the reserved prefix "config" or "lock".
Gets the element key for a specified configuration element when overridden in a derived class.
An that acts as the key for the specified .
The to return the key for.
Indexer that allows you to get or set an alias by the alias name.
Alias of element to get or set.
The type name at that alias.
A configuration element used to configure injection of
a specific set of values into an array.
Base class for configuration elements that describe a value that will
be injected.
Initialize a new instance of .
Generate an object
that will be used to configure the container for a type registration.
Container that is being configured. Supplied in order
to let custom implementations retrieve services; do not configure the container
directly in this method.
Type of the
Validate that an expected attribute is present in the given
dictionary and that it has a non-empty value.
Dictionary of name/value pairs to check.
attribute name to check.
Return a unique string that can be used to identify this object. Used
by the configuration collection support.
Write the contents of this element to the given .
The caller of this method has already written the start element tag before
calling this method, so deriving classes only need to write the element content, not
the start or end tags.
Writer to send XML content to.
Generate an object
that will be used to configure the container for a type registration.
Container that is being configured. Supplied in order
to let custom implementations retrieve services; do not configure the container
directly in this method.
Type of the
Type of array to inject. This is actually the type of the array elements,
not the array type. Optional, if not specified we take the type from
our containing element.
Values used to calculate the contents of the array.
A configuration element representing the namespace
tags in the config file.
An element with a single "name" property, used for
the namespaces and assemblies.
Write the contents of this element to the given .
The caller of this method has already written the start element tag before
calling this method, so deriving classes only need to write the element content, not
the start or end tags.
Writer to send XML content to.
Name attribute for this element.
A collection of s in configuration.
Gets the element key for a specified configuration element when overridden in a derived class.
An that acts as the key for the specified .
The to return the key for.
Helpful extension methods when implementing configuration sections
that deserialize "unwrapped" elements - elements that should be
deserialized into a container but can be present outside
that container in the actual config file.
Deserialize an element of the given type, store it in
the collection object, and
Type of element to create and deserialize.
Parent element containing element to deserialize.
Xml reader containing state to deserialize from.
Collection to store the created element into.
The created element.
Deserialize an element, basing the element type on the one
supplied at runtime, and then store the element into the
given .
This method is useful when reading elements into a polymorphic collection.
Base type of element to store.
Element that contains the collection being stored into.
Xml Reader containing state to deserialize from.
Runtime type of element to create.
Collection to store the created element into.
The created element.
Class that tracks the current input state of the parser.
A simple implementing of the rules for a Parsing Expression Grammar
parsing algorithm. This supplies basic methods to do the primitives
of the PEG, and combinators to create larger rules.
The PEG "dot" operator that matches and consumes one character.
Input to the parser.
The parse result.
Parse function generator that returns a method to match a single,
specific character.
Character to match.
The generated parsing function.
Parse function generator that checks if the current character matches
the predicate supplied.
Predicate used to determine if the character is in
the given range.
The generated parsing function.
The "*" operator - match zero or more of the inner parse expressions.
Parse method to repeat matching.
The generated parsing function.
Parsing combinator that matches all of the given expressions in
order, or matches none of them.
Expressions that form the sequence to match.
The combined sequence.
Parsing combinator that implements the PEG prioritized choice operator. Basically,
try each of the expressions in order, and match if any of them match, stopping on the
first match.
Expressions that form the set of alternatives.
The combined parsing method.
Parsing combinator implementing the "not" predicate. This wraps
the given parsing method with a check
to see if it matched. If it matched, then the Not fails, and vice
versa. The result consumes no input.
The parse method to wrap.
The generated parsing function.
Parsing expression that matches End of input.
Parser input.
Parse result
Combinator that executes an action if the given expression matched.
Parsing expression to match.
Action to execute if
matched. Input is the matched text from .
The result of .
Combinator that executes an action if the given expression matched.
parsing expression to match.
Method to execute if a match happens. This method returns
the that will be returned from the combined expression.
The result of if expression matched, else
whatever returned.
Object containing the result of attempting to match a PEG rule.
This object is the return type for all parsing methods.
Did the rule match?
The characters that were matched (if any)
Any extra information provided by the parsing expression
(only set if the parse matched). The nature
of the data varies depending on the parsing expression.
Helper methods to make it easier to pull the data
out of the result of a sequence expression.
Returns an enumerator that iterates through a collection.
An object that can be used to iterate through the collection.
2
Returns an enumerator that iterates through the collection.
A that can be used to iterate through the collection.
1
Adds an item to the .
The object to add to the .
The is read-only.
Removes all items from the .
The is read-only.
Determines whether the contains a specific value.
true if is found in the ; otherwise, false.
The object to locate in the .
Copies the elements of the sequence to an , starting at a particular index.
The one-dimensional that is the destination of the elements copied from this sequence. The must have zero-based indexing.
The zero-based index in at which copying begins.
is null.
is less than 0.
is multidimensional.
-or-
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 was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original .
The object to remove from the .
The is read-only.
Determines the index of a specific item in the .
The index of if found in the list; otherwise, -1.
The object to locate in the .
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.
Removes the item at the specified index.
The zero-based index of the item to remove.
is not a valid index in the .
The is read-only.
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.
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 not a valid index in the .
The property is set and the is read-only.
Class containing information about a type name.
The base name of the class
Namespace if any
Assembly name, if any
Helper methods on .
A helper method to make it more foolproof to write elements. This takes care of writing the
start and end elment tags, and takes a nested closure with the code to write the content of
the tag. That way the caller doesn't need to worry about the details of getting the start
and end tags correct.
We don't support XML Namespaces here because .NET configuration doesn't use them so
we don't need it for this current implementation.
XmlWriter to write to.
Name of element.
Nested lambda which, when executed, will create the content for the
element.
(for method chaining if desired).
A helper method to make it easier to output attributes. If the is
null or an empty string, output nothing, else output the given XML attribute.
Writer to output to.
Attribute name to write.
Value for the attribute.
(for method chaining if desired).
A base class for those elements that can be used
to configure a unity container.
Create a new instance of .
Apply this element's configuration to the given .
Container to configure.
Return a unique key that can be used to manage this element in a collection.
A couple of useful extension methods on IDictionary
Get the value from a dictionary, or null if there is no value.
Key type of dictionary.
Value type of dictionary.
Dictionary to search.
Key to look up.
The value at the key or null if not in the dictionary.
A helper class used to map element tag names to a handler method
used to interpret that element.
Add method to enable dictionary initializer syntax
Process an unknown element according to the map entries.
Parent element that hit this unknown element.
Name of the unknown element.
XmlReader positioned at start of element.
true if processed, false if not.
Returns an enumerator that iterates through a collection.
An object that can be used to iterate through the collection.
2
Returns an enumerator that iterates through the collection.
A that can be used to iterate through the collection.
1
A helper class used to map element tag names to a handler method
used to interpret that element.
Returns an enumerator that iterates through a collection.
An object that can be used to iterate through the collection.
2
Returns an enumerator that iterates through the collection.
A that can be used to iterate through the collection.
1
A helper class that assists in deserializing parameter and property
elements. These elements both have a single "value" child element that
specify the value to inject for the property or parameter.
Create a new that wraps reading
values and storing them in the given .
Element that contains the value elements.
Gets a , or if none is present,
returns a default .
The .
The given , unless
is null, in which case returns
a .
Helper method used during deserialization to handle
attributes for the dependency and value tags.
attribute name.
attribute value.
true
Helper method used during deserialization to handle the default
value element tags.
The element name.
XML data to read.
True if deserialization succeeded, false if it failed.
Call this method at the end of deserialization of your element to
set your value element.
Serialize a object out to XML.
This method is aware of and implements the shorthand attributes
for dependency and value elements.
Writer to output XML to.
The to serialize.
If true, always output an element. If false, then
dependency and value elements will be serialized as attributes in the parent tag.
Configuration element representing a constructor configuration.
Base class for configuration elements that generate
object to configure a container.
Return the set of s that are needed
to configure the container according to this configuration element.
Container that is being configured.
Type that is being registered.
Type that is being mapped to.
Name this registration is under.
One or more objects that should be
applied to the container registration.
Get the standard tag name for an
taking into account currently loaded section extensions.
Element to get the name for.
The element name.
If the member element is not currently registered
with the section.
Each element must have a unique key, which is generated by the subclasses.
Element name to use to serialize this into XML.
Write the contents of this element to the given .
The caller of this method has already written the start element tag before
calling this method, so deriving classes only need to write the element content, not
the start or end tags.
Writer to send XML content to.
Return the set of s that are needed
to configure the container according to this configuration element.
Container that is being configured.
Type that is being registered.
Type that is being mapped to.
Name this registration is under.
One or more objects that should be
applied to the container registration.
The parameters of the constructor to call.
Each element must have a unique key, which is generated by the subclasses.
Element name to use to serialize this into XML.
A collection of s as
loaded from configuration.
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.
An that acts as the key for the specified .
The to return the key for.
A configuration element class defining the set of registrations to be
put into a container.
Original configuration API kept for backwards compatibility.
Container to configure
Apply the configuration information in this element to the
given .
Container to configure.
Gets a value indicating whether an unknown element is encountered during deserialization.
true when an unknown element is encountered while deserializing; otherwise, false.
The name of the unknown subelement.
The being used for deserialization.
The element identified by is locked.
- or -
One or more of the element's attributes is locked.
- or -
is unrecognized, or the element has an unrecognized attribute.
- or -
The element has a Boolean attribute with an invalid value.
- or -
An attempt was made to deserialize a property more than once.
- or -
An attempt was made to deserialize a property that is not a valid member of the element.
- or -
The element cannot contain a CDATA or text element.
Write the contents of this element to the given .
The caller of this method has already written the start element tag before
calling this method, so deriving classes only need to write the element content, not
the start or end tags.
Writer to send XML content to.
Name for this container configuration as given in the config file.
The type registrations in this container.
Any instances to register in the container.
Any extensions to add to the container.
Set of any extra configuration elements that were added by a
section extension.
This is not marked as a configuration property because we don't want
the actual property to show up as a nested element in the configuration.
Configuration element representing an extension to add to a container.
Add the extension specified in this element to the container.
Container to configure.
Write the contents of this element to the given .
The caller of this method has already written the start element tag before
calling this method, so deriving classes only need to write the element content, not
the start or end tags.
Writer to send XML content to.
Type of the extension to add.
A collection of s.
Gets the element key for a specified configuration element when overridden in a derived class.
An that acts as the key for the specified .
The to return the key for.
A derived class that describes
a parameter that should be resolved through the container.
Create a new instance of .
Create a new instance of with
properties initialized from the contents of
.
Dictionary of name/value pairs to
initialize this object with.
Write the contents of this element to the given .
The caller of this method has already written the start element tag before
calling this method, so deriving classes only need to write the element content, not
the start or end tags.
Writer to send XML content to.
Write the contents of this element to the given . This
method always outputs an explicit <dependency> tag, instead of providing
attributes to the parent method.
Writer to send XML content to.
Generate an object
that will be used to configure the container for a type registration.
Container that is being configured. Supplied in order
to let custom implementations retrieve services; do not configure the container
directly in this method.
Type of the
Name to use to when resolving. If empty, resolves the default.
Name of type this dependency should resolve to. This is optional;
without it the container will resolve the type of whatever
property or parameter this element is contained in.
Base class used to derive new elements that can occur
directly within a container element.
Initialize a new instance of .
When overridden in a derived class, this method will make configuration
calls into the given according to its contents.
The container to configure.
Unique key generated for use in the collection class.
A collection of s.
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.
An that acts as the key for the specified .
The to return the key for.
This class manages the set of extension elements
added by section elements.
Clear the current set of extension elements.
Register a new ContainerExtensionConfigurationElement with he section so it
can be read.
prefix if any.
tag name.
Type of element to register.
Register a new with the section
so it can be read.
prefix if any.
Tag name.
Type of element to register.
Register a new with the section
so it can be read.
prefix if any.
Tag name.
Type of element to register.
Retrieve the registered for the given
tag.
Tag to look up.
Type of element, or null if not registered.
Retrieve the ContainerExtensionConfigurationElement registered for the given
tag.
Tag to look up.
Type of element, or null if not registered.
Retrieve the ContainerExtensionConfigurationElement registered for the given
tag.
Tag to look up.
Type of element, or null if not registered.
Retrieve the correct tag to use when serializing the given
to XML.
Element to be serialized.
The tag for that element type.
if the element is of a type that
is not registered with the section already.
A polymorphic collection of s.
Causes the configuration system to throw an exception.
true if the unrecognized element was deserialized successfully; otherwise, false. The default is false.
The name of the unrecognized element.
An input stream that reads XML from the configuration file.
The element specified in is the <clear> element.
starts with the reserved prefix "config" or "lock".
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.
An that acts as the key for the specified .
The to return the key for.
Indexer that lets you access elements by their key.
Key to retrieve element with.
The element.
A configuration element that describes an instance to add to the container.
Write the contents of this element to the given .
The caller of this method has already written the start element tag before
calling this method, so deriving classes only need to write the element content, not
the start or end tags.
Writer to send XML content to.
Add the instance defined by this element to the given container.
Container to configure.
Name to register instance under
Value for this instance
Type of the instance. If not given, defaults to string
Type name for the type converter to use to create the instance. If not
given, defaults to the default type converter for this instance type.
Key used to keep these instances unique in the config collection.
A collection of s.
Gets the element key for a specified configuration element when overridden in a derived class.
An that acts as the key for the specified .
The to return the key for.
An element that has a child Value property.
String that will be deserialized to provide the value.
A string describing where the value this element contains
is being used. For example, if setting a property Prop1,
this should return "property Prop1" (in english).
A configuration element that represents lifetime managers.
Create the described by
this element.
A instance.
Write the contents of this element to the given .
The caller of this method has already written the start element tag before
calling this method, so deriving classes only need to write the element content, not
the start or end tags.
Writer to send XML content to.
Type of the lifetime manager.
Extra initialization information used by the type converter for this lifetime manager.
Type of to use to create the
lifetime manager.
A configuration element representing a method to call.
Construct a new instance of .
Write the contents of this element to the given .
The caller of this method has already written the start element tag before
calling this method, so deriving classes only need to write the element content, not
the start or end tags.
Writer to send XML content to.
Return the set of s that are needed
to configure the container according to this configuration element.
Container that is being configured.
Type that is being registered.
Type that is being mapped to.
Name this registration is under.
One or more objects that should be
applied to the container registration.
Name of the method to call.
Parameters to the method call.
Each element must have a unique key, which is generated by the subclasses.
Element name to use to serialize this into XML.
A configuration element representing the namespace
tags in the config file.
A collection of s in configuration.
Gets the element key for a specified configuration element when overridden in a derived class.
An that acts as the key for the specified .
The to return the key for.
A configuration element that specifies that a value
is optional.
Write the contents of this element to the given .
The caller of this method has already written the start element tag before
calling this method, so deriving classes only need to write the element content, not
the start or end tags.
Writer to send XML content to.
Generate an object
that will be used to configure the container for a type registration.
Container that is being configured. Supplied in order
to let custom implementations retrieve services; do not configure the container
directly in this method.
Type of the
Name used to resolve the dependency, leave out or blank to resolve default.
Type of dependency to resolve. If left out, resolved the type of
the containing parameter or property.
Configuration element representing a parameter passed to a constructor
or a method.
Construct a new instance of .
Returns the required needed
to configure the container so that the correct value is injected.
Container being configured.
Type of the parameter.
The value to use to configure the container.
Does the information in this match
up with the given ?
Information about the parameter.
True if this is a match, false if not.
Reads XML from the configuration file.
The that reads from the configuration file.
true to serialize only the collection key properties; otherwise, false.
The element to read is locked.
- or -
An attribute of the current node is not recognized.
- or -
The lock status of the current node cannot be determined.
Gets a value indicating whether an unknown attribute is encountered during deserialization.
true when an unknown attribute is encountered while deserializing; otherwise, false.
The name of the unrecognized attribute.
The value of the unrecognized attribute.
Gets a value indicating whether an unknown element is encountered during deserialization.
true when an unknown element is encountered while deserializing; otherwise, false.
The name of the unknown subelement.
The being used for deserialization.
The element identified by is locked.
- or -
One or more of the element's attributes is locked.
- or -
is unrecognized, or the element has an unrecognized attribute.
- or -
The element has a Boolean attribute with an invalid value.
- or -
An attempt was made to deserialize a property more than once.
- or -
An attempt was made to deserialize a property that is not a valid member of the element.
- or -
The element cannot contain a CDATA or text element.
Write the contents of this element to the given .
The caller of this method has already written the start element tag before
calling this method, so deriving classes only need to write the element content, not
the start or end tags.
Writer to send XML content to.
Name of this parameter.
Type of this parameter.
This is only needed in order to disambiguate method overloads. Normally
the parameter name is sufficient.
Element that describes the value for this property.
This is NOT marked as a ConfigurationProperty because this
child element is polymorphic, and the element tag determines
the type. Standard configuration properties only let you do
this if it's a collection, but we only want one value. Thus
the separate property. The element is deserialized in
.
A string describing where the value this element contains
is being used. For example, if setting a property Prop1,
this should return "property Prop1" (in english).
A collection of objects.
Gets the element key for a specified configuration element when overridden in a derived class.
An that acts as the key for the specified .
The to return the key for.
A collection of objects.
Causes the configuration system to throw an exception.
true if the unrecognized element was deserialized successfully; otherwise, false. The default is false.
The name of the unrecognized element.
An input stream that reads XML from the configuration file.
The element specified in is the <clear> element.
starts with the reserved prefix "config" or "lock".
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.
An that acts as the key for the specified .
The to return the key for.
String that will be deserialized to provide the value.
A string describing where the value this element contains
is being used. For example, if setting a property Prop1,
this should return "property Prop1" (in english).
A strongly-typed resource class, for looking up localized strings, etc.
Returns the cached ResourceManager instance used by this class.
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
Looks up a localized string similar to An abstract ContainerConfiguringElement cannot be created. Please specify a concrete type..
Looks up a localized string similar to An abstract ExtensionConfigurationElement object cannot be created. Please specify a concrete type..
Looks up a localized string similar to An abstract InjectionMemberElement object cannot be created. Please specify a concrete type..
Looks up a localized string similar to An abstract ParameterValueElement object cannot be created. Please specify a concrete type..
Looks up a localized string similar to The type name or alias {0} could not be resolved. Please check your configuration file and verify this type name..
Looks up a localized string similar to The dependency element for generic parameter {0} must not have an explicit type name but has '{1}'..
Looks up a localized string similar to The optional dependency element for generic parameter {0} must not have an explicit type name but has '{1}'..
Looks up a localized string similar to {0} {1}.
Looks up a localized string similar to The injection configuration for {0} has multiple values..
Looks up a localized string similar to The configuration element type {0} has not been registered with the section..
Looks up a localized string similar to The injection configuration for {0} is specified through both attributes and child value elements..
Looks up a localized string similar to Could not load section extension type {0}..
Looks up a localized string similar to The extension type {0} does not derive from SectionExtension..
Looks up a localized string similar to The extension element type {0} that is being added does not derive from ContainerConfiguringElement, InjectionMemberElement, or ParameterValueElement. An extension element must derive from one of these types..
Looks up a localized string similar to No valid attributes were found to construct the value for the {0}. Please check the configuration file..
Looks up a localized string similar to Configuration is incorrect, the type {0} does not have a constructor that takes parameters named {1}..
Looks up a localized string similar to Configuration is incorrect, the type {0} does not have a method named {1} that takes parameters named {2}..
Looks up a localized string similar to The container named "{0}" is not defined in this configuration section..
Looks up a localized string similar to The type {0} does not have a property named {1}..
Looks up a localized string similar to The configuration is set to inject an array, but the type {0} is not an array type..
Looks up a localized string similar to parameter.
Looks up a localized string similar to property.
Looks up a localized string similar to The attribute {0} must be present and non-empty..
Looks up a localized string similar to The value element for {1} was specified for the generic array type {0}. Value elements are not allowed for generic array types..
Looks up a localized string similar to The value element for {1} was specified for the generic parameter type {0}. Value elements are not allowed for generic parameter types..
Looks up a localized string similar to The value element for {1} was specified for the generic type {0}. Value elements are not allowed for generic types..
A class representing a property configuration element.
Construct a new instance of
Reads XML from the configuration file.
The that reads from the configuration file.
true to serialize only the collection key properties; otherwise, false.
The element to read is locked.
- or -
An attribute of the current node is not recognized.
- or -
The lock status of the current node cannot be determined.
Gets a value indicating whether an unknown attribute is encountered during deserialization.
true when an unknown attribute is encountered while deserializing; otherwise, false.
The name of the unrecognized attribute.
The value of the unrecognized attribute.
Gets a value indicating whether an unknown element is encountered during deserialization.
true when an unknown element is encountered while deserializing; otherwise, false.
The name of the unknown subelement.
The being used for deserialization.
The element identified by is locked.
- or -
One or more of the element's attributes is locked.
- or -
is unrecognized, or the element has an unrecognized attribute.
- or -
The element has a Boolean attribute with an invalid value.
- or -
An attempt was made to deserialize a property more than once.
- or -
An attempt was made to deserialize a property that is not a valid member of the element.
- or -
The element cannot contain a CDATA or text element.
Write the contents of this element to the given .
The caller of this method has already written the start element tag before
calling this method, so deriving classes only need to write the element content, not
the start or end tags.
Writer to send XML content to.
Return the set of s that are needed
to configure the container according to this configuration element.
Container that is being configured.
Type that is being registered.
Type that is being mapped to.
Name this registration is under.
One or more objects that should be
applied to the container registration.
Name of the property that will be set.
Each element must have a unique key, which is generated by the subclasses.
String that will be deserialized to provide the value.
A string describing where the value this element contains
is being used. For example, if setting a property Prop1,
this should return "property Prop1" (in english).
Element name to use to serialize this into XML.
A configuration element representing a single container type registration.
Apply the registrations from this element to the given container.
Container to configure.
Write the contents of this element to the given .
The caller of this method has already written the start element tag before
calling this method, so deriving classes only need to write the element content, not
the start or end tags.
Writer to send XML content to.
The type that is registered.
Name registered under.
Type that is mapped to.
Lifetime manager to register for this registration.
Any injection members (constructor, properties, etc.) that are specified for
this registration.
A collection of s.
Causes the configuration system to throw an exception.
true if the unrecognized element was deserialized successfully; otherwise, false. The default is false.
The name of the unrecognized element.
An input stream that reads XML from the configuration file.
The element specified in is the <clear> element.
starts with the reserved prefix "config" or "lock".
Gets the element key for a specified configuration element when overridden in a derived class.
An that acts as the key for the specified .
The to return the key for.
Base class for Unity configuration section extensions.
Derived classes are used to add custom elments and aliases
into the configuration section being loaded.
Add the extensions to the section via the context.
Context object that can be used to add elements and aliases.
An object that gives the ability to add
elements and aliases to a configuration section.
Add a new alias to the configuration section. This is useful
for those extensions that add commonly used types to configuration
so users don't have to alias them repeatedly.
The alias to use.
Type the alias maps to.
Add a new alias to the configuration section. This is useful
for those extensions that add commonly used types to configuration
so users don't have to alias them repeatedly.
Type the alias maps to.
The alias to use
Add a new element to the configuration section schema.
Tag name in the XML.
Type the tag maps to.
Add a new element to the configuration section schema.
Type the tag maps to.
Tag name in the XML.
A configuration element used to specify which extensions to
add to the configuration schema.
Reads XML from the configuration file.
The that reads from the configuration file.
true to serialize only the collection key properties; otherwise, false.
The element to read is locked.
- or -
An attribute of the current node is not recognized.
- or -
The lock status of the current node cannot be determined.
Write the contents of this element to the given .
The caller of this method has already written the start element tag before
calling this method, so deriving classes only need to write the element content, not
the start or end tags.
Writer to send XML content to.
Type of the section extender object that will provide new elements to the schema.
Optional prefix that will be added to the element names added by this
section extender. If left out, no prefix will be added.
The extension object represented by this element.
A collection of s.
Gets the element key for a specified configuration element when overridden in a derived class.
An that acts as the key for the specified .
The to return the key for.
Type that manage access to a set of type aliases and implements
the logic for converting aliases to their actual types.
Set the set of aliases to use for resolution.
Configuration section containing the various
type aliases, namespaces and assemblies.
Resolves a type alias or type fullname to a concrete type.
Type alias or type fullname
Type object or null if resolve fails.
Thrown if alias lookup fails.
Resolves a type alias or type fullname to a concrete type.
Alias or name to resolve.
if true and the alias does not
resolve, throw an , otherwise
return null on failure.
The type object or null if resolve fails and
is false.
Resolve a type alias or type full name to a concrete type.
If is null or empty, return the
given instead.
Type alias or full name to resolve.
Value to return if typeName is null or empty.
The concrete .
Thrown if alias lookup fails.
Resolve a type alias or type full name to a concrete type.
If is null or empty, return the
given instead.
Type alias or full name to resolve.
Value to return if typeName is null or empty.
if true and the alias does not
resolve, throw an , otherwise
return null on failure.
The concrete .
Thrown if alias lookup fails and
is true.
A helper class that implements the actual logic for resolving a shorthand
type name (alias or raw type name) into an actual type object.
Construct a new that uses the given
sequence of alias, typename pairs to resolve types.
Type aliases from the configuration file.
Assembly names to search.
Namespaces to search.
Resolves a type alias or type fullname to a concrete type.
Alias or name to resolve.
if true and the alias does not
resolve, throw an , otherwise
return null on failure.
The type object or null if resolve fails and
is false.
Resolve a type alias or type full name to a concrete type.
If is null or empty, return the
given instead.
Type alias or full name to resolve.
Value to return if typeName is null or empty.
if true and the alias does not
resolve, throw an , otherwise
return null on failure.
If is null or an empty string,
then return .
Otherwise, return the resolved type object. If the resolution fails
and is false, then return null.
A configuration section describing configuration for an .
The name of the section where unity configuration is expected to be found.
XML Namespace string used for IntelliSense in this section.
Apply the configuration in the default container element to the given container.
Container to configure.
The passed in .
Apply the configuration in the default container element to the given container.
Container to configure.
Name of the container element to use to configure the container.
The passed in .
Reads XML from the configuration file.
The object, which reads from the configuration file.
found no elements in the configuration file.
Gets a value indicating whether an unknown element is encountered during deserialization.
true when an unknown element is encountered while deserializing; otherwise, false.
The name of the unknown subelement.
The being used for deserialization.
The element identified by is locked.
- or -
One or more of the element's attributes is locked.
- or -
is unrecognized, or the element has an unrecognized attribute.
- or -
The element has a Boolean attribute with an invalid value.
- or -
An attempt was made to deserialize a property more than once.
- or -
An attempt was made to deserialize a property that is not a valid member of the element.
- or -
The element cannot contain a CDATA or text element.
Creates an XML string containing an unmerged view of the object as a single section to write to a file.
An XML string containing an unmerged view of the object.
The instance to use as the parent when performing the un-merge.
The name of the section to create.
The instance to use when writing to a string.
The current that is being deserialized
or being configured from.
Storage for XML namespace. The namespace isn't used or validated by config, but
it is useful for Visual Studio XML IntelliSense to kick in.
The set of containers defined in this configuration section.
The set of type aliases defined in this configuration file.
Any schema extensions that are added.
Any namespaces added to the type search list.
Any assemblies added to the type search list.
Add a new alias to the configuration section. This is useful
for those extensions that add commonly used types to configuration
so users don't have to alias them repeatedly.
The alias to use.
Type the alias maps to.
Add a new element to the configuration section schema.
Tag name in the XML.
Type the tag maps to.
Collection element for s.
Plug point to get objects out of the collection.
Index in the collection to retrieve the item from.
Item at that index or null if not present.
Plug point to get objects out of the collection.
Key to look up the object by.
Item with that key or null if not present.
Gets the element key for a specified configuration element when overridden in a derived class.
An that acts as the key for the specified .
The to return the key for.
Retrieve a stored by name.
Name to look up.
The stored container or null if not in the collection.
Return the default container in the collection. The default is the one without a name.
Extensions to to simplify
loading configuration into a container.
Apply configuration from the given section and named container
into the given container.
Unity container to configure.
Configuration section with config information.
Named container.
.
Apply configuration from the default section (named "unity" pulled out of
ConfigurationManager) and the named container.
Unity container to configure.
Named container element in configuration.
.
Apply configuration from the default section and unnamed container element.
Container to configure.
.
Apply configuration from the default container in the given section.
Unity container to configure.
Configuration section.
.
Element that describes a constant value that will be
injected into the container.
Construct a new object.
Construct a new object,
initializing properties from the contents of
.
Name/value pairs which
contain the values to initialize properties to.
Write the contents of this element to the given .
The caller of this method has already written the start element tag before
calling this method, so deriving classes only need to write the element content, not
the start or end tags.
Writer to send XML content to.
Write the contents of this element to the given . This
method always outputs an explicit <dependency> tag, instead of providing
attributes to the parent method.
Writer to send XML content to.
Generate an object
that will be used to configure the container for a type registration.
Container that is being configured. Supplied in order
to let custom implementations retrieve services; do not configure the container
directly in this method.
Type of the parameter to get the value for.
The required object.
Value for this element