diff --git a/src/NugetPackage/UnityAutoMoqPlus.3.0.0.nupkg b/src/NugetPackage/UnityAutoMoqPlus.3.0.0.nupkg
new file mode 100644
index 0000000..791ad3d
Binary files /dev/null and b/src/NugetPackage/UnityAutoMoqPlus.3.0.0.nupkg differ
diff --git a/src/UnityAutoMoq.Tests/Properties/AssemblyInfo.cs b/src/UnityAutoMoq.Tests/Properties/AssemblyInfo.cs
index a0017a3..b89de9f 100644
--- a/src/UnityAutoMoq.Tests/Properties/AssemblyInfo.cs
+++ b/src/UnityAutoMoq.Tests/Properties/AssemblyInfo.cs
@@ -10,7 +10,7 @@
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Infodoc AS")]
[assembly: AssemblyProduct("UnityAutoMoq.Test")]
-[assembly: AssemblyCopyright("Copyright © Infodoc AS 2009")]
+[assembly: AssemblyCopyright("Copyright (C) Thomas Pedersen, Raj Aththanayake")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
diff --git a/src/UnityAutoMoq.Tests/UnityAutoMoq.Tests.csproj b/src/UnityAutoMoq.Tests/UnityAutoMoq.Tests.csproj
index 52e3a2b..684c4cd 100644
--- a/src/UnityAutoMoq.Tests/UnityAutoMoq.Tests.csproj
+++ b/src/UnityAutoMoq.Tests/UnityAutoMoq.Tests.csproj
@@ -10,7 +10,7 @@
Properties
UnityAutoMoq.Tests
UnityAutoMoq.Tests
- v4.0
+ v4.5
512
@@ -49,6 +49,7 @@
DEBUG;TRACE
prompt
4
+ false
pdbonly
@@ -57,18 +58,19 @@
TRACE
prompt
4
+ false
-
- ..\packages\CommonServiceLocator.1.0\lib\NET35\Microsoft.Practices.ServiceLocation.dll
-
-
+
False
- ..\packages\Unity.2.1.505.0\lib\NET35\Microsoft.Practices.Unity.dll
+ ..\packages\Unity.3.5.1404.0\lib\net45\Microsoft.Practices.Unity.dll
-
+
False
- ..\packages\Unity.2.1.505.0\lib\NET35\Microsoft.Practices.Unity.Configuration.dll
+ ..\packages\Unity.3.5.1404.0\lib\net45\Microsoft.Practices.Unity.Configuration.dll
+
+
+ ..\packages\Unity.3.5.1404.0\lib\net45\Microsoft.Practices.Unity.RegistrationByConvention.dll
False
diff --git a/src/UnityAutoMoq.Tests/UnityAutoMoqContainerFixture.cs b/src/UnityAutoMoq.Tests/UnityAutoMoqContainerFixture.cs
index 8041ce9..ec8f279 100644
--- a/src/UnityAutoMoq.Tests/UnityAutoMoqContainerFixture.cs
+++ b/src/UnityAutoMoq.Tests/UnityAutoMoqContainerFixture.cs
@@ -1,150 +1,161 @@
-using System;
-using System.Web;
-using NUnit.Framework;
-using Moq;
-using Microsoft.Practices.Unity;
-
-namespace UnityAutoMoq.Tests
-{
- [TestFixture]
- public class UnityAutoMoqContainerFixture
- {
- private UnityAutoMoqContainer container;
-
- [SetUp]
- public void SetUp()
- {
- container = new UnityAutoMoqContainer();
- }
-
- [Test]
- public void Can_get_instance_without_registering_it_first()
- {
- var mocked = container.Resolve();
-
- mocked.ShouldNotBeNull();
- }
-
- [Test]
- public void Can_get_mock()
- {
- Mock mock = container.GetMock();
-
- mock.ShouldNotBeNull();
- }
-
- [Test]
- public void Mocked_object_and_resolved_instance_should_be_the_same()
- {
- Mock mock = container.GetMock();
- var mocked = container.Resolve();
-
- mock.Object.ShouldBeSameAs(mocked);
- }
-
- [Test]
- public void Mocked_object_and_resolved_instance_should_be_the_same_order_independent()
- {
- var mocked = container.Resolve();
- Mock mock = container.GetMock();
-
- mock.Object.ShouldBeSameAs(mocked);
- }
-
- [Test]
- public void Should_apply_default_default_value_when_none_specified()
- {
- container = new UnityAutoMoqContainer();
- var mocked = container.GetMock();
-
- mocked.DefaultValue.ShouldEqual(DefaultValue.Mock);
- }
-
- [Test]
- public void Should_apply_specified_default_value_when_specified()
- {
- container = new UnityAutoMoqContainer(DefaultValue.Empty);
- var mocked = container.GetMock();
-
- mocked.DefaultValue.ShouldEqual(DefaultValue.Empty);
- }
-
- [Test]
- public void Should_apply_specified_default_value_when_specified_2()
- {
- container = new UnityAutoMoqContainer{DefaultValue = DefaultValue.Empty};
- var mocked = container.GetMock();
-
- mocked.DefaultValue.ShouldEqual(DefaultValue.Empty);
- }
-
- [Test]
- public void Can_resolve_concrete_type_with_dependency()
- {
- var concrete = container.Resolve();
-
- concrete.ShouldNotBeNull();
- concrete.AnotherService.ShouldNotBeNull();
- }
-
- [Test]
- public void Getting_mock_after_resolving_concrete_type_should_return_the_same_mock_as_passed_as_argument_to_the_concrete()
- {
- var concrete = container.Resolve();
- Mock mock = container.GetMock();
-
- concrete.AnotherService.ShouldBeSameAs(mock.Object);
- }
-
- [Test]
- public void Can_configure_mock_as_several_interfaces()
- {
- container.ConfigureMock().As();
-
- container.GetMock().As();
- }
-
- [Test]
- public void Can_configure_mock_as_several_interfaces_2()
- {
- container.ConfigureMock().As().As();
-
- container.GetMock().As();
- container.GetMock().As();
- }
-
- [Test]
- public void Can_lazy_load_dependencies()
- {
- var service = container.Resolve();
-
- Assert.That(service.ServiceFunc(), Is.InstanceOf());
- }
-
- [Test]
- public void Can_mock_abstract_classes()
- {
- var mock = container.GetMock();
-
- mock.ShouldBeOfType>();
- }
-
- [Test]
- public void Can_inject_mocked_abstract_class()
- {
- var concrete = container.Resolve();
- var mock = container.GetMock();
-
- concrete.HttpContextBase.ShouldBeSameAs(mock.Object);
- }
-
- [Test]
- public void Can_get_registered_implementation()
- {
- container.RegisterType();
- var real = container.Resolve();
-
- real.ShouldBeOfType();
- }
- }
+using System;
+using System.Web;
+using NUnit.Framework;
+using Moq;
+using Microsoft.Practices.Unity;
+
+namespace UnityAutoMoq.Tests
+{
+ [TestFixture]
+ public class UnityAutoMoqContainerFixture
+ {
+ private UnityAutoMoqContainer container;
+
+ [SetUp]
+ public void SetUp()
+ {
+ container = new UnityAutoMoqContainer();
+ }
+
+ [Test]
+ public void Can_get_instance_without_registering_it_first()
+ {
+ var mocked = container.Resolve();
+
+ mocked.ShouldNotBeNull();
+ }
+
+ [Test]
+ public void Can_get_mock()
+ {
+ Mock mock = container.GetMock();
+
+ mock.ShouldNotBeNull();
+ }
+
+ [Test]
+ public void Mocked_object_and_resolved_instance_should_be_the_same()
+ {
+ Mock mock = container.GetMock();
+ var mocked = container.Resolve();
+
+ mock.Object.ShouldBeSameAs(mocked);
+ }
+
+ [Test]
+ public void Mocked_object_and_resolved_instance_should_be_the_same_order_independent()
+ {
+ var mocked = container.Resolve();
+ Mock mock = container.GetMock();
+
+ mock.Object.ShouldBeSameAs(mocked);
+ }
+
+ [Test]
+ public void Should_apply_default_default_value_when_none_specified()
+ {
+ container = new UnityAutoMoqContainer();
+ var mocked = container.GetMock();
+
+ mocked.DefaultValue.ShouldEqual(DefaultValue.Mock);
+ }
+
+ [Test]
+ public void Should_apply_specified_default_value_when_specified()
+ {
+ container = new UnityAutoMoqContainer(DefaultValue.Empty);
+ var mocked = container.GetMock();
+
+ mocked.DefaultValue.ShouldEqual(DefaultValue.Empty);
+ }
+
+ [Test]
+ public void Should_apply_specified_default_value_when_specified_2()
+ {
+ container = new UnityAutoMoqContainer{DefaultValue = DefaultValue.Empty};
+ var mocked = container.GetMock();
+
+ mocked.DefaultValue.ShouldEqual(DefaultValue.Empty);
+ }
+
+ [Test]
+ public void Can_resolve_concrete_type_with_dependency()
+ {
+ var concrete = container.Resolve();
+
+ concrete.ShouldNotBeNull();
+ concrete.AnotherService.ShouldNotBeNull();
+ }
+
+ [Test]
+ public void Getting_mock_after_resolving_concrete_type_should_return_the_same_mock_as_passed_as_argument_to_the_concrete()
+ {
+ var concrete = container.Resolve();
+ Mock mock = container.GetMock();
+
+ concrete.AnotherService.ShouldBeSameAs(mock.Object);
+ }
+
+ [Test]
+ public void Can_configure_mock_as_several_interfaces()
+ {
+ container.ConfigureMock().As();
+
+ container.GetMock().As();
+ }
+
+ [Test]
+ public void Can_configure_mock_as_several_interfaces_2()
+ {
+ container.ConfigureMock().As().As();
+
+ container.GetMock().As();
+ container.GetMock().As();
+ }
+
+ [Test]
+ public void Can_lazy_load_dependencies()
+ {
+ var service = container.Resolve();
+
+ Assert.That(service.ServiceFunc(), Is.InstanceOf());
+ }
+
+ [Test]
+ public void Can_mock_abstract_classes()
+ {
+ var mock = container.GetMock();
+
+ mock.ShouldBeOfType>();
+ }
+
+ [Test]
+ public void Can_inject_mocked_abstract_class()
+ {
+ var concrete = container.Resolve();
+ var mock = container.GetMock();
+
+ concrete.HttpContextBase.ShouldBeSameAs(mock.Object);
+ }
+
+ [Test]
+ public void Can_get_registered_implementation()
+ {
+ container.RegisterType();
+ var real = container.Resolve();
+
+ real.ShouldBeOfType();
+ }
+
+ [Test]
+ public void GetStubMethod_ShouldReturn_TheSameMockedInstance()
+ {
+ container = new UnityAutoMoqContainer(DefaultValue.Empty);
+ var mocked = container.GetMock();
+
+ var stub = container.GetStub();
+
+ mocked.Object.ShouldBeSameAs(stub.Object);
+ }
+ }
}
\ No newline at end of file
diff --git a/src/UnityAutoMoq.Tests/packages.config b/src/UnityAutoMoq.Tests/packages.config
index 9c93bd6..22a1754 100644
--- a/src/UnityAutoMoq.Tests/packages.config
+++ b/src/UnityAutoMoq.Tests/packages.config
@@ -1,7 +1,6 @@
-
-
+
-
+
\ No newline at end of file
diff --git a/src/UnityAutoMoq.ncrunchsolution b/src/UnityAutoMoq.ncrunchsolution
new file mode 100644
index 0000000..0f0716f
--- /dev/null
+++ b/src/UnityAutoMoq.ncrunchsolution
@@ -0,0 +1,13 @@
+
+ 0
+ Default
+ false
+ true
+ UseDynamicAnalysis
+ UseStaticAnalysis
+ UseStaticAnalysis
+ UseStaticAnalysis
+ Run all tests automatically:BFRydWU=;Run all tests manually:BUZhbHNl;Run impacted tests automatically, others manually (experimental!):CklzSW1wYWN0ZWQ=;Run pinned tests automatically, others manually:CElzUGlubmVk
+
+
+
\ No newline at end of file
diff --git a/src/UnityAutoMoq.sln b/src/UnityAutoMoq.sln
index 7fc4de7..393cf55 100644
--- a/src/UnityAutoMoq.sln
+++ b/src/UnityAutoMoq.sln
@@ -1,6 +1,6 @@
-Microsoft Visual Studio Solution File, Format Version 11.00
-# Visual Studio 2010
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2012
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnityAutoMoq.Tests", "UnityAutoMoq.Tests\UnityAutoMoq.Tests.csproj", "{72D98508-6E3B-4ADF-95F1-B03A0CA81F87}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnityAutoMoq", "UnityAutoMoq\UnityAutoMoq.csproj", "{3FF285B9-7D50-4192-BE06-C3C64EF484FD}"
@@ -11,12 +11,13 @@ Global
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {72D98508-6E3B-4ADF-95F1-B03A0CA81F87}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {72D98508-6E3B-4ADF-95F1-B03A0CA81F87}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {72D98508-6E3B-4ADF-95F1-B03A0CA81F87}.Debug|Any CPU.ActiveCfg = Release|Any CPU
+ {72D98508-6E3B-4ADF-95F1-B03A0CA81F87}.Debug|Any CPU.Build.0 = Release|Any CPU
{72D98508-6E3B-4ADF-95F1-B03A0CA81F87}.Release|Any CPU.ActiveCfg = Release|Any CPU
{72D98508-6E3B-4ADF-95F1-B03A0CA81F87}.Release|Any CPU.Build.0 = Release|Any CPU
- {3FF285B9-7D50-4192-BE06-C3C64EF484FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {3FF285B9-7D50-4192-BE06-C3C64EF484FD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {3FF285B9-7D50-4192-BE06-C3C64EF484FD}.Debug|Any CPU.ActiveCfg = Release|Any CPU
+ {3FF285B9-7D50-4192-BE06-C3C64EF484FD}.Debug|Any CPU.Build.0 = Release|Any CPU
+ {3FF285B9-7D50-4192-BE06-C3C64EF484FD}.Debug|Any CPU.Deploy.0 = Release|Any CPU
{3FF285B9-7D50-4192-BE06-C3C64EF484FD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3FF285B9-7D50-4192-BE06-C3C64EF484FD}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
diff --git a/src/UnityAutoMoq/AsExpression.cs b/src/UnityAutoMoq/AsExpression.cs
index 4bd3176..040eba7 100644
--- a/src/UnityAutoMoq/AsExpression.cs
+++ b/src/UnityAutoMoq/AsExpression.cs
@@ -3,21 +3,37 @@
namespace UnityAutoMoq
{
+ ///
+ /// Provide AsExpression spefied by the type paramter T
+ ///
public class AsExpression
{
private readonly List implements = new List();
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The implements.
public AsExpression(Type implements)
{
this.implements.Add(implements);
}
+ ///
+ /// Ases this instance.
+ ///
+ ///
+ /// AsExpression
public AsExpression As() where T : class
{
implements.Add(typeof(T));
return this;
}
+ ///
+ /// Gets the implementations.
+ ///
+ /// enumerable types
internal IEnumerable GetImplementations()
{
return implements;
diff --git a/src/UnityAutoMoq/NuGet.exe b/src/UnityAutoMoq/NuGet.exe
new file mode 100644
index 0000000..c41a0d0
Binary files /dev/null and b/src/UnityAutoMoq/NuGet.exe differ
diff --git a/src/UnityAutoMoq/Properties/AssemblyInfo.cs b/src/UnityAutoMoq/Properties/AssemblyInfo.cs
index 48417a3..2cbdf55 100644
--- a/src/UnityAutoMoq/Properties/AssemblyInfo.cs
+++ b/src/UnityAutoMoq/Properties/AssemblyInfo.cs
@@ -4,6 +4,6 @@
[assembly: AssemblyDescription("Automocking container using Microsoft Unity and Moq")]
[assembly: AssemblyCompany("UnityAutoMoq")]
[assembly: AssemblyProduct("UnityAutoMoq")]
-[assembly: AssemblyCopyright("Copyright (C) Thomas Pedersen")]
-[assembly: AssemblyVersion("2.1.1")]
+[assembly: AssemblyCopyright("Copyright (C) Thomas Pedersen, Raj Aththanayake")]
+[assembly: AssemblyVersion("3.0.0")]
diff --git a/src/UnityAutoMoq/UnityAutoMoq.csproj b/src/UnityAutoMoq/UnityAutoMoq.csproj
index b3affb2..10367b2 100644
--- a/src/UnityAutoMoq/UnityAutoMoq.csproj
+++ b/src/UnityAutoMoq/UnityAutoMoq.csproj
@@ -1,7 +1,7 @@
- Debug
+ Release
AnyCPU
9.0.30729
2.0
@@ -10,7 +10,7 @@
Properties
UnityAutoMoq
UnityAutoMoq
- v3.5
+ v4.5
512
@@ -39,6 +39,7 @@
+
true
@@ -48,6 +49,7 @@
DEBUG;TRACE
prompt
4
+ false
pdbonly
@@ -56,22 +58,23 @@
TRACE
prompt
4
+ false
-
- ..\packages\CommonServiceLocator.1.0\lib\NET35\Microsoft.Practices.ServiceLocation.dll
-
-
+
False
- ..\packages\Unity.2.1.505.0\lib\NET35\Microsoft.Practices.Unity.dll
+ ..\packages\Unity.3.5.1404.0\lib\net45\Microsoft.Practices.Unity.dll
-
+
False
- ..\packages\Unity.2.1.505.0\lib\NET35\Microsoft.Practices.Unity.Configuration.dll
+ ..\packages\Unity.3.5.1404.0\lib\net45\Microsoft.Practices.Unity.Configuration.dll
+
+
+ ..\packages\Unity.3.5.1404.0\lib\net45\Microsoft.Practices.Unity.RegistrationByConvention.dll
False
- ..\packages\Moq.4.0.10827\lib\NET35\Moq.dll
+ ..\packages\Moq.4.0.10827\lib\NET40\Moq.dll
3.5
@@ -109,6 +112,8 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/packages/Unity.2.1.505.0/lib/NET35/Microsoft.Practices.Unity.Configuration.xml b/src/packages/Unity.3.5.1404.0/lib/net45/Microsoft.Practices.Unity.Configuration.XML
similarity index 89%
rename from src/packages/Unity.2.1.505.0/lib/NET35/Microsoft.Practices.Unity.Configuration.xml
rename to src/packages/Unity.3.5.1404.0/lib/net45/Microsoft.Practices.Unity.Configuration.XML
index 5623914..1c47ea1 100644
--- a/src/packages/Unity.2.1.505.0/lib/NET35/Microsoft.Practices.Unity.Configuration.xml
+++ b/src/packages/Unity.3.5.1404.0/lib/net45/Microsoft.Practices.Unity.Configuration.XML
@@ -70,7 +70,7 @@
Specialization of
- that provides a canned implmentation of .
+ that provides a canned implementation of .
Type of configuration element in the collection.
@@ -160,11 +160,10 @@
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".
-
+ 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".
@@ -173,8 +172,7 @@
An that acts as the key for the specified .
- The to return the key for.
-
+ The to return the key for.
@@ -295,8 +293,7 @@
An that acts as the key for the specified .
- The to return the key for.
-
+ The to return the key for.
@@ -478,16 +475,14 @@
Adds an item to the .
- The object to add to the .
- The is read-only.
-
+ The object to add to the .
+ The is read-only.
Removes all items from the .
- The is read-only.
-
+ The is read-only.
@@ -496,23 +491,22 @@
true if is found in the ; otherwise, false.
- The object to locate in the .
-
+ 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 .
-
+ 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 .
+
@@ -521,9 +515,8 @@
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.
-
+ The object to remove from the .
+ The is read-only.
@@ -532,27 +525,24 @@
The index of if found in the list; otherwise, -1.
- The object to locate in the .
-
+ 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.
-
+ 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.
-
+ The zero-based index of the item to remove.
+ is not a valid index in the .
+ The is read-only.
@@ -577,10 +567,9 @@
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.
-
+ 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.
@@ -610,7 +599,7 @@
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
+ start and end element 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.
@@ -895,8 +884,7 @@
An that acts as the key for the specified .
- The to return the key for.
-
+ The to return the key for.
@@ -924,22 +912,22 @@
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.
-
+ 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.
+
@@ -1016,8 +1004,7 @@
An that acts as the key for the specified .
- The to return the key for.
-
+ The to return the key for.
@@ -1050,9 +1037,9 @@
- 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.
+ 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.
@@ -1122,8 +1109,7 @@
An that acts as the key for the specified .
- The to return the key for.
-
+ The to return the key for.
@@ -1209,11 +1195,11 @@
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".
-
+ 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".
+
@@ -1230,8 +1216,7 @@
An that acts as the key for the specified .
- The to return the key for.
-
+ The to return the key for.
@@ -1298,8 +1283,7 @@
An that acts as the key for the specified .
- The to return the key for.
-
+ The to return the key for.
@@ -1424,8 +1408,7 @@
An that acts as the key for the specified .
- The to return the key for.
-
+ The to return the key for
@@ -1496,14 +1479,14 @@
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.
-
+ 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.
+
@@ -1512,9 +1495,8 @@
true when an unknown attribute is encountered while deserializing; otherwise, false.
- The name of the unrecognized attribute.
- The value of the unrecognized attribute.
-
+ The name of the unrecognized attribute.
+ The value of the unrecognized attribute.
@@ -1523,22 +1505,22 @@
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.
-
+ 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.
+
@@ -1592,8 +1574,7 @@
An that acts as the key for the specified .
- The to return the key for.
-
+ The to return the key for.
@@ -1607,11 +1588,10 @@
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".
-
+ 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".
@@ -1628,8 +1608,7 @@
An that acts as the key for the specified .
- The to return the key for.
-
+ The to return the key for.
@@ -1803,14 +1782,14 @@
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.
-
+ 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.
+
@@ -1819,9 +1798,8 @@
true when an unknown attribute is encountered while deserializing; otherwise, false.
- The name of the unrecognized attribute.
- The value of the unrecognized attribute.
-
+ The name of the unrecognized attribute.
+ The value of the unrecognized attribute.
@@ -1830,22 +1808,22 @@
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.
-
+ 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.
+
@@ -1953,11 +1931,10 @@
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".
-
+ 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".
@@ -1966,13 +1943,12 @@
An that acts as the key for the specified .
- The to return the key for.
-
+ The to return the key for.
Base class for Unity configuration section extensions.
- Derived classes are used to add custom elments and aliases
+ Derived classes are used to add custom elements and aliases
into the configuration section being loaded.
@@ -2030,14 +2006,14 @@
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.
-
+ 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.
+
@@ -2076,8 +2052,7 @@
An that acts as the key for the specified .
- The to return the key for.
-
+ The to return the key for.
@@ -2094,15 +2069,15 @@
- Resolves a type alias or type fullname to a concrete type.
+ Resolves a type alias or type FullName to a concrete type.
- Type alias or type fullname
+ 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.
+ Resolves a type alias or type FullName to a concrete type.
Alias or name to resolve.
if true and the alias does not
@@ -2146,7 +2121,7 @@
Construct a new that uses the given
- sequence of alias, typename pairs to resolve types.
+ sequence of alias, type name pairs to resolve types.
Type aliases from the configuration file.
Assembly names to search.
@@ -2154,7 +2129,7 @@
- Resolves a type alias or type fullname to a concrete type.
+ Resolves a type alias or type FullName to a concrete type.
Alias or name to resolve.
if true and the alias does not
@@ -2215,9 +2190,8 @@
Reads XML from the configuration file.
- The object, which reads from the configuration file.
- found no elements in the configuration file.
-
+ The object, which reads from the configuration file.
+ found no elements in the configuration file.
@@ -2226,9 +2200,10 @@
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.
+ 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 -
@@ -2241,7 +2216,7 @@
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.
-
+
@@ -2250,10 +2225,9 @@
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 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.
@@ -2334,8 +2308,7 @@
An that acts as the key for the specified .
- The to return the key for.
-
+ The to return the key for.
@@ -2420,9 +2393,9 @@
- 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.
+ 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.
diff --git a/src/packages/Unity.3.5.1404.0/lib/net45/Microsoft.Practices.Unity.Configuration.dll b/src/packages/Unity.3.5.1404.0/lib/net45/Microsoft.Practices.Unity.Configuration.dll
new file mode 100644
index 0000000..b1a8258
Binary files /dev/null and b/src/packages/Unity.3.5.1404.0/lib/net45/Microsoft.Practices.Unity.Configuration.dll differ
diff --git a/src/packages/Unity.3.5.1404.0/lib/net45/Microsoft.Practices.Unity.RegistrationByConvention.XML b/src/packages/Unity.3.5.1404.0/lib/net45/Microsoft.Practices.Unity.RegistrationByConvention.XML
new file mode 100644
index 0000000..50d092d
--- /dev/null
+++ b/src/packages/Unity.3.5.1404.0/lib/net45/Microsoft.Practices.Unity.RegistrationByConvention.XML
@@ -0,0 +1,328 @@
+
+
+
+ Microsoft.Practices.Unity.RegistrationByConvention
+
+
+
+
+ Provides helper methods to retrieve classes from assemblies.
+
+
+
+
+ Returns all visible, non-abstract classes from .
+
+ The assemblies.
+ All visible, non-abstract classes found in the assemblies.
+ is .
+ contains elements.
+ All exceptions thrown while getting types from the assemblies are ignored, and the types that can be retrieved are returned.
+
+
+
+ Returns all visible, non-abstract classes from , and optionally skips errors.
+
+ to skip errors; otherwise, .
+ The assemblies.
+
+ All visible, non-abstract classes.
+
+ is .
+ contains elements.
+
+ If is , all exceptions thrown while getting types from the assemblies are ignored, and the types
+ that can be retrieved are returned; otherwise, the original exception is thrown.
+
+
+
+
+ Returns all visible, non-abstract classes from .
+
+ to skip errors; otherwise, .
+ The assemblies.
+
+ All visible, non-abstract classes.
+
+ is .
+ contains elements.
+
+ If is , all exceptions thrown while getting types from the assemblies are ignored, and the types
+ that can be retrieved are returned; otherwise, the original exception is thrown.
+
+
+
+
+ Returns all visible, non-abstract classes from all assemblies that are loaded in the current application domain.
+
+ to include system assemblies; otherwise, . Defaults to .
+ to include the Unity assemblies; otherwise, . Defaults to .
+ to include dynamic assemblies; otherwise, . Defaults to .
+ to skip errors; otherwise, .
+
+ All visible, non-abstract classes in the loaded assemblies.
+
+
+ If is , all exceptions thrown while getting types from the assemblies are ignored, and the types
+ that can be retrieved are returned; otherwise, the original exception is thrown.
+
+
+
+
+ Returns all visible, non-abstract classes from all assemblies that are located in the base folder of the current application domain.
+
+ to include system assemblies; otherwise, . Defaults to .
+ to include the Unity assemblies; otherwise, . Defaults to .
+ to skip errors; otherwise, .
+
+ All visible, non-abstract classes.
+
+
+ If is , all exceptions thrown while loading assemblies or getting types from the assemblies are ignored, and the types
+ that can be retrieved are returned; otherwise, the original exception is thrown.
+
+
+
+
+ The exception that is thrown when registering multiple types would result in an type mapping being overwritten.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The name for the mapping.
+ The source type for the mapping.
+ The type currently mapped.
+ The new type to map.
+
+
+
+ Gets the name for the mapping.
+
+
+
+
+ Gets the source type for the mapping.
+
+
+
+
+ Gets the type currently mapped.
+
+
+
+
+ Gets the new type to map.
+
+
+
+
+ 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 attempt to override an existing mapping was detected for type {1} with name "{0}", currently mapped to type {2}, to type {3}..
+
+
+
+
+ Looks up a localized string similar to The set of assemblies contains a null element..
+
+
+
+
+ Represents a set of types to register and their registration settings.
+
+
+
+
+ Gets types to register.
+
+
+
+
+ Gets a function to get the types that will be requested for each type to configure.
+
+
+
+
+ Gets a function to get the name to use for the registration of each type.
+
+
+
+
+ Gets a function to get the for the registration of each type. Defaults to no lifetime management.
+
+
+
+
+
+ Gets a function to get the additional objects for the registration of each type. Defaults to no injection members.
+
+
+
+
+
+ Provides a set of convenience overloads to the
+ interface to support registration of multiple types.
+
+
+
+
+ Registers the supplied types by using the specified rules for name, lifetime manager, injection members, and registration types.
+
+ The container to configure.
+ The types to register. The methods in the class can be used to scan assemblies to get types, and further filtering can be performed using LINQ queries.
+ A function that gets the types that will be requested for each type to configure. It can be a method from the class or a custom function. Defaults to no registration types, and registers only the supplied types.
+ A function that gets the name to use for the registration of each type. It can be a method from the or a custom function. Defaults to no name.
+ A function that gets the for the registration of each type. It can be a method from the class or a custom function. Defaults to no lifetime management.
+ A function that gets the additional objects for the registration of each type. Defaults to no injection members.
+ to overwrite existing mappings; otherwise, . Defaults to .
+
+ The container that this method was called on.
+
+ A new registration would overwrite an existing mapping and is .
+
+
+
+ Registers the types according to the .
+
+ The container to configure.
+ The convention to determine which types will be registered and how.
+ to overwrite existing mappings; otherwise, . Defaults to .
+
+ The container that this method was called on.
+
+
+
+
+ Provides helper methods to specify the lifetime for a type with registration by convention.
+
+
+
+
+ Returns a .
+
+ The type.
+ A lifetime manager
+
+
+
+ Returns a .
+
+ The type.
+ A container controlled lifetime manager.
+
+
+
+ Returns a .
+
+ The type.
+ An externally controlled lifetime manager.
+
+
+
+ Returns a .
+
+ The type.
+ A hierarchical lifetime manager.
+
+
+
+ Returns a .
+
+ The type.
+ A per resolve lifetime manager.
+
+
+
+ Returns a .
+
+ The type.
+ A transient lifetime manager.
+
+
+
+ Returns a .
+
+ The custom type.
+ The type.
+
+ A lifetime manager.
+
+
+
+
+ Returns a .
+
+ The type.
+ A per thread lifetime manager.
+
+
+
+ Provides helper methods to map types to the types interfaces to which register them.
+
+
+
+
+ Returns no types.
+
+ The type to register.
+ An empty enumeration.
+
+
+
+ Returns an enumeration with the interface that matches the name of .
+
+ The type to register.
+ An enumeration with the first interface matching the name of (for example, if type is MyType, a matching interface is IMyType),
+ or an empty enumeration if no such interface is found.
+
+
+
+ Returns an enumeration with all the interfaces implemented by .
+
+ The type to register.
+ An enumeration with all the interfaces implemented by the implementation type except .
+
+
+
+ Returns an enumeration with all the interfaces implemented by that belong to the same assembly as implementationType.
+
+ The type to register.
+ An enumeration with all the interfaces implemented by the implementation type that belong to the same assembly.
+
+
+
+ Provides helper methods to get type names.
+
+
+
+
+ Returns the type name.
+
+ The type.
+ The type name.
+
+
+
+ Returns null for the registration name.
+
+ The type.
+
+
+
+
diff --git a/src/packages/Unity.3.5.1404.0/lib/net45/Microsoft.Practices.Unity.RegistrationByConvention.dll b/src/packages/Unity.3.5.1404.0/lib/net45/Microsoft.Practices.Unity.RegistrationByConvention.dll
new file mode 100644
index 0000000..9622e65
Binary files /dev/null and b/src/packages/Unity.3.5.1404.0/lib/net45/Microsoft.Practices.Unity.RegistrationByConvention.dll differ
diff --git a/src/packages/Unity.3.5.1404.0/lib/net45/Microsoft.Practices.Unity.dll b/src/packages/Unity.3.5.1404.0/lib/net45/Microsoft.Practices.Unity.dll
new file mode 100644
index 0000000..a122e13
Binary files /dev/null and b/src/packages/Unity.3.5.1404.0/lib/net45/Microsoft.Practices.Unity.dll differ
diff --git a/src/packages/Unity.2.1.505.0/lib/NET35/Microsoft.Practices.Unity.xml b/src/packages/Unity.3.5.1404.0/lib/net45/Microsoft.Practices.Unity.xml
similarity index 94%
rename from src/packages/Unity.2.1.505.0/lib/NET35/Microsoft.Practices.Unity.xml
rename to src/packages/Unity.3.5.1404.0/lib/net45/Microsoft.Practices.Unity.xml
index 2e0af9b..fbd47c0 100644
--- a/src/packages/Unity.2.1.505.0/lib/NET35/Microsoft.Practices.Unity.xml
+++ b/src/packages/Unity.3.5.1404.0/lib/net45/Microsoft.Practices.Unity.xml
@@ -4,6 +4,100 @@
Microsoft.Practices.Unity
+
+
+ Provides access to the names registered for a container.
+
+
+
+
+ Represents a builder policy interface. Since there are no fixed requirements
+ for policies, it acts as a marker interface from which to derive all other
+ policy interfaces.
+
+
+
+
+ Gets the names registered for a type.
+
+ The type.
+ The names registered for .
+
+
+
+ An implementation
+ that constructs a build plan for creating objects.
+
+
+
+
+ A that can create and return an
+ for the given build key.
+
+
+
+
+ Create a build plan using the given context and build key.
+
+ Current build context.
+ Current build key.
+ The build plan.
+
+
+
+ Creates a build plan using the given context and build key.
+
+ Current build context.
+ Current build key.
+
+ The build plan.
+
+
+
+
+ Provides extension methods to the class due to the introduction
+ of class in the .NET for Windows Store apps.
+
+
+
+
+ Returns the constructor in that matches the specified constructor parameter types.
+
+ The type to inspect
+ The constructor parameter types.
+ The constructor that matches the specified parameter types.
+
+
+
+ Returns the non-static declared methods of a type or its base types.
+
+ The type to inspect
+ An enumerable of the objects.
+
+
+
+ Returns the non-static method of a type or its based type.
+
+ The type to inspect
+ The name of the method to seek.
+ The (closed) parameter type signature of the method.
+ The discovered
+
+
+
+ Returns the declared properties of a type or its base types.
+
+ The type to inspect
+ An enumerable of the objects.
+
+
+
+ Determines if the types in a parameter set ordinally matches the set of supplied types.
+
+
+
+
+
Base class for attributes that can be placed on parameters
@@ -151,7 +245,7 @@
- Add a setof s to the collection.
+ Add a set of s to the collection.
items to add.
@@ -668,13 +762,6 @@
things like singletons and per-http-request lifetime.
-
-
- Represents a builder policy interface. Since there are no fixed requirements
- for policies, it acts as a marker interface from which to derive all other
- policy interfaces.
-
-
Retrieve a value from the backing store associated with this Lifetime policy.
@@ -801,7 +888,6 @@
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
- 2
@@ -952,7 +1038,7 @@
- A that is used at build plan execution time
+ A strategy that is used at build plan execution time
to resolve a dependent value.
@@ -1061,7 +1147,7 @@
The interface the policy is registered under.
to search.
The key the policy applies.
- true if the policy searches local only; otherwise false to seach up the parent chain.
+ true if the policy searches local only; otherwise false to search up the parent chain.
The policy in the list, if present; returns null otherwise.
@@ -1071,7 +1157,7 @@
The interface the policy is registered under.
to search.
The key the policy applies.
- true if the policy searches local only; otherwise false to seach up the parent chain.
+ true if the policy searches local only; otherwise false to search up the parent chain.
The policy list that actually contains the returned policy.
The policy in the list, if present; returns null otherwise.
@@ -1082,7 +1168,7 @@
to search.
The interface the policy is registered under.
The key the policy applies.
- true if the policy searches local only; otherwise false to seach up the parent chain.
+ true if the policy searches local only; otherwise false to search up the parent chain.
The policy in the list, if present; returns null otherwise.
@@ -1092,7 +1178,7 @@
The interface the policy is registered under.
to search.
The key the policy applies.
- true if the policy searches local only; otherwise false to seach up the parent chain.
+ true if the policy searches local only; otherwise false to search up the parent chain.
The policy in the list, if present; returns null otherwise.
@@ -1102,7 +1188,7 @@
The interface the policy is registered under.
to search.
The key the policy applies.
- true if the policy searches local only; otherwise false to seach up the parent chain.
+ true if the policy searches local only; otherwise false to search up the parent chain.
The policy list that actually contains the returned policy.
The policy in the list, if present; returns null otherwise.
@@ -1113,7 +1199,7 @@
to search.
The interface the policy is registered under.
The key the policy applies.
- true if the policy searches local only; otherwise false to seach up the parent chain.
+ true if the policy searches local only; otherwise false to search up the parent chain.
The policy in the list, if present; returns null otherwise.
@@ -1147,13 +1233,12 @@
- The type that's currently being built.
+ The type that's currently being built.
- Build plan for that will
- return a func that will resolve the requested type
+ Build plan for that will return a Func that will resolve the requested type
through this container later.
@@ -1182,7 +1267,7 @@
The almost inevitable collection of extra helper methods on
to augment the rich set of what
- Linq already gives us.
+ LINQ already gives us.
@@ -1195,7 +1280,7 @@
- Create a single string from a sequenc of items, separated by the provided ,
+ Create a single string from a sequence of items, separated by the provided ,
and with the conversion to string done by the given .
This method does basically the same thing as ,
@@ -1208,7 +1293,7 @@
- Create a single string from a sequenc of items, separated by the provided ,
+ Create a single string from a sequence of items, separated by the provided ,
and with the conversion to string done by the item's method.
This method does basically the same thing as ,
@@ -1266,7 +1351,7 @@
- Create an instance of .
+ Create an instance of .
The property name.
Value to use for the property.
@@ -1485,6 +1570,20 @@
Build key for this context.
Existing object to build up.
+
+
+ Create a new using the explicitly provided
+ values.
+
+ The to use for this context.
+ The to use for this context.
+ The set of persistent policies to use for this context.
+ The set of transient policies to use for this context. It is
+ the caller's responsibility to ensure that the transient and persistent policies are properly
+ combined.
+ Build key for this context.
+ The resolver overrides.
+
Add a new set of resolver override objects to the current build operation.
@@ -1604,9 +1703,6 @@
Represents that a dependency could not be resolved.
-
- Represents that a dependency could not be resolved.
-
@@ -1633,22 +1729,11 @@
The build key of the object begin built.
-
-
- Initializes a new instance of the class with serialized data.
-
- The that holds the serialized object data about the exception being thrown.
- The that contains contextual information about the source or destination.
-
The exception thrown when injection is attempted on a method
that is an open generic or has out or ref params.
-
- The exception thrown when injection is attempted on a method
- that is an open generic or has out or ref params.
-
@@ -1670,13 +1755,6 @@
Message to return.
Inner exception
-
-
- Used for serialization.
-
- Serialization info.
- Serialization context.
-
Extension methods to provide convenience overloads over the
@@ -1813,7 +1891,7 @@
- Releases the managed resources used by the DbDataReader and optionally releases the unmanaged resources.
+ Releases the resources used by the .
true to release managed and unmanaged resources; false to release only unmanaged resources.
@@ -1879,7 +1957,7 @@
The interface the policy is registered under.
The key the policy applies.
- true if the policy searches local only; otherwise false to seach up the parent chain.
+ true if the policy searches local only; otherwise false to search up the parent chain.
The policy list in the chain that the searched for policy was found in, null if the policy was
not found.
The policy in the list, if present; returns null otherwise.
@@ -1951,7 +2029,7 @@
The interface the policy is registered under.
The key the policy applies.
- true if the policy searches local only; otherwise false to seach up the parent chain.
+ true if the policy searches local only; otherwise false to search up the parent chain.
The policy list in the chain that the searched for policy was found in, null if the policy was
not found.
The policy in the list, if present; returns null otherwise.
@@ -2229,13 +2307,11 @@
Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other.
-
-
- Value Condition Less than zerox is less than y.Zerox equals y.Greater than zerox is greater than y.
-
-
The second object to compare.
The first object to compare.
+
+ Value Condition Less than zero is less than y. Zero equals y. Greater than zero is greater than y.
+
@@ -2256,27 +2332,28 @@
Base class for return values from selector policies that
- return a memberinfo of some sort plus a list of parameter
+ return a MemberInfo of some sort plus a list of parameter
keys to look up the parameter resolvers.
Base class for return of selector policies that need
- to keep track of a set of parameter keys.
+ to keep track of a set of parameter resolvers.
-
+
- Add a new parameter key to this object. Keys are assumed
- to be in the order of the parameters to the constructor.
+ Adds the parameter resolver. Resolvers are assumed
+ to be in the order of the parameters to the member.
- Key for the next parameter to look up.
+ The new resolver.
-
+
- The set of keys for the constructor parameters.
+ Gets the parameter resolvers.
+ An array with the parameter resolvers.
@@ -2346,48 +2423,74 @@
Existing object is an instance of .
The context for the operation.
-
+
- A helper method used by the generated IL to throw an exception if
- a dependency cannot be resolved.
+ A helper method used by the generated IL to set up a PerResolveLifetimeManager lifetime manager
+ if the current object is such.
- The currently being
- used for the build of this object.
+ Current build context.
-
+
+
+ Build up the string that will represent the constructor signature
+ in any exception message.
+
+
+
+
+
+
+ A helper method used by the generated IL to store the current operation in the build context.
+
+
+
+
+ A helper method used by the generated IL to store the current operation in the build context.
+
+
+
A helper method used by the generated IL to throw an exception if
- a dependency cannot be resolved because of an invalid constructor.
+ no existing object is present, but the user is attempting to build
+ an interface (usually due to the lack of a type mapping).
The currently being
used for the build of this object.
- The signature of the invalid constructor.
-
+
A helper method used by the generated IL to throw an exception if
no existing object is present, but the user is attempting to build
- an interface (usually due to the lack of a type mapping).
+ an abstract class (usually due to the lack of a type mapping).
The currently being
used for the build of this object.
-
+
- A helper method used by the generated IL to store the current operation in the build context.
+ A helper method used by the generated IL to throw an exception if
+ no existing object is present, but the user is attempting to build
+ an delegate other than Func{T} or Func{IEnumerable{T}}.
+ The currently being
+ used for the build of this object.
-
+
- A helper method used by the generated IL to store the current operation in the build context.
+ A helper method used by the generated IL to throw an exception if
+ a dependency cannot be resolved.
+ The currently being
+ used for the build of this object.
-
+
- A helper method used by the generated IL to set up a PerResolveLifetimeManager lifetime manager
- if the current object is such.
+ A helper method used by the generated IL to throw an exception if
+ a dependency cannot be resolved because of an invalid constructor.
- Current build context.
+ The currently being
+ used for the build of this object.
+ The signature of the invalid constructor.
@@ -2412,114 +2515,31 @@
Constructor we're trying to call.
-
-
- An implementation of that will
- check for full trust and if we're building a class or an interface. If in full
- trust, attach to the class or module of the interface respectively. If in partial
- trust, attach to the OB2 module instead.
-
-
-
-
- This interface defines a policy that manages creation of the dynamic methods
- used by the ObjectBuilder code generation. This way, we can replace the details
- of how the dynamic method is created to handle differences in CLR (like Silverlight
- vs desktop) or security policies.
-
-
-
-
- Create a builder method for the given type, using the given name.
-
- Type that will be built by the generated method.
- Name to give to the method.
- A object with the proper signature to use
- as part of a build plan.
-
-
-
- Create a builder method for the given type, using the given name.
-
- Type that will be built by the generated method.
- Name to give to the method.
- A object with the proper signature to use
- as part of a build plan.
-
- This object tracks the current state of the build plan generation,
- accumulates the IL, provides the preamble & postamble for the dynamic
- method, and tracks things like local variables in the generated IL
- so that they can be reused across IL generation strategies.
-
-
-
-
- Create a that is initialized
- to handle creation of a dynamic method to build the given type.
-
- Type that we're trying to create a build plan for.
- An object that actually
- creates our object.
-
-
-
- Completes generation of the dynamic method and returns the
- generated dynamic method delegate.
-
- The created
-
-
-
- Emit the IL to put the build context on top of the IL stack.
-
-
-
-
- Emit the IL to put the current build key on top of the IL stack.
-
-
-
-
- Emit the IL to put the current "existing" object on the top of the IL stack.
-
-
-
-
- Emit the IL to make the top of the IL stack our current "existing" object.
-
-
-
-
- Emit the IL to load the given object onto the top of the IL stack.
-
- Type to load on the stack.
-
-
-
- Emit the IL needed to look up an and
- call it to get a value.
+
- Type of the dependency to resolve.
- Key to look up the policy by.
-
+
- Emit the IL needed to clear the .
+
+
-
+
- Emit the IL needed to either cast the top of the stack to the target type
- or unbox it, if it's a value type.
+
- Type to convert the top of the stack to.
+
-
+
- A helper method used by the generated IL to clear the current operation in the build context.
+
+
+
+
+
@@ -2530,69 +2550,53 @@
Key the resolver was stored under.
The found dependency resolver.
-
+
- A reflection helper method to make it easier to grab a property getter
- for the given property.
-
- Type that implements the property we want.
- Type of the property.
- Name of the property.
- The property getter's .
-
-
-
- A reflection helper method that makes it easier to grab a
- for a method.
+ Helper method used by generated IL to look up a dependency resolver based on the given key.
- Type that implements the method we want.
- Name of the method.
- Types of arguments to the method.
- The method's .
+ Current build context.
+ Type of the dependency being resolved.
+ The configured resolver.
+ The found dependency resolver.
-
+
- The underlying that can be used to
- emit IL into the generated dynamic method.
+ The type that is to be built with the dynamic build plan.
-
+
- The type we're currently creating the method to build.
+ The context parameter representing the used when the build plan is executed.
- A delegate type that defines the signature of the
- dynamic method created by the build plans.
+
- used to build up the object.
+
- An implementation of that runs the
- given delegate to execute the plan.
+
-
+
- An implementation
- that constructs a build plan via dynamic IL emission.
+
+
-
+
- A that can create and return an
- for the given build key.
+
+
-
+
- Create a build plan using the given context and build key.
+ An implementation
+ that constructs a build plan via dynamic IL emission.
- Current build context.
- Current build key.
- The build plan.
@@ -2931,22 +2935,22 @@
for this property's value.
-
+
Create an instance of
with the given and key.
The property.
- Key to use to look up the resolver.
+
PropertyInfo for this property.
-
+
- Key to look up this property's resolver.
+ IDependencyResolverPolicy for this property
@@ -3031,8 +3035,7 @@
- This interface defines a standard method to convert any
- regardless
+ This interface defines a standard method to convert any regardless
of the stage enum into a regular, flat strategy chain.
@@ -3147,7 +3150,7 @@
Clear the current strategy chain list.
- This will not clear the inner strategy chain if this instane was created with one.
+ This will not clear the inner strategy chain if this instance was created with one.
@@ -3163,12 +3166,12 @@
- Initialzie a new instance of the class.
+ Initialize a new instance of the class.
- Initialzie a new instance of the class with a colleciton of strategies.
+ Initialize a new instance of the class with a collection of strategies.
A collection of strategies to initialize the chain.
@@ -3205,24 +3208,22 @@
Context for the teardown process.
-
- Returns an enumerator that iterates through the collection.
-
+
+ Returns an enumerator that iterates through the collection.
+
-
- A that can be used to iterate through the collection.
-
- 1
+
+ A that can be used to iterate through the collection.
+
-
- Returns an enumerator that iterates through a collection.
-
+
+ Returns an enumerator that iterates through a collection.
+
-
- An object that can be used to iterate through the collection.
-
- 2
+
+ An object that can be used to iterate through the collection.
+
@@ -3363,50 +3364,6 @@
Second sequence of items.
New sequence of pairs. This sequence ends when the shorter of sequence1 and sequence2 does.
-
-
- The exception thrown by the Unity container when
- an attempt to resolve a dependency fails.
-
-
- The exception thrown by the Unity container when
- an attempt to resolve a dependency fails.
-
-
-
-
- Constructor to create a from serialized state.
-
- Serialization info
- Serialization context
-
-
-
- Serialize this object into the given context.
-
- Serialization info
- Streaming context
-
-
-
- Create a new that records
- the exception for the given type and name.
-
- Type requested from the container.
- Name requested from the container.
- The actual exception that caused the failure of the build.
- The build context representing the failed operation.
-
-
-
- The type that was being requested from the container at the time of failure.
-
-
-
-
- The name that was being requested from the container at the time of failure.
-
-
A that lets you register a
@@ -3945,7 +3902,7 @@
but you still want properties and other injection performed.
of object to perform injection on.
- Conatiner to resolve through.
+ Container to resolve through.
Instance to build up.
name to use when looking up the typemappings and other configurations.
Any overrides for the Buildup.
@@ -3998,8 +3955,8 @@
- Check if a particular type has been registered with the container with
- the default name.
+ Check if a particular type has been registered with the container with
+ the default name.
Container to inspect.
Type to check registration for.
@@ -4031,27 +3988,6 @@
Name to check registration for.
True if this type/name pair has been registered, false if not.
-
-
- This extension installs the default strategies and policies into the container
- to implement the standard behavior of the Unity container.
-
-
- This extension installs the default strategies and policies into the container
- to implement the standard behavior of the Unity container.
-
-
-
-
- Add the correct to the policy
- set. This version adds the appropriate policy for running on the desktop CLR.
-
-
-
-
- Add the default ObjectBuilder strategies & policies to the container.
-
-
The class provides the means for extension objects
@@ -4069,7 +4005,7 @@
method is called, that name is included in the list that is returned.
to register.
- Name assocated with that type.
+ Name associated with that type.
@@ -4140,7 +4076,7 @@
The name.
- Name used for this event arg object.
+ Name used for this EventArg object.
@@ -4475,7 +4411,7 @@
Add policies to the to configure the
container to call this constructor with the appropriate parameter values.
- Interface being registered, ignored in this implemenation.
+ Interface being registered, ignored in this implementation.
Type to register.
Name used to resolve the type object.
Policy list to add policies to.
@@ -4604,7 +4540,7 @@
of object to perform injection on.
Instance to build up.
- name to use when looking up the typemappings and other configurations.
+ name to use when looking up the TypeMappings and other configurations.
Any overrides for the resolve calls.
The resulting object. By default, this will be , but
container extensions may add things like automatic proxy creation which would
@@ -4642,7 +4578,7 @@
This method removes all extensions from the container, including the default ones
that implement the out-of-the-box behavior. After this method, if you want to use
- the container again you will need to either readd the default extensions or replace
+ the container again you will need to either read the default extensions or replace
them with your own.
@@ -4914,7 +4850,7 @@
Resolve the value for a dependency.
Current build context.
- An array pupulated with the results of resolving the resolver policies.
+ An array populated with the results of resolving the resolver policies.
@@ -4984,7 +4920,7 @@
- An implemnetation of which returns
+ An implementation of which returns
the set of specific properties that the selector was configured with.
@@ -5008,6 +4944,32 @@
Sequence of objects
that contain the properties to set.
+
+
+ The exception thrown by the Unity container when
+ an attempt to resolve a dependency fails.
+
+
+
+
+ Create a new that records
+ the exception for the given type and name.
+
+ Type requested from the container.
+ Name requested from the container.
+ The actual exception that caused the failure of the build.
+ The build context representing the failed operation.
+
+
+
+ The type that was being requested from the container at the time of failure.
+
+
+
+
+ The name that was being requested from the container at the time of failure.
+
+
A class that stores a name and type, and generates a
@@ -5138,6 +5100,11 @@
The instance that will be assigned.
Argument name.
+
+
+ A helper class to manage the names that get registered in the container
+
+
The build stages we use in the Unity container
@@ -5212,6 +5179,16 @@
Looks up a localized string similar to The current build operation (build key {2}) failed: {3} (Strategy type {0}, index {1}).
+
+
+ Looks up a localized string similar to The current type, {0}, is an abstract class and cannot be constructed. Are you missing a type mapping?.
+
+
+
+
+ Looks up a localized string similar to The current type, {0}, is delegate and cannot be constructed. Unity only supports resolving Func<T> and Func<IEnumerable<T>> by default..
+
+
Looks up a localized string similar to The current type, {0}, is an interface and cannot be constructed. Are you missing a type mapping?.
@@ -5495,7 +5472,7 @@
If true, the container will take over the lifetime of the instance,
calling Dispose on it (if it's ) when the container is Disposed.
- If false, container will not maintain a strong reference to . User is reponsible
+ If false, container will not maintain a strong reference to . User is responsible
for disposing instance, and for keeping the instance from being garbage collected.
The object that this method was called on (this in C#, Me in Visual Basic).
@@ -5575,7 +5552,7 @@
This method removes all extensions from the container, including the default ones
that implement the out-of-the-box behavior. After this method, if you want to use
- the container again you will need to either readd the default extensions or replace
+ the container again you will need to either read the default extensions or replace
them with your own.
@@ -5666,6 +5643,17 @@
Remove the default behavior from the container.
+
+
+ This extension installs the default strategies and policies into the container
+ to implement the standard behavior of the Unity container.
+
+
+
+
+ Add the default ObjectBuilder strategies & policies to the container.
+
+
Helper class to wrap common reflection stuff dealing with
@@ -5770,7 +5758,7 @@
Another reflection helper class that has extra methods
- for dealing with ParameterInfos.
+ for dealing with ParameterInfo.
@@ -5848,6 +5836,15 @@
The type of the elements in this type (if it's an array).
+
+
+ Returns all the public constructors defined for the current reflected .
+
+
+ An enumeration of ConstructorInfo objects representing all the public instance constructors defined for the
+ current reflected , but not including the type initializer (static constructor).
+
+
Create a new instance of that
@@ -5898,6 +5895,15 @@
Expression describing the property for which the set method is to be extracted.
Corresponding .
+
+
+
+
+
+
+
+
+
Pull out a object from an expression of the form () => new SomeType()
diff --git a/src/packages/Unity.3.5.1404.0/lib/portable-net45+wp80+win8+MonoAndroid10+MonoTouch10/Microsoft.Practices.Unity.dll b/src/packages/Unity.3.5.1404.0/lib/portable-net45+wp80+win8+MonoAndroid10+MonoTouch10/Microsoft.Practices.Unity.dll
new file mode 100644
index 0000000..a122e13
Binary files /dev/null and b/src/packages/Unity.3.5.1404.0/lib/portable-net45+wp80+win8+MonoAndroid10+MonoTouch10/Microsoft.Practices.Unity.dll differ
diff --git a/src/packages/Unity.2.1.505.0/lib/SL30/Microsoft.Practices.Unity.Silverlight.xml b/src/packages/Unity.3.5.1404.0/lib/portable-net45+wp80+win8+MonoAndroid10+MonoTouch10/Microsoft.Practices.Unity.xml
similarity index 94%
rename from src/packages/Unity.2.1.505.0/lib/SL30/Microsoft.Practices.Unity.Silverlight.xml
rename to src/packages/Unity.3.5.1404.0/lib/portable-net45+wp80+win8+MonoAndroid10+MonoTouch10/Microsoft.Practices.Unity.xml
index e77de84..fbd47c0 100644
--- a/src/packages/Unity.2.1.505.0/lib/SL30/Microsoft.Practices.Unity.Silverlight.xml
+++ b/src/packages/Unity.3.5.1404.0/lib/portable-net45+wp80+win8+MonoAndroid10+MonoTouch10/Microsoft.Practices.Unity.xml
@@ -1,18 +1,102 @@
- Microsoft.Practices.Unity.Silverlight
+ Microsoft.Practices.Unity
-
+
- This attribute is used to mark properties and parameters as targets for injection.
+ Provides access to the names registered for a container.
-
- For properties, this attribute is necessary for injection to happen. For parameters,
- it's not needed unless you want to specify additional information to control how
- the parameter is resolved.
-
+
+
+
+ Represents a builder policy interface. Since there are no fixed requirements
+ for policies, it acts as a marker interface from which to derive all other
+ policy interfaces.
+
+
+
+
+ Gets the names registered for a type.
+
+ The type.
+ The names registered for .
+
+
+
+ An implementation
+ that constructs a build plan for creating objects.
+
+
+
+
+ A that can create and return an
+ for the given build key.
+
+
+
+
+ Create a build plan using the given context and build key.
+
+ Current build context.
+ Current build key.
+ The build plan.
+
+
+
+ Creates a build plan using the given context and build key.
+
+ Current build context.
+ Current build key.
+
+ The build plan.
+
+
+
+
+ Provides extension methods to the class due to the introduction
+ of class in the .NET for Windows Store apps.
+
+
+
+
+ Returns the constructor in that matches the specified constructor parameter types.
+
+ The type to inspect
+ The constructor parameter types.
+ The constructor that matches the specified parameter types.
+
+
+
+ Returns the non-static declared methods of a type or its base types.
+
+ The type to inspect
+ An enumerable of the objects.
+
+
+
+ Returns the non-static method of a type or its based type.
+
+ The type to inspect
+ The name of the method to seek.
+ The (closed) parameter type signature of the method.
+ The discovered
+
+
+
+ Returns the declared properties of a type or its base types.
+
+ The type to inspect
+ An enumerable of the objects.
+
+
+
+ Determines if the types in a parameter set ordinally matches the set of supplied types.
+
+
+
+
@@ -31,6 +115,28 @@
this attribute is decoration.
The resolver object.
+
+
+ This attribute is used to indicate which constructor to choose when
+ the container attempts to build a type.
+
+
+
+
+ This attribute is used to mark methods that should be called when
+ the container is building an object.
+
+
+
+
+ This attribute is used to mark properties and parameters as targets for injection.
+
+
+ For properties, this attribute is necessary for injection to happen. For parameters,
+ it's not needed unless you want to specify additional information to control how
+ the parameter is resolved.
+
+
Create an instance of with no name.
@@ -57,18 +163,6 @@
The name specified in the constructor.
-
-
- This attribute is used to indicate which constructor to choose when
- the container attempts to build a type.
-
-
-
-
- This attribute is used to mark methods that should be called when
- the container is building an object.
-
-
An used to mark a dependency
@@ -151,7 +245,7 @@
- Add a setof s to the collection.
+ Add a set of s to the collection.
items to add.
@@ -349,5044 +443,5020 @@
An extension context for the created child container.
-
+
- The class provides the means for extension objects
- to manipulate the internal state of the .
+ Base class for subclasses that let you specify that
+ an instance of a generic type parameter should be resolved.
-
+
- Store a type/name pair for later resolution.
+ Base type for objects that are used to configure parameters for
+ constructor or method injection, or for getting the value to
+ be injected into a property.
-
-
- When users register type mappings (or other things) with a named key, this method
- allows you to register that name with the container so that when the
- method is called, that name is included in the list that is returned.
-
- to register.
- Name assocated with that type.
-
+
- The container that this context is associated with.
+ Test to see if this parameter value has a matching type for the given type.
- The object.
+ Type to check.
+ True if this parameter value is compatible with type ,
+ false if not.
-
+
- The strategies this container uses.
+ Return a instance that will
+ return this types value for the parameter.
- The that the container uses to build objects.
+ Type that contains the member that needs this parameter. Used
+ to resolve open generic parameters.
+ The .
-
+
- The strategies this container uses to construct build plans.
+ Convert the given set of arbitrary values to a sequence of InjectionParameterValue
+ objects. The rules are: If it's already an InjectionParameterValue, return it. If
+ it's a Type, return a ResolvedParameter object for that type. Otherwise return
+ an InjectionParameter object for that value.
- The that this container uses when creating
- build plans.
+ The values to build the sequence from.
+ The resulting converted sequence.
-
+
- The policies this container uses.
+ Convert an arbitrary value to an InjectionParameterValue object. The rules are:
+ If it's already an InjectionParameterValue, return it. If it's a Type, return a
+ ResolvedParameter object for that type. Otherwise return an InjectionParameter
+ object for that value.
- The the that container uses to build objects.
+ The value to convert.
+ The resulting .
-
+
- The that this container uses.
+ Name for the type represented by this .
+ This may be an actual type name or a generic argument name.
- The is used to manage objects that the container is managing.
-
+
- This event is raised when the method,
- or one of its overloads, is called.
+ Create a new instance that specifies
+ that the given named generic parameter should be resolved.
+ The generic parameter name to resolve.
-
+
- This event is raised when the method,
- or one of its overloads, is called.
+ Create a new instance that specifies
+ that the given named generic parameter should be resolved.
+ The generic parameter name to resolve.
+ name to use when looking up in the container.
-
+
- This event is raised when the method is called, providing
- the newly created child container to extensions to act on as they see fit.
+ Test to see if this parameter value has a matching type for the given type.
+ Type to check.
+ True if this parameter value is compatible with type ,
+ false if not.
-
+
- Base interface for all extension configuration interfaces.
+ Return a instance that will
+ return this types value for the parameter.
+ Type that contains the member that needs this parameter. Used
+ to resolve open generic parameters.
+ The .
-
+
- Retrieve the container instance that we are currently configuring.
+ Return a instance that will
+ return this types value for the parameter.
+ The actual type to resolve.
+ The resolution key.
+ The .
-
+
- An EventArgs class that holds a string Name.
+ Name for the type represented by this .
+ This may be an actual type name or a generic argument name.
-
+
- Create a new with a null name.
+ A that lets you specify that
+ an instance of a generic type parameter should be resolved, providing the
+ value if resolving fails.
-
+
- Create a new with the given name.
+ Create a new instance that specifies
+ that the given named generic parameter should be resolved.
- Name to store.
+ The generic parameter name to resolve.
-
+
- The name.
+ Create a new instance that specifies
+ that the given named generic parameter should be resolved.
- Name used for this event arg object.
+ The generic parameter name to resolve.
+ name to use when looking up in the container.
-
+
- Event argument class for the event.
+ Return a instance that will
+ return this types value for the parameter.
+ The actual type to resolve.
+ The resolution key.
+ The .
-
+
- Create a new instance of .
+ A class that lets you specify a factory method the container
+ will use to create the object.
- Type to map from.
- Type to map to.
- Name for the registration.
- to manage instances.
+ This is a significantly easier way to do the same
+ thing the old static factory extension was used for.
-
+
- Type to map from.
+ Base class for objects that can be used to configure what
+ class members get injected by the container.
-
+
- Type to map to.
+ Add policies to the to configure the
+ container to call this constructor with the appropriate parameter values.
+ Type to register.
+ Policy list to add policies to.
-
+
- to manage instances.
+ Add policies to the to configure the
+ container to call this constructor with the appropriate parameter values.
+ Type of interface being registered. If no interface,
+ this will be null.
+ Type of concrete type being registered.
+ Name used to resolve the type object.
+ Policy list to add policies to.
-
+
- Event argument class for the event.
+ Create a new instance of with
+ the given factory function.
+ Factory function.
-
+
- Create a default instance.
+ Create a new instance of with
+ the given factory function.
+ Factory function.
-
+
- Create a instance initialized with the given arguments.
+ Add policies to the to configure the
+ container to call this constructor with the appropriate parameter values.
- Type of instance being registered.
- The instance object itself.
- Name to register under, null if default registration.
- object that handles how
- the instance will be owned.
+ Type of interface being registered. If no interface,
+ this will be null. This parameter is ignored in this implementation.
+ Type of concrete type being registered.
+ Name used to resolve the type object.
+ Policy list to add policies to.
-
+
- Type of instance being registered.
+ A that can be passed to
+ to configure a
+ parameter or property as an optional dependency.
-
- Type of instance being registered.
-
-
+
- Instance object being registered.
+ A base class for implementing classes
+ that deal in explicit types.
- Instance object being registered
-
+
- that controls ownership of
- this instance.
+ Create a new that exposes
+ information about the given .
+ Type of the parameter.
-
+
- Base class for all extension objects.
+ Test to see if this parameter value has a matching type for the given type.
+ Type to check.
+ True if this parameter value is compatible with type ,
+ false if not.
-
+
- The container calls this method when the extension is added.
+ The type of parameter this object represents.
- A instance that gives the
- extension access to the internals of the container.
-
+
- Initial the container with this extension's functionality.
+ Name for the type represented by this .
+ This may be an actual type name or a generic argument name.
-
- When overridden in a derived class, this method will modify the given
- by adding strategies, policies, etc. to
- install it's functions into the container.
-
+
- Removes the extension's functions from the container.
+ Construct a new object that
+ specifies the given .
-
-
- This method is called when extensions are being removed from the container. It can be
- used to do things like disconnect event handlers or clean up member state. You do not
- need to remove strategies or policies here; the container will do that automatically.
-
-
- The default implementation of this method does nothing.
-
+ Type of the dependency.
-
+
- The container this extension has been added to.
+ Construct a new object that
+ specifies the given and .
- The that this extension has been added to.
+ Type of the dependency.
+ Name for the dependency.
-
+
- The object used to manipulate
- the inner state of the container.
+ Return a instance that will
+ return this types value for the parameter.
+ Type that contains the member that needs this parameter. Used
+ to resolve open generic parameters.
+ The .
-
+
- A that lets you specify that
- an instance of a generic type parameter should be resolved.
+ A generic version of that lets you
+ specify the type of the dependency using generics syntax.
+ Type of the dependency.
-
+
- Base class for subclasses that let you specify that
- an instance of a generic type parameter should be resolved.
+ Construct a new .
-
+
- Base type for objects that are used to configure parameters for
- constructor or method injection, or for getting the value to
- be injected into a property.
+ Construct a new with the given
+ .
+ Name of the dependency.
-
+
- Test to see if this parameter value has a matching type for the given type.
+ A special lifetime manager which works like ,
+ except that in the presence of child containers, each child gets it's own instance
+ of the object, instead of sharing one in the common parent.
- Type to check.
- True if this parameter value is compatible with type ,
- false if not.
-
+
- Return a instance that will
- return this types value for the parameter.
+ A that holds onto the instance given to it.
+ When the is disposed,
+ the instance is disposed with it.
- Type that contains the member that needs this parameter. Used
- to resolve open generic parameters.
- The .
-
+
- Convert the given set of arbitrary values to a sequence of InjectionParameterValue
- objects. The rules are: If it's already an InjectionParameterValue, return it. If
- it's a Type, return a ResolvedParameter object for that type. Otherwise return
- an InjectionParameter object for that value.
+ Base class for Lifetime managers which need to synchronize calls to
+ .
- The values to build the sequence from.
- The resulting converted sequence.
+
+
+ The purpose of this class is to provide a basic implementation of the lifetime manager synchronization pattern.
+
+
+ Calls to the method of a
+ instance acquire a lock, and if the instance has not been initialized with a value yet the lock will only be released
+ when such an initialization takes place by calling the method or if
+ the build request which resulted in the call to the GetValue method fails.
+
+
+
-
+
- Convert an arbitrary value to an InjectionParameterValue object. The rules are:
- If it's already an InjectionParameterValue, return it. If it's a Type, return a
- ResolvedParameter object for that type. Otherwise return an InjectionParameter
- object for that value.
+ Base class for Lifetime managers - classes that control how
+ and when instances are created by the Unity container.
- The value to convert.
- The resulting .
-
+
- Name for the type represented by this .
- This may be an actual type name or a generic argument name.
+ A that controls how instances are
+ persisted and recovered from an external store. Used to implement
+ things like singletons and per-http-request lifetime.
-
+
- Create a new instance that specifies
- that the given named generic parameter should be resolved.
+ Retrieve a value from the backing store associated with this Lifetime policy.
- The generic parameter name to resolve.
+ the object desired, or null if no such object is currently stored.
-
+
- Create a new instance that specifies
- that the given named generic parameter should be resolved.
+ Stores the given value into backing store for retrieval later.
- The generic parameter name to resolve.
- name to use when looking up in the container.
+ The object to store.
-
+
- Test to see if this parameter value has a matching type for the given type.
+ Remove the value this lifetime policy is managing from backing store.
- Type to check.
- True if this parameter value is compatible with type ,
- false if not.
-
+
- Return a instance that will
- return this types value for the parameter.
+ Retrieve a value from the backing store associated with this Lifetime policy.
- Type that contains the member that needs this parameter. Used
- to resolve open generic parameters.
- The .
+ the object desired, or null if no such object is currently stored.
-
+
- Return a instance that will
- return this types value for the parameter.
+ Stores the given value into backing store for retrieval later.
- The actual type to resolve.
- The resolution key.
- The .
+ The object being stored.
-
+
- Name for the type represented by this .
- This may be an actual type name or a generic argument name.
+ Remove the given object from backing store.
-
+
- Create a new instance that specifies
- that the given named generic parameter should be resolved.
+ This interface provides a hook for the builder context to
+ implement error recovery when a builder strategy throws
+ an exception. Since we can't get try/finally blocks onto
+ the call stack for later stages in the chain, we instead
+ add these objects to the context. If there's an exception,
+ all the current IRequiresRecovery instances will have
+ their Recover methods called.
- The generic parameter name to resolve.
-
+
- Create a new instance that specifies
- that the given named generic parameter should be resolved.
+ A method that does whatever is needed to clean up
+ as part of cleaning up after an exception.
- The generic parameter name to resolve.
- name to use when looking up in the container.
-
-
-
- Return a instance that will
- return this types value for the parameter.
-
- The actual type to resolve.
- The resolution key.
- The .
+
+ Don't do anything that could throw in this method,
+ it will cause later recover operations to get skipped
+ and play real havoc with the stack trace.
+
-
+
- A that lets you specify that
- an array containing the registered instances of a generic type parameter
- should be resolved.
+ Retrieve a value from the backing store associated with this Lifetime policy.
+ the object desired, or null if no such object is currently stored.
+ Calls to this method acquire a lock which is released only if a non-null value
+ has been set for the lifetime manager.
-
+
- Create a new instance that specifies
- that the given named generic parameter should be resolved.
+ Performs the actual retrieval of a value from the backing store associated
+ with this Lifetime policy.
- The generic parameter name to resolve.
- The values for the elements, that will
- be converted to objects.
+ the object desired, or null if no such object is currently stored.
+ This method is invoked by
+ after it has acquired its lock.
-
+
- Test to see if this parameter value has a matching type for the given type.
+ Stores the given value into backing store for retrieval later.
- Type to check.
- True if this parameter value is compatible with type ,
- false if not.
- A type is considered compatible if it is an array type of rank one
- and its element type is a generic type parameter with a name matching this generic
- parameter name configured for the receiver.
+ The object being stored.
+ Setting a value will attempt to release the lock acquired by
+ .
-
+
- Return a instance that will
- return this types value for the parameter.
+ Performs the actual storage of the given value into backing store for retrieval later.
- Type that contains the member that needs this parameter. Used
- to resolve open generic parameters.
- The .
+ The object being stored.
+ This method is invoked by
+ before releasing its lock.
-
+
- Name for the type represented by this .
- This may be an actual type name or a generic argument name.
+ Remove the given object from backing store.
-
+
- A Unity container extension that allows you to configure
- which constructors, properties, and methods get injected
- via an API rather than through attributes.
+ A method that does whatever is needed to clean up
+ as part of cleaning up after an exception.
+
+ Don't do anything that could throw in this method,
+ it will cause later recover operations to get skipped
+ and play real havoc with the stack trace.
+
-
+
- Initial the container with this extension's functionality.
+ Retrieve a value from the backing store associated with this Lifetime policy.
-
- When overridden in a derived class, this method will modify the given
- by adding strategies, policies, etc. to
- install it's functions into the container.
+ the object desired, or null if no such object is currently stored.
-
+
- API to configure the injection settings for a particular type.
+ Stores the given value into backing store for retrieval later.
- Type the injection is being configured for.
- Objects containing the details on which members to inject and how.
- This extension object.
+ The object being stored.
-
+
- API to configure the injection settings for a particular type/name pair.
+ Remove the given object from backing store.
- Type the injection is being configured for.
- Name of registration
- Objects containing the details on which members to inject and how.
- This extension object.
-
+
- API to configure the injection settings for a particular type.
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
- Type to configure.
- Objects containing the details on which members to inject and how.
- This extension object.
-
+
- API to configure the injection settings for a particular type/name pair.
+ Standard Dispose pattern implementation. Not needed, but it keeps FxCop happy.
- Type to configure.
- Name of registration.
- Objects containing the details on which members to inject and how.
- This extension object.
+ Always true, since we don't have a finalizer.
-
+
- API to configure the injection settings for a particular type/name pair.
+ This is a custom lifetime manager that acts like ,
+ but also provides a signal to the default build plan, marking the type so that
+ instances are reused across the build up object graph.
- Type of interface/base class being registered (may be null).
- Type of actual implementation class being registered.
- Name of registration.
- Objects containing the details on which members to inject and how.
- This extension object.
-
+
- A class that holds the collection of information
- for a constructor, so that the container can
- be configured to call this constructor.
+ Construct a new object that does not
+ itself manage an instance.
-
+
- Base class for objects that can be used to configure what
- class members get injected by the container.
+ Construct a new object that stores the
+ give value. This value will be returned by
+ but is not stored in the lifetime manager, nor is the value disposed.
+ This Lifetime manager is intended only for internal use, which is why the
+ normal method is not used here.
+ Value to store.
-
+
- Add policies to the to configure the
- container to call this constructor with the appropriate parameter values.
+ Retrieve a value from the backing store associated with this Lifetime policy.
- Type to register.
- Policy list to add policies to.
+ the object desired, or null if no such object is currently stored.
-
+
- Add policies to the to configure the
- container to call this constructor with the appropriate parameter values.
+ Stores the given value into backing store for retrieval later. In this class,
+ this is a noop, since it has special hooks down in the guts.
- Type of interface being registered. If no interface,
- this will be null.
- Type of concrete type being registered.
- Name used to resolve the type object.
- Policy list to add policies to.
+ The object being stored.
-
+
- Create a new instance of that looks
- for a constructor with the given set of parameters.
+ Remove the given object from backing store. Noop in this class.
- The values for the parameters, that will
- be converted to objects.
-
+
- Add policies to the to configure the
- container to call this constructor with the appropriate parameter values.
+ A strategy that handles Hierarchical lifetimes across a set of parent/child
+ containers.
- Interface registered, ignored in this implementation.
- Type to register.
- Name used to resolve the type object.
- Policy list to add policies to.
-
+
- A class that lets you specify a factory method the container
- will use to create the object.
+ Represents a strategy in the chain of responsibility.
+ Strategies are required to support both BuildUp and TearDown.
- This is a significantly easier way to do the same
- thing the old static factory extension was used for.
-
+
- Create a new instance of with
- the given factory function.
+ Represents a strategy in the chain of responsibility.
+ Strategies are required to support both BuildUp and TearDown. Although you
+ can implement this interface directly, you may also choose to use
+ as the base class for your strategies, as
+ this class provides useful helper methods and makes support BuildUp and TearDown
+ optional.
- Factory function.
-
+
- Create a new instance of with
- the given factory function.
+ Called during the chain of responsibility for a build operation. The
+ PreBuildUp method is called when the chain is being executed in the
+ forward direction.
- Factory function.
+ Context of the build operation.
-
+
- Add policies to the to configure the
- container to call this constructor with the appropriate parameter values.
+ Called during the chain of responsibility for a build operation. The
+ PostBuildUp method is called when the chain has finished the PreBuildUp
+ phase and executes in reverse order from the PreBuildUp calls.
- Type of interface being registered. If no interface,
- this will be null. This parameter is ignored in this implementation.
- Type of concrete type being registered.
- Name used to resolve the type object.
- Policy list to add policies to.
+ Context of the build operation.
-
+
- An that configures the
- container to call a method as part of buildup.
+ Called during the chain of responsibility for a teardown operation. The
+ PreTearDown method is called when the chain is being executed in the
+ forward direction.
+ Context of the teardown operation.
-
+
- Create a new instance which will configure
- the container to call the given methods with the given parameters.
+ Called during the chain of responsibility for a teardown operation. The
+ PostTearDown method is called when the chain has finished the PreTearDown
+ phase and executes in reverse order from the PreTearDown calls.
- Name of the method to call.
- Parameter values for the method.
+ Context of the teardown operation.
-
+
- Add policies to the to configure the
- container to call this constructor with the appropriate parameter values.
+ Called during the chain of responsibility for a build operation. The
+ PreBuildUp method is called when the chain is being executed in the
+ forward direction.
- Type of interface registered, ignored in this implementation.
- Type to register.
- Name used to resolve the type object.
- Policy list to add policies to.
+ Context of the build operation.
-
+
- A small function to handle name matching. You can override this
- to do things like case insensitive comparisons.
-
- MethodInfo for the method you're checking.
- Name of the method you're looking for.
- True if a match, false if not.
+ Called during the chain of responsibility for a build operation. The
+ PostBuildUp method is called when the chain has finished the PreBuildUp
+ phase and executes in reverse order from the PreBuildUp calls.
+
+ Context of the build operation.
-
+
- A class that holds on to the given value and provides
- the required
- when the container is configured.
+ Called during the chain of responsibility for a teardown operation. The
+ PreTearDown method is called when the chain is being executed in the
+ forward direction.
+ Context of the teardown operation.
-
+
- A base class for implementing classes
- that deal in explicit types.
+ Called during the chain of responsibility for a teardown operation. The
+ PostTearDown method is called when the chain has finished the PreTearDown
+ phase and executes in reverse order from the PreTearDown calls.
+ Context of the teardown operation.
-
+
- Create a new that exposes
- information about the given .
+ Called during the chain of responsibility for a build operation. The
+ PreBuildUp method is called when the chain is being executed in the
+ forward direction.
- Type of the parameter.
+ Context of the build operation.
-
+
- Test to see if this parameter value has a matching type for the given type.
+ A that will attempt to
+ resolve a value, and return null if it cannot rather than throwing.
- Type to check.
- True if this parameter value is compatible with type ,
- false if not.
-
+
- The type of parameter this object represents.
+ A strategy that is used at build plan execution time
+ to resolve a dependent value.
-
+
- Name for the type represented by this .
- This may be an actual type name or a generic argument name.
+ Get the value for a dependency.
+ Current build context.
+ The value for the dependency.
-
+
- Create an instance of that stores
- the given value, using the runtime type of that value as the
- type of the parameter.
+ Construct a new object
+ that will attempt to resolve the given name and type from the container.
- Value to be injected for this parameter.
+ Type to resolve. Must be a reference type.
+ Name to resolve with.
-
+
- Create an instance of that stores
- the given value, associated with the given type.
+ Construct a new object
+ that will attempt to resolve the given type from the container.
- Type of the parameter.
- Value of the parameter
+ Type to resolve. Must be a reference type.
-
+
- Return a instance that will
- return this types value for the parameter.
+ Get the value for a dependency.
- Type that contains the member that needs this parameter. Used
- to resolve open generic parameters.
- The .
+ Current build context.
+ The value for the dependency.
-
+
- A generic version of that makes it a
- little easier to specify the type of the parameter.
+ Type this resolver will resolve.
- Type of parameter.
-
+
- Create a new .
+ Name this resolver will resolve.
- Value for the parameter.
-
+
- This class stores information about which properties to inject,
- and will configure the container accordingly.
+ Extension methods on to provide convenience
+ overloads (generic versions, mostly).
-
+
- Configure the container to inject the given property name,
- resolving the value via the container.
+ Removes an individual policy type for a build key.
- Name of the property to inject.
+ The type the policy was registered as.
+ to remove the policy from.
+ The key the policy applies.
-
+
- Configure the container to inject the given property name,
- using the value supplied. This value is converted to an
- object using the
- rules defined by the
- method.
+ Removes a default policy.
- Name of property to inject.
- Value for property.
+ The type the policy was registered as.
+ to remove the policy from.
-
+
- Add policies to the to configure the
- container to call this constructor with the appropriate parameter values.
+ Gets an individual policy.
- Interface being registered, ignored in this implemenation.
- Type to register.
- Name used to resolve the type object.
- Policy list to add policies to.
+ The interface the policy is registered under.
+ to search.
+ The key the policy applies.
+ The policy in the list, if present; returns null otherwise.
-
+
- A that lets you specify that
- an instance of a generic type parameter should be resolved, providing the
- value if resolving fails.
+ Gets an individual policy.
+ The interface the policy is registered under.
+ to search.
+ The key the policy applies.
+ The policy list that actually contains the returned policy.
+ The policy in the list, if present; returns null otherwise.
-
+
- Create a new instance that specifies
- that the given named generic parameter should be resolved.
+ Gets an individual policy.
- The generic parameter name to resolve.
+ to search.
+ The interface the policy is registered under.
+ The key the policy applies.
+ The policy in the list, if present; returns null otherwise.
-
+
- Create a new instance that specifies
- that the given named generic parameter should be resolved.
+ Gets an individual policy.
- The generic parameter name to resolve.
- name to use when looking up in the container.
+ to search.
+ The interface the policy is registered under.
+ The key the policy applies.
+ The policy list that actually contains the returned policy.
+ The policy in the list, if present; returns null otherwise.
-
+
- Return a instance that will
- return this types value for the parameter.
+ Gets an individual policy.
- The actual type to resolve.
- The resolution key.
- The .
+ The interface the policy is registered under.
+ to search.
+ The key the policy applies.
+ true if the policy searches local only; otherwise false to search up the parent chain.
+ The policy in the list, if present; returns null otherwise.
-
+
- A that can be passed to
- to configure a
- parameter or property as an optional dependency.
+ Gets an individual policy.
+ The interface the policy is registered under.
+ to search.
+ The key the policy applies.
+ true if the policy searches local only; otherwise false to search up the parent chain.
+ The policy list that actually contains the returned policy.
+ The policy in the list, if present; returns null otherwise.
-
+
- Construct a new object that
- specifies the given .
+ Gets an individual policy.
- Type of the dependency.
+ to search.
+ The interface the policy is registered under.
+ The key the policy applies.
+ true if the policy searches local only; otherwise false to search up the parent chain.
+ The policy in the list, if present; returns null otherwise.
-
+
- Construct a new object that
- specifies the given and .
+ Get the non default policy.
- Type of the dependency.
- Name for the dependency.
+ The interface the policy is registered under.
+ to search.
+ The key the policy applies.
+ true if the policy searches local only; otherwise false to search up the parent chain.
+ The policy in the list, if present; returns null otherwise.
-
+
- Return a instance that will
- return this types value for the parameter.
+ Get the non default policy.
- Type that contains the member that needs this parameter. Used
- to resolve open generic parameters.
- The .
+ The interface the policy is registered under.
+ to search.
+ The key the policy applies.
+ true if the policy searches local only; otherwise false to search up the parent chain.
+ The policy list that actually contains the returned policy.
+ The policy in the list, if present; returns null otherwise.
-
+
- A generic version of that lets you
- specify the type of the dependency using generics syntax.
+ Get the non default policy.
- Type of the dependency.
+ to search.
+ The interface the policy is registered under.
+ The key the policy applies.
+ true if the policy searches local only; otherwise false to search up the parent chain.
+ The policy in the list, if present; returns null otherwise.
-
+
- Construct a new .
+ Sets an individual policy.
+ The interface the policy is registered under.
+ to add the policy to.
+ The policy to be registered.
+ The key the policy applies.
-
+
- Construct a new with the given
- .
+ Sets a default policy. When checking for a policy, if no specific individual policy
+ is available, the default will be used.
- Name of the dependency.
+ The interface to register the policy under.
+ to add the policy to.
+ The default policy to be registered.
-
+
- A class that stores a type, and generates a
- resolver object that resolves all the named instances or the
- type registered in a container.
+ Base class for the current operation stored in the build context.
-
+
- Construct a new that
- resolves to the given element type and collection of element values.
+ Create a new .
- The type of elements to resolve.
- The values for the elements, that will
- be converted to objects.
+ Type currently being built.
-
+
- Construct a new that
- resolves to the given array and element types and collection of element values.
+ The type that's currently being built.
- The type for the array of elements to resolve.
- The type of elements to resolve.
- The values for the elements, that will
- be converted to objects.
-
+
- Return a instance that will
- return this types value for the parameter.
+ Build plan for that will return a Func that will resolve the requested type
+ through this container later.
- Type that contains the member that needs this parameter. Used
- to resolve open generic parameters.
- The .
-
+
- A generic version of for convenience
- when creating them by hand.
+ A build plan is an object that, when invoked, will create a new object
+ or fill in a given existing one. It encapsulates all the information
+ gathered by the strategies to construct a particular object.
- Type of the elements for the array of the parameter.
-
+
- Construct a new that
- resolves to the given element generic type with the given element values.
+ Creates an instance of this build plan's type, or fills
+ in the existing type if passed in.
- The values for the elements, that will
- be converted to objects.
+ Context used to build up the object.
-
+
- A class that stores a name and type, and generates a
- resolver object that resolves the parameter via the
- container.
+ Creates an instance of this build plan's type, or fills
+ in the existing type if passed in.
+ Context used to build up the object.
-
+
- Construct a new that
- resolves to the given type.
+ The almost inevitable collection of extra helper methods on
+ to augment the rich set of what
+ LINQ already gives us.
- Type of this parameter.
-
+
- Construct a new that
- resolves the given type and name.
+ Execute the provided on every item in .
- Type of this parameter.
- Name to use when resolving parameter.
+ Type of the items stored in
+ Sequence of items to process.
+ Code to run over each item.
-
+
- Return a instance that will
- return this types value for the parameter.
+ Create a single string from a sequence of items, separated by the provided ,
+ and with the conversion to string done by the given .
- Type that contains the member that needs this parameter. Used
- to resolve open generic parameters.
- The .
+ This method does basically the same thing as ,
+ but will work on any sequence of items, not just arrays.
+ Type of items in the sequence.
+ Sequence of items to convert.
+ Separator to place between the items in the string.
+ The conversion function to change TItem -> string.
+ The resulting string.
-
+
- A generic version of for convenience
- when creating them by hand.
+ Create a single string from a sequence of items, separated by the provided ,
+ and with the conversion to string done by the item's method.
- Type of the parameter
+ This method does basically the same thing as ,
+ but will work on any sequence of items, not just arrays.
+ Type of items in the sequence.
+ Sequence of items to convert.
+ Separator to place between the items in the string.
+ The resulting string.
-
+
- Create a new for the given
- generic type and the default name.
+ A class that lets you
+ override a named parameter passed to a constructor.
-
+
- Create a new for the given
- generic type and name.
+ Construct a new object that will
+ override the given named constructor parameter, and pass the given
+ value.
- Name to use to resolve this parameter.
+ Name of the constructor parameter.
+ Value to pass for the constructor.
-
+
- Interface defining the behavior of the Unity dependency injection container.
+ Return a that can be used to give a value
+ for the given desired dependency.
+ Current build context.
+ Type of dependency desired.
+ a object if this override applies, null if not.
-
+
- Register a type mapping with the container, where the created instances will use
- the given .
+ A convenience form of that lets you
+ specify multiple parameter overrides in one shot rather than having
+ to construct multiple objects.
- that will be requested.
- that will actually be returned.
- Name to use for registration, null if a default registration.
- The that controls the lifetime
- of the returned instance.
- Injection configuration objects.
- The object that this method was called on (this in C#, Me in Visual Basic).
-
+
- Register an instance with the container.
+ When implemented in derived classes, this method is called from the
+ method to create the actual objects.
-
-
- Instance registration is much like setting a type as a singleton, except that instead
- of the container creating the instance the first time it is requested, the user
- creates the instance ahead of type and adds that instance to the container.
-
-
- Type of instance to register (may be an implemented interface instead of the full type).
- Object to returned.
- Name for registration.
-
- object that controls how this instance will be managed by the container.
- The object that this method was called on (this in C#, Me in Visual Basic).
+ Key value to create the resolver.
+ Value to store in the resolver.
+ The created .
-
+
- Resolve an instance of the requested type with the given name from the container.
+ A that lets you override
+ the value for a specified property.
- of object to get from the container.
- Name of the object to retrieve.
- Any overrides for the resolve call.
- The retrieved object.
-
+
- Return instances of all registered types requested.
+ Create an instance of .
-
-
- This method is useful if you've registered multiple types with the same
- but different names.
-
-
- Be aware that this method does NOT return an instance for the default (unnamed) registration.
-
-
- The type requested.
- Any overrides for the resolve calls.
- Set of objects of type .
+ The property name.
+ Value to use for the property.
-
+
- Run an existing object through the container and perform injection on it.
+ Return a that can be used to give a value
+ for the given desired dependency.
-
-
- This method is useful when you don't control the construction of an
- instance (ASP.NET pages or objects created via XAML, for instance)
- but you still want properties and other injection performed.
-
- of object to perform injection on.
- Instance to build up.
- name to use when looking up the typemappings and other configurations.
- Any overrides for the resolve calls.
- The resulting object. By default, this will be , but
- container extensions may add things like automatic proxy creation which would
- cause this to return a different object (but still type compatible with ).
+ Current build context.
+ Type of dependency desired.
+ a object if this override applies, null if not.
-
+
- Run an existing object through the container, and clean it up.
+ A convenience form of that lets you
+ specify multiple property overrides in one shot rather than having
+ to construct multiple objects.
- The object to tear down.
-
+
- Add an extension object to the container.
+ When implemented in derived classes, this method is called from the
+ method to create the actual objects.
- to add.
- The object that this method was called on (this in C#, Me in Visual Basic).
+ Key value to create the resolver.
+ Value to store in the resolver.
+ The created .
-
+
- Resolve access to a configuration interface exposed by an extension.
+ Interface defining the configuration interface exposed by the
+ Static Factory extension.
- Extensions can expose configuration interfaces as well as adding
- strategies and policies to the container. This method walks the list of
- added extensions and returns the first one that implements the requested type.
-
- of configuration interface required.
- The requested extension's configuration interface, or null if not found.
-
+
- Remove all installed extensions from this container.
+ Base interface for all extension configuration interfaces.
-
-
- This method removes all extensions from the container, including the default ones
- that implement the out-of-the-box behavior. After this method, if you want to use
- the container again you will need to either readd the default extensions or replace
- them with your own.
-
-
- The registered instances and singletons that have already been set up in this container
- do not get removed.
-
-
- The object that this method was called on (this in C#, Me in Visual Basic).
-
+
- Create a child container.
+ Retrieve the container instance that we are currently configuring.
-
- A child container shares the parent's configuration, but can be configured with different
- settings or lifetime.
- The new child container.
-
+
- The parent of this container.
+ Register the given factory delegate to be called when the container is
+ asked to resolve .
- The parent container, or null if this container doesn't have one.
+ Type that will be requested from the container.
+ Delegate to invoke to create the instance.
+ The container extension object this method was invoked on.
-
+
- Get a sequence of that describe the current state
- of the container.
+ Register the given factory delegate to be called when the container is
+ asked to resolve and .
+ Type that will be requested from the container.
+ The name that will be used when requesting to resolve this type.
+ Delegate to invoke to create the instance.
+ The container extension object this method was invoked on.
-
+
- A that holds onto the instance given to it.
- When the is disposed,
- the instance is disposed with it.
+ Represents the context in which a build-up or tear-down operation runs.
-
+
- Base class for Lifetime managers which need to synchronize calls to
- .
+ Represents the context in which a build-up or tear-down operation runs.
-
-
- The purpose of this class is to provide a basic implementation of the lifetime manager synchronization pattern.
-
-
- Calls to the method of a
- instance acquire a lock, and if the instance has not been initialized with a value yet the lock will only be released
- when such an initialization takes place by calling the method or if
- the build request which resulted in the call to the GetValue method fails.
-
-
-
-
+
- Base class for Lifetime managers - classes that control how
- and when instances are created by the Unity container.
+ Add a new set of resolver override objects to the current build operation.
+ objects to add.
-
+
- A that controls how instances are
- persisted and recovered from an external store. Used to implement
- things like singletons and per-http-request lifetime.
+ Get a object for the given
+ or null if that dependency hasn't been overridden.
+ Type of the dependency.
+ Resolver to use, or null if no override matches for the current operation.
-
+
- Represents a builder policy interface. Since there are no fixed requirements
- for policies, it acts as a marker interface from which to derive all other
- policy interfaces.
+ A convenience method to do a new buildup operation on an existing context.
+ Key to use to build up.
+ Created object.
-
+
- Retrieve a value from the backing store associated with this Lifetime policy.
+ A convenience method to do a new buildup operation on an existing context. This
+ overload allows you to specify extra policies which will be in effect for the duration
+ of the build.
- the object desired, or null if no such object is currently stored.
+ Key defining what to build up.
+ A delegate that takes a . This
+ is invoked with the new child context before the build up process starts. This gives callers
+ the opportunity to customize the context for the build process.
+ Created object.
-
+
- Stores the given value into backing store for retrieval later.
+ Gets the head of the strategy chain.
- The object to store.
+
+ The strategy that's first in the chain; returns null if there are no
+ strategies in the chain.
+
-
+
- Remove the value this lifetime policy is managing from backing store.
+ Gets the associated with the build.
+
+ The associated with the build.
+
-
+
- Retrieve a value from the backing store associated with this Lifetime policy.
+ Gets the original build key for the build operation.
- the object desired, or null if no such object is currently stored.
+
+ The original build key for the build operation.
+
-
+
- Stores the given value into backing store for retrieval later.
+ Get the current build key for the current build operation.
- The object being stored.
-
+
- Remove the given object from backing store.
+ The set of policies that were passed into this context.
+ This returns the policies passed into the context.
+ Policies added here will remain after buildup completes.
+ The persistent policies for the current context.
-
+
- This interface provides a hook for the builder context to
- implement error recovery when a builder strategy throws
- an exception. Since we can't get try/finally blocks onto
- the call stack for later stages in the chain, we instead
- add these objects to the context. If there's an exception,
- all the current IRequiresRecovery instances will have
- their Recover methods called.
+ Gets the policies for the current context.
+ Any policies added to this object are transient
+ and will be erased at the end of the buildup.
+
+ The policies for the current context.
+
-
+
- A method that does whatever is needed to clean up
- as part of cleaning up after an exception.
+ Gets the collection of objects
+ that need to execute in event of an exception.
-
- Don't do anything that could throw in this method,
- it will cause later recover operations to get skipped
- and play real havoc with the stack trace.
-
-
+
- Retrieve a value from the backing store associated with this Lifetime policy.
+ The current object being built up or torn down.
- the object desired, or null if no such object is currently stored.
- Calls to this method acquire a lock which is released only if a non-null value
- has been set for the lifetime manager.
+
+ The current object being manipulated by the build operation. May
+ be null if the object hasn't been created yet.
-
+
- Performs the actual retrieval of a value from the backing store associated
- with this Lifetime policy.
+ Flag indicating if the build operation should continue.
- the object desired, or null if no such object is currently stored.
- This method is invoked by
- after it has acquired its lock.
+ true means that building should not call any more
+ strategies, false means continue to the next strategy.
-
+
- Stores the given value into backing store for retrieval later.
+ An object representing what is currently being done in the
+ build chain. Used to report back errors if there's a failure.
- The object being stored.
- Setting a value will attempt to release the lock acquired by
- .
-
+
- Performs the actual storage of the given value into backing store for retrieval later.
+ The build context used to resolve a dependency during the build operation represented by this context.
- The object being stored.
- This method is invoked by
- before releasing its lock.
-
+
- Remove the given object from backing store.
+ Initialize a new instance of the class.
-
+
- A method that does whatever is needed to clean up
- as part of cleaning up after an exception.
+ Initialize a new instance of the class with a ,
+ , and the
+ build key used to start this build operation.
-
- Don't do anything that could throw in this method,
- it will cause later recover operations to get skipped
- and play real havoc with the stack trace.
-
+ The to use for this context.
+ The to use for this context.
+ The to use for this context.
+ Build key to start building.
+ The existing object to build up.
-
+
- Retrieve a value from the backing store associated with this Lifetime policy.
+ Create a new using the explicitly provided
+ values.
- the object desired, or null if no such object is currently stored.
+ The to use for this context.
+ The to use for this context.
+ The set of persistent policies to use for this context.
+ The set of transient policies to use for this context. It is
+ the caller's responsibility to ensure that the transient and persistent policies are properly
+ combined.
+ Build key for this context.
+ Existing object to build up.
-
+
- Stores the given value into backing store for retrieval later.
+ Create a new using the explicitly provided
+ values.
- The object being stored.
+ The to use for this context.
+ The to use for this context.
+ The set of persistent policies to use for this context.
+ The set of transient policies to use for this context. It is
+ the caller's responsibility to ensure that the transient and persistent policies are properly
+ combined.
+ Build key for this context.
+ The resolver overrides.
-
+
- Remove the given object from backing store.
+ Add a new set of resolver override objects to the current build operation.
+ objects to add.
-
+
- Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+ Get a object for the given
+ or null if that dependency hasn't been overridden.
- 2
+ Type of the dependency.
+ Resolver to use, or null if no override matches for the current operation.
-
+
- Standard Dispose pattern implementation. Not needed, but it keeps FxCop happy.
+ A convenience method to do a new buildup operation on an existing context.
- Always true, since we don't have a finalizer.
+ Key to use to build up.
+ Created object.
-
+
- A that holds a weak reference to
- it's managed instance.
+ A convenience method to do a new buildup operation on an existing context. This
+ overload allows you to specify extra policies which will be in effect for the duration
+ of the build.
+ Key defining what to build up.
+ A delegate that takes a . This
+ is invoked with the new child context before the build up process starts. This gives callers
+ the opportunity to customize the context for the build process.
+ Created object.
-
+
- Retrieve a value from the backing store associated with this Lifetime policy.
+ Gets the head of the strategy chain.
- the object desired, or null if no such object is currently stored.
-
-
-
- Stores the given value into backing store for retrieval later.
-
- The object being stored.
+
+ The strategy that's first in the chain; returns null if there are no
+ strategies in the chain.
+
-
+
- Remove the given object from backing store.
+ Get the current build key for the current build operation.
-
+
- A special lifetime manager which works like ,
- except that in the presence of child containers, each child gets it's own instance
- of the object, instead of sharing one in the common parent.
+ The current object being built up or torn down.
+
+ The current object being manipulated by the build operation. May
+ be null if the object hasn't been created yet.
-
+
- An implementation of that
- creates instances of the type of the given Lifetime Manager
- by resolving them through the container.
+ Gets the associated with the build.
+
+ The associated with the build.
+
-
+
- A builder policy used to create lifetime policy instances.
- Used by the LifetimeStrategy when instantiating open
- generic types.
+ Gets the original build key for the build operation.
+
+ The original build key for the build operation.
+
-
+
- Create a new instance of .
+ The set of policies that were passed into this context.
- The new instance.
+ This returns the policies passed into the context.
+ Policies added here will remain after buildup completes.
+ The persistent policies for the current context.
-
+
- The type of Lifetime manager that will be created by this factory.
+ Gets the policies for the current context.
+
+ Any modifications will be transient (meaning, they will be forgotten when
+ the outer BuildUp for this context is finished executing).
+
+
+ The policies for the current context.
+
-
+
- Create a new that will
- return instances of the given type, creating them by
- resolving through the container.
+ Gets the collection of objects
+ that need to execute in event of an exception.
- Container to resolve with.
- Type of LifetimeManager to create.
-
+
- Create a new instance of .
+ Flag indicating if the build operation should continue.
- The new instance.
+ true means that building should not call any more
+ strategies, false means continue to the next strategy.
-
+
- The type of Lifetime manager that will be created by this factory.
+ An object representing what is currently being done in the
+ build chain. Used to report back errors if there's a failure.
-
+
- This is a custom lifetime manager that acts like ,
- but also provides a signal to the default build plan, marking the type so that
- instances are reused across the build up object graph.
+ The build context used to resolve a dependency during the build operation represented by this context.
-
+
- Construct a new object that does not
- itself manage an instance.
+ Represents that a dependency could not be resolved.
-
+
- Construct a new object that stores the
- give value. This value will be returned by
- but is not stored in the lifetime manager, nor is the value disposed.
- This Lifetime manager is intended only for internal use, which is why the
- normal method is not used here.
+ Initializes a new instance of the class with no extra information.
- Value to store.
-
+
- Retrieve a value from the backing store associated with this Lifetime policy.
+ Initializes a new instance of the class with the given message.
- the object desired, or null if no such object is currently stored.
+ Some random message.
-
+
- Stores the given value into backing store for retrieval later. In this class,
- this is a noop, since it has special hooks down in the guts.
+ Initialize a new instance of the class with the given
+ message and inner exception.
- The object being stored.
+ Some random message
+ Inner exception.
-
+
- Remove the given object from backing store. Noop in this class.
+ Initializes a new instance of the