diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index e3a8dd8..0000000 --- a/.gitattributes +++ /dev/null @@ -1,29 +0,0 @@ -# Auto detect text files and perform LF normalization -* text=auto - -*.approved.* binary - -*.doc diff=astextplain -*.DOC diff=astextplain -*.docx diff=astextplain -*.DOCX diff=astextplain -*.dot diff=astextplain -*.DOT diff=astextplain -*.pdf diff=astextplain -*.PDF diff=astextplain -*.rtf diff=astextplain -*.RTF diff=astextplain - -*.jpg binary -*.png binary -*.gif binary - -packages/**/*.* binary - -# Custom for Visual Studio -*.cs text eol=crlf diff=csharp -*.sln text eol=crlf merge=union -*.csproj text eol=crlf merge=union -*.vbproj text eol=crlf merge=union -*.fsproj text eol=crlf merge=union -*.dbproj text eol=crlf merge=union diff --git a/.gitignore b/.gitignore deleted file mode 100644 index b95aa1f..0000000 --- a/.gitignore +++ /dev/null @@ -1,23 +0,0 @@ -# Build Folders (you can keep bin if you'd like, to store dlls and pdbs) -bin -obj - -# mstest test results -TestResult* - -# Misc -.vscode -_ReSharper.* -.idea -*.user -*.suo -*.crunchproject.local.xml -*.crunchsolution.local.xml -ConventionTests*.nupkg -_NCrunch* -*.received.txt -*.orig -packages -ConventionTests.sln.ide/ -/.vs/ -/artifacts/** diff --git a/.nuget/packages.config b/.nuget/packages.config deleted file mode 100644 index 76559c3..0000000 --- a/.nuget/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/Backup/TestAssembly/TestAssembly(2).csproj b/Backup/TestAssembly/TestAssembly(2).csproj deleted file mode 100644 index ab3d01d..0000000 --- a/Backup/TestAssembly/TestAssembly(2).csproj +++ /dev/null @@ -1,32 +0,0 @@ - - - net35;net40;net451;netstandard1.5; - netstandard1.5 - TestAssembly - TestAssembly - false - false - false - false - false - false - false - - - - - - - - - - - - - - - - $(DefineConstants);netmvc - - - \ No newline at end of file diff --git a/Backup/TestAssembly/TestAssembly(3).csproj b/Backup/TestAssembly/TestAssembly(3).csproj deleted file mode 100644 index ab3d01d..0000000 --- a/Backup/TestAssembly/TestAssembly(3).csproj +++ /dev/null @@ -1,32 +0,0 @@ - - - net35;net40;net451;netstandard1.5; - netstandard1.5 - TestAssembly - TestAssembly - false - false - false - false - false - false - false - - - - - - - - - - - - - - - - $(DefineConstants);netmvc - - - \ No newline at end of file diff --git a/Backup/TestAssembly/TestAssembly.csproj b/Backup/TestAssembly/TestAssembly.csproj deleted file mode 100644 index ab3d01d..0000000 --- a/Backup/TestAssembly/TestAssembly.csproj +++ /dev/null @@ -1,32 +0,0 @@ - - - net35;net40;net451;netstandard1.5; - netstandard1.5 - TestAssembly - TestAssembly - false - false - false - false - false - false - false - - - - - - - - - - - - - - - - $(DefineConstants);netmvc - - - \ No newline at end of file diff --git a/ConventionTests.ncrunchsolution b/ConventionTests.ncrunchsolution deleted file mode 100644 index 5c74d78..0000000 --- a/ConventionTests.ncrunchsolution +++ /dev/null @@ -1,12 +0,0 @@ - - 1 - True - false - true - UseDynamicAnalysis - UseStaticAnalysis - UseStaticAnalysis - UseStaticAnalysis - - - \ No newline at end of file diff --git a/ConventionTests.sln b/ConventionTests.sln deleted file mode 100644 index 37890c2..0000000 --- a/ConventionTests.sln +++ /dev/null @@ -1,79 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.26228.12 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{AF9054EE-FE89-47A4-9156-BE54A837F2F7}" - ProjectSection(SolutionItems) = preProject - appveyor.yml = appveyor.yml - GitVersionConfig.yaml = GitVersionConfig.yaml - docs\mkdocs.yml = docs\mkdocs.yml - README.md = README.md - EndProjectSection -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{35B8E1F6-8E97-40A6-91E3-CB765328424F}" - ProjectSection(SolutionItems) = preProject - .nuget\packages.config = .nuget\packages.config - EndProjectSection -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Samples", "Samples", "{E971721A-1271-4359-8F76-9FF17C29582B}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Docs", "Docs", "{D822A12B-D358-48BC-8158-EB5CC253C858}" - ProjectSection(SolutionItems) = preProject - docs\changelog.md = docs\changelog.md - Docs\defining-conventions.md = Docs\defining-conventions.md - Docs\index.md = Docs\index.md - docs\mkdocs.yml = docs\mkdocs.yml - Docs\symmetric-conventions.md = Docs\symmetric-conventions.md - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestStack.ConventionTests", "TestStack.ConventionTests\TestStack.ConventionTests.csproj", "{955B0236-089F-434D-BA02-63A1E24C2B7C}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestStack.ConventionTests.Tests", "TestStack.ConventionTests.Tests\TestStack.ConventionTests.Tests.csproj", "{FEFF8305-A192-4CEA-A373-6CF2F365A9E5}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestAssembly", "TestAssembly\TestAssembly.csproj", "{D5A0D078-C660-4654-8A14-DDC816BEBC54}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestStack.ConventionTests.Autofac", "TestStack.ConventionTests.Autofac\TestStack.ConventionTests.Autofac.csproj", "{A747FD64-5338-4572-879D-A9DEB00EBD56}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SampleApp", "Samples\SampleApp\SampleApp.csproj", "{56467A5A-7DD6-45B3-A84C-144A3C5D0C7A}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SampleApp.Tests", "Samples\SampleApp.Tests\SampleApp.Tests.csproj", "{8FEF48A8-6FF5-4B65-B84A-6690D735C703}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {955B0236-089F-434D-BA02-63A1E24C2B7C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {955B0236-089F-434D-BA02-63A1E24C2B7C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {955B0236-089F-434D-BA02-63A1E24C2B7C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {955B0236-089F-434D-BA02-63A1E24C2B7C}.Release|Any CPU.Build.0 = Release|Any CPU - {FEFF8305-A192-4CEA-A373-6CF2F365A9E5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {FEFF8305-A192-4CEA-A373-6CF2F365A9E5}.Debug|Any CPU.Build.0 = Debug|Any CPU - {FEFF8305-A192-4CEA-A373-6CF2F365A9E5}.Release|Any CPU.ActiveCfg = Release|Any CPU - {FEFF8305-A192-4CEA-A373-6CF2F365A9E5}.Release|Any CPU.Build.0 = Release|Any CPU - {D5A0D078-C660-4654-8A14-DDC816BEBC54}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D5A0D078-C660-4654-8A14-DDC816BEBC54}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D5A0D078-C660-4654-8A14-DDC816BEBC54}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D5A0D078-C660-4654-8A14-DDC816BEBC54}.Release|Any CPU.Build.0 = Release|Any CPU - {A747FD64-5338-4572-879D-A9DEB00EBD56}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A747FD64-5338-4572-879D-A9DEB00EBD56}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A747FD64-5338-4572-879D-A9DEB00EBD56}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A747FD64-5338-4572-879D-A9DEB00EBD56}.Release|Any CPU.Build.0 = Release|Any CPU - {56467A5A-7DD6-45B3-A84C-144A3C5D0C7A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {56467A5A-7DD6-45B3-A84C-144A3C5D0C7A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {56467A5A-7DD6-45B3-A84C-144A3C5D0C7A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {56467A5A-7DD6-45B3-A84C-144A3C5D0C7A}.Release|Any CPU.Build.0 = Release|Any CPU - {8FEF48A8-6FF5-4B65-B84A-6690D735C703}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8FEF48A8-6FF5-4B65-B84A-6690D735C703}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8FEF48A8-6FF5-4B65-B84A-6690D735C703}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8FEF48A8-6FF5-4B65-B84A-6690D735C703}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {56467A5A-7DD6-45B3-A84C-144A3C5D0C7A} = {E971721A-1271-4359-8F76-9FF17C29582B} - {8FEF48A8-6FF5-4B65-B84A-6690D735C703} = {E971721A-1271-4359-8F76-9FF17C29582B} - EndGlobalSection -EndGlobal diff --git a/ConventionTests.sln.DotSettings b/ConventionTests.sln.DotSettings deleted file mode 100644 index 9efe2a6..0000000 --- a/ConventionTests.sln.DotSettings +++ /dev/null @@ -1,18 +0,0 @@ - - True - DO_NOT_SHOW - <?xml version="1.0" encoding="utf-16"?><Profile name="all"><CSArrangeThisQualifier>True</CSArrangeThisQualifier><CSRemoveCodeRedundancies>True</CSRemoveCodeRedundancies><CSUseAutoProperty>True</CSUseAutoProperty><CSMakeFieldReadonly>True</CSMakeFieldReadonly><CSUseVar><BehavourStyle>CAN_CHANGE_TO_IMPLICIT</BehavourStyle><LocalVariableStyle>ALWAYS_IMPLICIT</LocalVariableStyle><ForeachVariableStyle>ALWAYS_IMPLICIT</ForeachVariableStyle></CSUseVar><CSOptimizeUsings><OptimizeUsings>True</OptimizeUsings><EmbraceInRegion>False</EmbraceInRegion><RegionName></RegionName></CSOptimizeUsings><CSShortenReferences>True</CSShortenReferences><CSReformatCode>True</CSReformatCode><CSharpFormatDocComments>True</CSharpFormatDocComments><CSReorderTypeMembers>True</CSReorderTypeMembers></Profile> - all - False - True - True - True - MQ - <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /> - <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /> - True - True - True - True - True - True \ No newline at end of file diff --git a/GitVersionConfig.yaml b/GitVersionConfig.yaml deleted file mode 100644 index 4938af2..0000000 --- a/GitVersionConfig.yaml +++ /dev/null @@ -1 +0,0 @@ -next-version: 4.0.0 \ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100644 index a9cd9c1..0000000 --- a/README.md +++ /dev/null @@ -1,57 +0,0 @@ -TestStack.ConventionTests -========================= -[![Build status](https://ci.appveyor.com/api/projects/status/rd41l8kf510a98i5/branch/master?svg=true)](https://ci.appveyor.com/project/TestStack/teststack-conventiontests/branch/master) -[![NuGet](https://img.shields.io/nuget/vpre/TestStack.ConventionTests.svg)](https://www.nuget.org/packages/TestStack.ConventionTests) - -[![Join the chat at https://gitter.im/TestStack/TestStack.ConventionTests](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/TestStack/TestStack.ConventionTests?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) -[![Documentation Status](https://readthedocs.org/projects/teststackconventiontests/badge/?version=latest)](http://teststackconventiontests.readthedocs.org/en/latest/?badge=latest) - - -### What is ConventionTests? -Convention over Configuration is a great way to cut down repetitive boilerplate code. -But how do you validate that your code adheres to your conventions? -TestStack.ConventionTests is a simple NuGet library that makes it easy to build validation rules for convention validation tests. - -TestStack.ConventionTests also will generate a convention report of the conventions present in your codebase, which you can publish as **living documentation** - -### Using Con­ven­tion­Tests - - [Test] - public void DomainHasVirtualMethodsConvention() - { - // Define some data - var nHibernateEntities = Types.InAssemblyOf() - .ConcreteTypes().InNamespace(typeof (SampleDomainClass).Namespace) - .ToTypes("nHibernate Entitites"); - - // Apply convention to data - Convention.Is(new AllMethodsAreVirtual(), nhibernateEntities); - } - -For more information [view the TestStack.ConventionTests documentation](http://teststackconventiontests.readthedocs.org/) - -### Packaged Conventions -Here is a list of some of the pacakged conventions - - - **AllClassesHaveDefaultConstructor** - All classes in defined data must have a default ctor (protected or public) - - **AllMethodsAreVirtual** - All classes in defined data must have virtual methods (includes get_Property/set_Property backing methods) - - **ClassTypeHasSpecificNamespace** - For example, Dto's must live in the Assembly.Dtos namespace' - - **FilesAreEmbeddedResources** - All .sql files are embedded resources - - **ProjectDoesNotReferenceDllsFromBinOrObjDirectories** - Specified project file must not reference assemblies from bin/obj directory - - **MvcControllerNameAndBaseClassConvention** - Enforces MVC controller naming conventions - - Types ending in *Controller must inherit from Controller (or ApiController), and - - Types inheriting from ControllerBase must be named *Controller - - **MvcControllerNameAndBaseClassConvention** - Enforces WebApi controller naming conventions - - Types ending in *Controller must inherit from ApiController (or Controller), and - - Types inheriting from ApiController must be named *Controller - -If you would like to define your own conventions see [Defining Conventions](http://teststackconventiontests.readthedocs.org/en/latest/defining-conventions/) - -### More Information -[Krzysztof Koźmic](https://github.com/kkozmic) first spoke about ConventionTests at NDC 2012. You can find the video of that talk [here](http://vimeo.com/43676874), slides [here](http://kozmic.pl/presentations/) and the introductory blog post [here](http://kozmic.pl/2012/06/14/using-conventiontests/). - -In v2, we have rewritten convention tests from the ground up to make it easier to get started, bundle some default conventions and also decouple it from a specific unit testing framework. - -There is still plenty we can make better, so please raise issues on github with suggestions! - -Docs are available at [TestStack.ConventionTests documentation](http://conventiontests.teststack.net/docs/) diff --git a/Samples/SampleApp.Tests/DomainTests.cs b/Samples/SampleApp.Tests/DomainTests.cs deleted file mode 100644 index 22b61a1..0000000 --- a/Samples/SampleApp.Tests/DomainTests.cs +++ /dev/null @@ -1,32 +0,0 @@ -namespace SampleApp.Tests -{ - using NUnit.Framework; - using SampleApp.Domain; - using TestStack.ConventionTests; - using TestStack.ConventionTests.ConventionData; - using TestStack.ConventionTests.Conventions; - - [TestFixture] - public class DomainTests - { - readonly Types domainEntities; - - public DomainTests() - { - domainEntities = Types.InAssemblyOf("Domain Entities", - type => type.Namespace.StartsWith("SampleApp.Domain")); - } - - [Test] - public void DomainClassesShouldHaveDefaultConstructor() - { - Convention.Is(new AllClassesHaveDefaultConstructor(), domainEntities); - } - - [Test] - public void DomainClassesShouldHaveVirtualProperties() - { - Convention.Is(new AllMethodsAreVirtual(), domainEntities); - } - } -} \ No newline at end of file diff --git a/Samples/SampleApp.Tests/DtoTests.cs b/Samples/SampleApp.Tests/DtoTests.cs deleted file mode 100644 index 58f9d61..0000000 --- a/Samples/SampleApp.Tests/DtoTests.cs +++ /dev/null @@ -1,19 +0,0 @@ -namespace SampleApp.Tests -{ - using NUnit.Framework; - using SampleApp.Dtos; - using TestStack.ConventionTests; - using TestStack.ConventionTests.ConventionData; - using TestStack.ConventionTests.Conventions; - - [TestFixture] - public class DtoTests - { - [Test] - public void DtosMustOnlyExistInDtoNameSpace() - { - Convention.Is(new ClassTypeHasSpecificNamespace(t=>t.Name.EndsWith("Dto"), "SampleApp.Dtos", "Dto"), - Types.InAssemblyOf()); - } - } -} \ No newline at end of file diff --git a/Samples/SampleApp.Tests/MvcTests.cs b/Samples/SampleApp.Tests/MvcTests.cs deleted file mode 100644 index c2093a0..0000000 --- a/Samples/SampleApp.Tests/MvcTests.cs +++ /dev/null @@ -1,18 +0,0 @@ -namespace SampleApp.Tests -{ - using NUnit.Framework; - using SampleApp.Mvc; - using TestStack.ConventionTests; - using TestStack.ConventionTests.ConventionData; - using TestStack.ConventionTests.Conventions; - - [TestFixture] - public class MvcTests - { - [Test] - public void MvcControllerTest() - { - Convention.Is(new MvcControllerNameAndBaseClassConvention(), Types.InAssemblyOf()); - } - } -} \ No newline at end of file diff --git a/Samples/SampleApp.Tests/ProjectConfigurationTests.cs b/Samples/SampleApp.Tests/ProjectConfigurationTests.cs deleted file mode 100644 index 957ca8e..0000000 --- a/Samples/SampleApp.Tests/ProjectConfigurationTests.cs +++ /dev/null @@ -1,57 +0,0 @@ -namespace SampleApp.Tests -{ - using System.IO; - using System.Reflection; - using NUnit.Framework; - using TestStack.ConventionTests; - using TestStack.ConventionTests.ConventionData; - using TestStack.ConventionTests.Conventions; - - [TestFixture] - public class ProjectConfigurationTests - { - readonly string projectLocation; - - public ProjectConfigurationTests() - { - projectLocation = Path.GetFullPath(Path.Combine(Assembly.GetExecutingAssembly().Location, - @"..\..\..\..\SampleApp\SampleApp.csproj")); - } - - [Test] - public void debug_configurations_should_have_debug_type_pdb_only() - { - var configurationHasSpecificValue = - new ConfigurationHasSpecificValue(ConfigurationType.Debug, "DebugType", "full"); - var projectPropertyGroups = new ProjectPropertyGroups(projectLocation); - Convention.Is(configurationHasSpecificValue, projectPropertyGroups); - } - - [Test] - public void debug_configurations_should_have_optimize_false() - { - var configurationHasSpecificValue = - new ConfigurationHasSpecificValue(ConfigurationType.Debug, "Optimize", "false"); - var projectPropertyGroups = new ProjectPropertyGroups(projectLocation); - Convention.Is(configurationHasSpecificValue, projectPropertyGroups); - } - - [Test] - public void release_configurations_should_have_debug_type_pdb_only() - { - var configurationHasSpecificValue = - new ConfigurationHasSpecificValue(ConfigurationType.Release, "DebugType", "pdbonly"); - var projectPropertyGroups = new ProjectPropertyGroups(projectLocation); - Convention.Is(configurationHasSpecificValue, projectPropertyGroups); - } - - [Test] - public void release_configurations_should_have_optimize_true() - { - var configurationHasSpecificValue = - new ConfigurationHasSpecificValue(ConfigurationType.Release, "Optimize", "true"); - var projectPropertyGroups = new ProjectPropertyGroups(projectLocation); - Convention.Is(configurationHasSpecificValue, projectPropertyGroups); - } - } -} \ No newline at end of file diff --git a/Samples/SampleApp.Tests/Properties/AssemblyInfo.cs b/Samples/SampleApp.Tests/Properties/AssemblyInfo.cs deleted file mode 100644 index 8bde641..0000000 --- a/Samples/SampleApp.Tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SampleApp.Tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("SampleApp.Tests")] -[assembly: AssemblyCopyright("Copyright © 2020")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -[assembly: AssemblyVersion("0.0.0.0")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("7b4d34d3-0454-4676-8f40-0ee1c01b984f")] diff --git a/Samples/SampleApp.Tests/SampleApp.Tests.csproj b/Samples/SampleApp.Tests/SampleApp.Tests.csproj deleted file mode 100644 index df347b4..0000000 --- a/Samples/SampleApp.Tests/SampleApp.Tests.csproj +++ /dev/null @@ -1,116 +0,0 @@ - - - - - Debug - AnyCPU - {8FEF48A8-6FF5-4B65-B84A-6690D735C703} - Library - Properties - SampleApp.Tests - SampleApp.Tests - v4.7.2 - win - 512 - - - - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - false - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - false - - - - - - - - - - - - - - - - - - - - - - - - - - {56467A5A-7DD6-45B3-A84C-144A3C5D0C7A} - SampleApp - - - {955B0236-089F-434D-BA02-63A1E24C2B7C} - TestStack.ConventionTests - - - - - - - - - - - 5.2.7 - - - 5.2.7 - - - 1.0.21 - - - 2.2.29 - - - 0.11.2 - - - 12.0.3 - - - 4.2.1 - - - 3.12.0 - - - 4.7.1 - - - 4.5.4 - - - - - \ No newline at end of file diff --git a/Samples/SampleApp.Tests/SampleApp.Tests.ncrunchproject b/Samples/SampleApp.Tests/SampleApp.Tests.ncrunchproject deleted file mode 100644 index 896f219..0000000 --- a/Samples/SampleApp.Tests/SampleApp.Tests.ncrunchproject +++ /dev/null @@ -1,22 +0,0 @@ - - false - false - false - true - false - false - false - false - true - true - false - true - true - 60000 - - - - AutoDetect - STA - x86 - \ No newline at end of file diff --git a/Samples/SampleApp.Tests/SampleApp.Tests.v2.ncrunchproject b/Samples/SampleApp.Tests/SampleApp.Tests.v2.ncrunchproject deleted file mode 100644 index 896f219..0000000 --- a/Samples/SampleApp.Tests/SampleApp.Tests.v2.ncrunchproject +++ /dev/null @@ -1,22 +0,0 @@ - - false - false - false - true - false - false - false - false - true - true - false - true - true - 60000 - - - - AutoDetect - STA - x86 - \ No newline at end of file diff --git a/Samples/SampleApp.Tests/SqlScriptTests.cs b/Samples/SampleApp.Tests/SqlScriptTests.cs deleted file mode 100644 index 49465d7..0000000 --- a/Samples/SampleApp.Tests/SqlScriptTests.cs +++ /dev/null @@ -1,29 +0,0 @@ -namespace SampleApp.Tests -{ - using System; - using System.IO; - using System.Reflection; - using NUnit.Framework; - using TestStack.ConventionTests; - using TestStack.ConventionTests.ConventionData; - using TestStack.ConventionTests.Conventions; - - [TestFixture] - public class SqlScriptTests - { - readonly string projectLocation; - - public SqlScriptTests() - { - projectLocation = - Path.GetFullPath(Path.Combine(Assembly.GetExecutingAssembly().Location, - @"..\..\..\..\SampleApp\SampleApp.csproj")); - } - - [Test] - public void SqlScriptsShouldBeEmbeddedResources() - { - Convention.Is(new FilesAreEmbeddedResources(".sql"), new ProjectFileItems(projectLocation)); - } - } -} \ No newline at end of file diff --git a/Samples/SampleApp.Tests/WebApiTests.cs b/Samples/SampleApp.Tests/WebApiTests.cs deleted file mode 100644 index 7b363aa..0000000 --- a/Samples/SampleApp.Tests/WebApiTests.cs +++ /dev/null @@ -1,18 +0,0 @@ -namespace SampleApp.Tests -{ - using NUnit.Framework; - using SampleApp.WebApi; - using TestStack.ConventionTests; - using TestStack.ConventionTests.ConventionData; - using TestStack.ConventionTests.Conventions; - - [TestFixture] - public class WebApiTests - { - [Test] - public void WebApiConventions() - { - Convention.Is(new ApiControllerNamingAndBaseClassConvention(), Types.InAssemblyOf()); - } - } -} \ No newline at end of file diff --git a/Samples/SampleApp.Tests/WpfTests.cs b/Samples/SampleApp.Tests/WpfTests.cs deleted file mode 100644 index 5359337..0000000 --- a/Samples/SampleApp.Tests/WpfTests.cs +++ /dev/null @@ -1,18 +0,0 @@ -namespace SampleApp.Tests -{ - using NUnit.Framework; - using SampleApp.Wpf; - using TestStack.ConventionTests; - using TestStack.ConventionTests.ConventionData; - using TestStack.ConventionTests.Conventions; - - [TestFixture] - public class WpfTests - { - [Test] - public void ViewModelCOnventions() - { - Convention.Is(new ViewModelShouldInheritFromINotifyPropertyChanged(), Types.InAssemblyOf()); - } - } -} \ No newline at end of file diff --git a/Samples/SampleApp.Tests/__TryItOut__.txt b/Samples/SampleApp.Tests/__TryItOut__.txt deleted file mode 100644 index 9f22a38..0000000 --- a/Samples/SampleApp.Tests/__TryItOut__.txt +++ /dev/null @@ -1,11 +0,0 @@ -There are a number of conventions setup in this project, to try convention tests out, simply violate a convention, then run the tests. - -Some examples: - - - Create a class ending in Dto outside the Dto namespace - - Add a non-virtual method to the domain class - - Make the domain class constructor private - - Change the SqlScripts\Script0001.sql file build action to Content (rather than EmbeddedResource) - - Create an API Controller where you incorrectly spell 'Controller' - -These are some of the examples of conventions which are easily put in place with convention tests! \ No newline at end of file diff --git a/Samples/SampleApp.Tests/app.config b/Samples/SampleApp.Tests/app.config deleted file mode 100644 index cd69969..0000000 --- a/Samples/SampleApp.Tests/app.config +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Samples/SampleApp/Domain/DomainClass.cs b/Samples/SampleApp/Domain/DomainClass.cs deleted file mode 100644 index 72b1044..0000000 --- a/Samples/SampleApp/Domain/DomainClass.cs +++ /dev/null @@ -1,11 +0,0 @@ -namespace SampleApp.Domain -{ - public class DomainClass - { - protected DomainClass() { } - - public virtual string Prop { get; set; } - - public virtual void SomeAction() { } - } -} \ No newline at end of file diff --git a/Samples/SampleApp/Dtos/SomeDto.cs b/Samples/SampleApp/Dtos/SomeDto.cs deleted file mode 100644 index f8291ac..0000000 --- a/Samples/SampleApp/Dtos/SomeDto.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace SampleApp.Dtos -{ - public class SomeDto - { - public string Prop { get; set; } - } -} \ No newline at end of file diff --git a/Samples/SampleApp/Mvc/TestController.cs b/Samples/SampleApp/Mvc/TestController.cs deleted file mode 100644 index a9f7b84..0000000 --- a/Samples/SampleApp/Mvc/TestController.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace SampleApp.Mvc -{ - using System.Web.Mvc; - - public class TestController : Controller - { - - } -} \ No newline at end of file diff --git a/Samples/SampleApp/Properties/Annotations.cs b/Samples/SampleApp/Properties/Annotations.cs deleted file mode 100644 index dda4f09..0000000 --- a/Samples/SampleApp/Properties/Annotations.cs +++ /dev/null @@ -1,577 +0,0 @@ -using System; - -#pragma warning disable 1591 -// ReSharper disable UnusedMember.Global -// ReSharper disable MemberCanBePrivate.Global -// ReSharper disable UnusedAutoPropertyAccessor.Global -// ReSharper disable IntroduceOptionalParameters.Global -// ReSharper disable MemberCanBeProtected.Global -// ReSharper disable InconsistentNaming - -namespace SampleApp.Annotations -{ - /// - /// Indicates that the value of the marked element could be null sometimes, - /// so the check for null is necessary before its usage - /// - /// - /// [CanBeNull] public object Test() { return null; } - /// public void UseTest() { - /// var p = Test(); - /// var s = p.ToString(); // Warning: Possible 'System.NullReferenceException' - /// } - /// - [AttributeUsage( - AttributeTargets.Method | AttributeTargets.Parameter | - AttributeTargets.Property | AttributeTargets.Delegate | - AttributeTargets.Field, AllowMultiple = false, Inherited = true)] - public sealed class CanBeNullAttribute : Attribute { } - - /// - /// Indicates that the value of the marked element could never be null - /// - /// - /// [NotNull] public object Foo() { - /// return null; // Warning: Possible 'null' assignment - /// } - /// - [AttributeUsage( - AttributeTargets.Method | AttributeTargets.Parameter | - AttributeTargets.Property | AttributeTargets.Delegate | - AttributeTargets.Field, AllowMultiple = false, Inherited = true)] - public sealed class NotNullAttribute : Attribute { } - - /// - /// Indicates that the marked method builds string by format pattern and (optional) arguments. - /// Parameter, which contains format string, should be given in constructor. The format string - /// should be in -like form - /// - /// - /// [StringFormatMethod("message")] - /// public void ShowError(string message, params object[] args) { /* do something */ } - /// public void Foo() { - /// ShowError("Failed: {0}"); // Warning: Non-existing argument in format string - /// } - /// - [AttributeUsage( - AttributeTargets.Constructor | AttributeTargets.Method, - AllowMultiple = false, Inherited = true)] - public sealed class StringFormatMethodAttribute : Attribute - { - /// - /// Specifies which parameter of an annotated method should be treated as format-string - /// - public StringFormatMethodAttribute(string formatParameterName) - { - FormatParameterName = formatParameterName; - } - - public string FormatParameterName { get; private set; } - } - - /// - /// Indicates that the function argument should be string literal and match one - /// of the parameters of the caller function. For example, ReSharper annotates - /// the parameter of - /// - /// - /// public void Foo(string param) { - /// if (param == null) - /// throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol - /// } - /// - [AttributeUsage(AttributeTargets.Parameter, AllowMultiple = false, Inherited = true)] - public sealed class InvokerParameterNameAttribute : Attribute { } - - /// - /// Indicates that the method is contained in a type that implements - /// interface - /// and this method is used to notify that some property value changed - /// - /// - /// The method should be non-static and conform to one of the supported signatures: - /// - /// NotifyChanged(string) - /// NotifyChanged(params string[]) - /// NotifyChanged{T}(Expression{Func{T}}) - /// NotifyChanged{T,U}(Expression{Func{T,U}}) - /// SetProperty{T}(ref T, T, string) - /// - /// - /// - /// public class Foo : INotifyPropertyChanged { - /// public event PropertyChangedEventHandler PropertyChanged; - /// [NotifyPropertyChangedInvocator] - /// protected virtual void NotifyChanged(string propertyName) { ... } - /// - /// private string _name; - /// public string Name { - /// get { return _name; } - /// set { _name = value; NotifyChanged("LastName"); /* Warning */ } - /// } - /// } - /// - /// Examples of generated notifications: - /// - /// NotifyChanged("Property") - /// NotifyChanged(() => Property) - /// NotifyChanged((VM x) => x.Property) - /// SetProperty(ref myField, value, "Property") - /// - /// - [AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = true)] - public sealed class NotifyPropertyChangedInvocatorAttribute : Attribute - { - public NotifyPropertyChangedInvocatorAttribute() { } - public NotifyPropertyChangedInvocatorAttribute(string parameterName) - { - ParameterName = parameterName; - } - - public string ParameterName { get; private set; } - } - - /// - /// Describes dependency between method input and output - /// - /// - ///

Function Definition Table syntax:

- /// - /// FDT ::= FDTRow [;FDTRow]* - /// FDTRow ::= Input => Output | Output <= Input - /// Input ::= ParameterName: Value [, Input]* - /// Output ::= [ParameterName: Value]* {halt|stop|void|nothing|Value} - /// Value ::= true | false | null | notnull | canbenull - /// - /// If method has single input parameter, it's name could be omitted.
- /// Using halt (or void/nothing, which is the same) - /// for method output means that the methos doesn't return normally.
- /// canbenull annotation is only applicable for output parameters.
- /// You can use multiple [ContractAnnotation] for each FDT row, - /// or use single attribute with rows separated by semicolon.
- ///
- /// - /// - /// [ContractAnnotation("=> halt")] - /// public void TerminationMethod() - /// - /// - /// [ContractAnnotation("halt <= condition: false")] - /// public void Assert(bool condition, string text) // regular assertion method - /// - /// - /// [ContractAnnotation("s:null => true")] - /// public bool IsNullOrEmpty(string s) // string.IsNullOrEmpty() - /// - /// - /// // A method that returns null if the parameter is null, and not null if the parameter is not null - /// [ContractAnnotation("null => null; notnull => notnull")] - /// public object Transform(object data) - /// - /// - /// [ContractAnnotation("s:null=>false; =>true,result:notnull; =>false, result:null")] - /// public bool TryParse(string s, out Person result) - /// - /// - [AttributeUsage(AttributeTargets.Method, AllowMultiple = true, Inherited = true)] - public sealed class ContractAnnotationAttribute : Attribute - { - public ContractAnnotationAttribute([NotNull] string contract) - : this(contract, false) { } - - public ContractAnnotationAttribute([NotNull] string contract, bool forceFullStates) - { - Contract = contract; - ForceFullStates = forceFullStates; - } - - public string Contract { get; private set; } - public bool ForceFullStates { get; private set; } - } - - /// - /// Indicates that marked element should be localized or not - /// - /// - /// [LocalizationRequiredAttribute(true)] - /// public class Foo { - /// private string str = "my string"; // Warning: Localizable string - /// } - /// - [AttributeUsage(AttributeTargets.All, AllowMultiple = false, Inherited = true)] - public sealed class LocalizationRequiredAttribute : Attribute - { - public LocalizationRequiredAttribute() : this(true) { } - public LocalizationRequiredAttribute(bool required) - { - Required = required; - } - - public bool Required { get; private set; } - } - - /// - /// Indicates that the value of the marked type (or its derivatives) - /// cannot be compared using '==' or '!=' operators and Equals() - /// should be used instead. However, using '==' or '!=' for comparison - /// with null is always permitted. - /// - /// - /// [CannotApplyEqualityOperator] - /// class NoEquality { } - /// class UsesNoEquality { - /// public void Test() { - /// var ca1 = new NoEquality(); - /// var ca2 = new NoEquality(); - /// if (ca1 != null) { // OK - /// bool condition = ca1 == ca2; // Warning - /// } - /// } - /// } - /// - [AttributeUsage( - AttributeTargets.Interface | AttributeTargets.Class | - AttributeTargets.Struct, AllowMultiple = false, Inherited = true)] - public sealed class CannotApplyEqualityOperatorAttribute : Attribute { } - - /// - /// When applied to a target attribute, specifies a requirement for any type marked - /// with the target attribute to implement or inherit specific type or types. - /// - /// - /// [BaseTypeRequired(typeof(IComponent)] // Specify requirement - /// public class ComponentAttribute : Attribute { } - /// [Component] // ComponentAttribute requires implementing IComponent interface - /// public class MyComponent : IComponent { } - /// - [AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = true)] - [BaseTypeRequired(typeof(Attribute))] - public sealed class BaseTypeRequiredAttribute : Attribute - { - public BaseTypeRequiredAttribute([NotNull] Type baseType) - { - BaseType = baseType; - } - - [NotNull] public Type BaseType { get; private set; } - } - - /// - /// Indicates that the marked symbol is used implicitly - /// (e.g. via reflection, in external library), so this symbol - /// will not be marked as unused (as well as by other usage inspections) - /// - [AttributeUsage(AttributeTargets.All, AllowMultiple = false, Inherited = true)] - public sealed class UsedImplicitlyAttribute : Attribute - { - public UsedImplicitlyAttribute() - : this(ImplicitUseKindFlags.Default, ImplicitUseTargetFlags.Default) { } - - public UsedImplicitlyAttribute(ImplicitUseKindFlags useKindFlags) - : this(useKindFlags, ImplicitUseTargetFlags.Default) { } - - public UsedImplicitlyAttribute(ImplicitUseTargetFlags targetFlags) - : this(ImplicitUseKindFlags.Default, targetFlags) { } - - public UsedImplicitlyAttribute( - ImplicitUseKindFlags useKindFlags, ImplicitUseTargetFlags targetFlags) - { - UseKindFlags = useKindFlags; - TargetFlags = targetFlags; - } - - public ImplicitUseKindFlags UseKindFlags { get; private set; } - public ImplicitUseTargetFlags TargetFlags { get; private set; } - } - - /// - /// Should be used on attributes and causes ReSharper - /// to not mark symbols marked with such attributes as unused - /// (as well as by other usage inspections) - /// - [AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = true)] - public sealed class MeansImplicitUseAttribute : Attribute - { - public MeansImplicitUseAttribute() - : this(ImplicitUseKindFlags.Default, ImplicitUseTargetFlags.Default) { } - - public MeansImplicitUseAttribute(ImplicitUseKindFlags useKindFlags) - : this(useKindFlags, ImplicitUseTargetFlags.Default) { } - - public MeansImplicitUseAttribute(ImplicitUseTargetFlags targetFlags) - : this(ImplicitUseKindFlags.Default, targetFlags) { } - - public MeansImplicitUseAttribute( - ImplicitUseKindFlags useKindFlags, ImplicitUseTargetFlags targetFlags) - { - UseKindFlags = useKindFlags; - TargetFlags = targetFlags; - } - - [UsedImplicitly] public ImplicitUseKindFlags UseKindFlags { get; private set; } - [UsedImplicitly] public ImplicitUseTargetFlags TargetFlags { get; private set; } - } - - [Flags] - public enum ImplicitUseKindFlags - { - Default = Access | Assign | InstantiatedWithFixedConstructorSignature, - /// Only entity marked with attribute considered used - Access = 1, - /// Indicates implicit assignment to a member - Assign = 2, - /// - /// Indicates implicit instantiation of a type with fixed constructor signature. - /// That means any unused constructor parameters won't be reported as such. - /// - InstantiatedWithFixedConstructorSignature = 4, - /// Indicates implicit instantiation of a type - InstantiatedNoFixedConstructorSignature = 8, - } - - /// - /// Specify what is considered used implicitly - /// when marked with - /// or - /// - [Flags] - public enum ImplicitUseTargetFlags - { - Default = Itself, - Itself = 1, - /// Members of entity marked with attribute are considered used - Members = 2, - /// Entity marked with attribute and all its members considered used - WithMembers = Itself | Members - } - - /// - /// This attribute is intended to mark publicly available API - /// which should not be removed and so is treated as used - /// - [MeansImplicitUse] - public sealed class PublicAPIAttribute : Attribute - { - public PublicAPIAttribute() { } - public PublicAPIAttribute([NotNull] string comment) - { - Comment = comment; - } - - [NotNull] public string Comment { get; private set; } - } - - /// - /// Tells code analysis engine if the parameter is completely handled - /// when the invoked method is on stack. If the parameter is a delegate, - /// indicates that delegate is executed while the method is executed. - /// If the parameter is an enumerable, indicates that it is enumerated - /// while the method is executed - /// - [AttributeUsage(AttributeTargets.Parameter, Inherited = true)] - public sealed class InstantHandleAttribute : Attribute { } - - /// - /// Indicates that a method does not make any observable state changes. - /// The same as System.Diagnostics.Contracts.PureAttribute - /// - /// - /// [Pure] private int Multiply(int x, int y) { return x * y; } - /// public void Foo() { - /// const int a = 2, b = 2; - /// Multiply(a, b); // Waring: Return value of pure method is not used - /// } - /// - [AttributeUsage(AttributeTargets.Method, Inherited = true)] - public sealed class PureAttribute : Attribute { } - - /// - /// Indicates that a parameter is a path to a file or a folder - /// within a web project. Path can be relative or absolute, - /// starting from web root (~) - /// - [AttributeUsage(AttributeTargets.Parameter)] - public class PathReferenceAttribute : Attribute - { - public PathReferenceAttribute() { } - public PathReferenceAttribute([PathReference] string basePath) - { - BasePath = basePath; - } - - [NotNull] public string BasePath { get; private set; } - } - - // ASP.NET MVC attributes - - /// - /// ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter - /// is an MVC action. If applied to a method, the MVC action name is calculated - /// implicitly from the context. Use this attribute for custom wrappers similar to - /// System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String) - /// - [AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Method)] - public sealed class AspMvcActionAttribute : Attribute - { - public AspMvcActionAttribute() { } - public AspMvcActionAttribute([NotNull] string anonymousProperty) - { - AnonymousProperty = anonymousProperty; - } - - [NotNull] public string AnonymousProperty { get; private set; } - } - - /// - /// ASP.NET MVC attribute. Indicates that a parameter is an MVC area. - /// Use this attribute for custom wrappers similar to - /// System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String) - /// - [AttributeUsage(AttributeTargets.Parameter)] - public sealed class AspMvcAreaAttribute : PathReferenceAttribute - { - public AspMvcAreaAttribute() { } - public AspMvcAreaAttribute([NotNull] string anonymousProperty) - { - AnonymousProperty = anonymousProperty; - } - - [NotNull] public string AnonymousProperty { get; private set; } - } - - /// - /// ASP.NET MVC attribute. If applied to a parameter, indicates that - /// the parameter is an MVC controller. If applied to a method, - /// the MVC controller name is calculated implicitly from the context. - /// Use this attribute for custom wrappers similar to - /// System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String, String) - /// - [AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Method)] - public sealed class AspMvcControllerAttribute : Attribute - { - public AspMvcControllerAttribute() { } - public AspMvcControllerAttribute([NotNull] string anonymousProperty) - { - AnonymousProperty = anonymousProperty; - } - - [NotNull] public string AnonymousProperty { get; private set; } - } - - /// - /// ASP.NET MVC attribute. Indicates that a parameter is an MVC Master. - /// Use this attribute for custom wrappers similar to - /// System.Web.Mvc.Controller.View(String, String) - /// - [AttributeUsage(AttributeTargets.Parameter)] - public sealed class AspMvcMasterAttribute : Attribute { } - - /// - /// ASP.NET MVC attribute. Indicates that a parameter is an MVC model type. - /// Use this attribute for custom wrappers similar to - /// System.Web.Mvc.Controller.View(String, Object) - /// - [AttributeUsage(AttributeTargets.Parameter)] - public sealed class AspMvcModelTypeAttribute : Attribute { } - - /// - /// ASP.NET MVC attribute. If applied to a parameter, indicates that - /// the parameter is an MVC partial view. If applied to a method, - /// the MVC partial view name is calculated implicitly from the context. - /// Use this attribute for custom wrappers similar to - /// System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial(HtmlHelper, String) - /// - [AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Method)] - public sealed class AspMvcPartialViewAttribute : PathReferenceAttribute { } - - /// - /// ASP.NET MVC attribute. Allows disabling all inspections - /// for MVC views within a class or a method. - /// - [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)] - public sealed class AspMvcSupressViewErrorAttribute : Attribute { } - - /// - /// ASP.NET MVC attribute. Indicates that a parameter is an MVC display template. - /// Use this attribute for custom wrappers similar to - /// System.Web.Mvc.Html.DisplayExtensions.DisplayForModel(HtmlHelper, String) - /// - [AttributeUsage(AttributeTargets.Parameter)] - public sealed class AspMvcDisplayTemplateAttribute : Attribute { } - - /// - /// ASP.NET MVC attribute. Indicates that a parameter is an MVC editor template. - /// Use this attribute for custom wrappers similar to - /// System.Web.Mvc.Html.EditorExtensions.EditorForModel(HtmlHelper, String) - /// - [AttributeUsage(AttributeTargets.Parameter)] - public sealed class AspMvcEditorTemplateAttribute : Attribute { } - - /// - /// ASP.NET MVC attribute. Indicates that a parameter is an MVC template. - /// Use this attribute for custom wrappers similar to - /// System.ComponentModel.DataAnnotations.UIHintAttribute(System.String) - /// - [AttributeUsage(AttributeTargets.Parameter)] - public sealed class AspMvcTemplateAttribute : Attribute { } - - /// - /// ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter - /// is an MVC view. If applied to a method, the MVC view name is calculated implicitly - /// from the context. Use this attribute for custom wrappers similar to - /// System.Web.Mvc.Controller.View(Object) - /// - [AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Method)] - public sealed class AspMvcViewAttribute : PathReferenceAttribute { } - - /// - /// ASP.NET MVC attribute. When applied to a parameter of an attribute, - /// indicates that this parameter is an MVC action name - /// - /// - /// [ActionName("Foo")] - /// public ActionResult Login(string returnUrl) { - /// ViewBag.ReturnUrl = Url.Action("Foo"); // OK - /// return RedirectToAction("Bar"); // Error: Cannot resolve action - /// } - /// - [AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Property)] - public sealed class AspMvcActionSelectorAttribute : Attribute { } - - [AttributeUsage( - AttributeTargets.Parameter | AttributeTargets.Property | - AttributeTargets.Field, Inherited = true)] - public sealed class HtmlElementAttributesAttribute : Attribute - { - public HtmlElementAttributesAttribute() { } - public HtmlElementAttributesAttribute([NotNull] string name) - { - Name = name; - } - - [NotNull] public string Name { get; private set; } - } - - [AttributeUsage( - AttributeTargets.Parameter | AttributeTargets.Field | - AttributeTargets.Property, Inherited = true)] - public sealed class HtmlAttributeValueAttribute : Attribute - { - public HtmlAttributeValueAttribute([NotNull] string name) - { - Name = name; - } - - [NotNull] public string Name { get; private set; } - } - - // Razor attributes - - /// - /// Razor attribute. Indicates that a parameter or a method is a Razor section. - /// Use this attribute for custom wrappers similar to - /// System.Web.WebPages.WebPageBase.RenderSection(String) - /// - [AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Method, Inherited = true)] - public sealed class RazorSectionAttribute : Attribute { } -} \ No newline at end of file diff --git a/Samples/SampleApp/Properties/AssemblyInfo.cs b/Samples/SampleApp/Properties/AssemblyInfo.cs deleted file mode 100644 index 2504831..0000000 --- a/Samples/SampleApp/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SampleApp")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("SampleApp")] -[assembly: AssemblyCopyright("Copyright © 2020")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -[assembly: AssemblyVersion("0.0.0.0")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("31ee7421-19f6-40b4-9435-d6413bb9319f")] - diff --git a/Samples/SampleApp/SampleApp.csproj b/Samples/SampleApp/SampleApp.csproj deleted file mode 100644 index 56139ab..0000000 --- a/Samples/SampleApp/SampleApp.csproj +++ /dev/null @@ -1,100 +0,0 @@ - - - - - Debug - AnyCPU - {56467A5A-7DD6-45B3-A84C-144A3C5D0C7A} - Library - Properties - SampleApp - SampleApp - v4.7.2 - win - 512 - - - - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - false - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - false - - - - - - - - - - - - - - - - - - - - - - - - - SomeView.xaml - - - - - - - - - - - - - Designer - MSBuild:Compile - - - - - 5.2.7 - - - 5.2.7 - - - 2.2.29 - - - 12.0.3 - - - - - \ No newline at end of file diff --git a/Samples/SampleApp/SampleApp.ncrunchproject b/Samples/SampleApp/SampleApp.ncrunchproject deleted file mode 100644 index 896f219..0000000 --- a/Samples/SampleApp/SampleApp.ncrunchproject +++ /dev/null @@ -1,22 +0,0 @@ - - false - false - false - true - false - false - false - false - true - true - false - true - true - 60000 - - - - AutoDetect - STA - x86 - \ No newline at end of file diff --git a/Samples/SampleApp/SampleApp.v2.ncrunchproject b/Samples/SampleApp/SampleApp.v2.ncrunchproject deleted file mode 100644 index 896f219..0000000 --- a/Samples/SampleApp/SampleApp.v2.ncrunchproject +++ /dev/null @@ -1,22 +0,0 @@ - - false - false - false - true - false - false - false - false - true - true - false - true - true - 60000 - - - - AutoDetect - STA - x86 - \ No newline at end of file diff --git a/Samples/SampleApp/SqlScripts/Script0001.sql b/Samples/SampleApp/SqlScripts/Script0001.sql deleted file mode 100644 index 5f28270..0000000 --- a/Samples/SampleApp/SqlScripts/Script0001.sql +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/Samples/SampleApp/WebApi/TestApiController.cs b/Samples/SampleApp/WebApi/TestApiController.cs deleted file mode 100644 index 9d6aa83..0000000 --- a/Samples/SampleApp/WebApi/TestApiController.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace SampleApp.WebApi -{ - using System.Web.Http; - - public class TestApiController : ApiController - { - - } -} \ No newline at end of file diff --git a/Samples/SampleApp/Wpf/SomeView.xaml b/Samples/SampleApp/Wpf/SomeView.xaml deleted file mode 100644 index f8b982a..0000000 --- a/Samples/SampleApp/Wpf/SomeView.xaml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/Samples/SampleApp/Wpf/SomeView.xaml.cs b/Samples/SampleApp/Wpf/SomeView.xaml.cs deleted file mode 100644 index ac2c525..0000000 --- a/Samples/SampleApp/Wpf/SomeView.xaml.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace SampleApp.Wpf -{ - public partial class SomeView - { - public SomeView() - { - InitializeComponent(); - } - } -} diff --git a/Samples/SampleApp/Wpf/SomeViewModel.cs b/Samples/SampleApp/Wpf/SomeViewModel.cs deleted file mode 100644 index 5e28cfd..0000000 --- a/Samples/SampleApp/Wpf/SomeViewModel.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace SampleApp.Wpf -{ - public class SomeViewModel : ViewModelBase - { - } -} diff --git a/Samples/SampleApp/Wpf/ViewModelBase.cs b/Samples/SampleApp/Wpf/ViewModelBase.cs deleted file mode 100644 index e1024ab..0000000 --- a/Samples/SampleApp/Wpf/ViewModelBase.cs +++ /dev/null @@ -1,17 +0,0 @@ -namespace SampleApp.Wpf -{ - using System.ComponentModel; - using SampleApp.Annotations; - - public class ViewModelBase : INotifyPropertyChanged - { - public event PropertyChangedEventHandler PropertyChanged; - - [NotifyPropertyChangedInvocator] - protected virtual void OnPropertyChanged(string propertyName) - { - var handler = PropertyChanged; - if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName)); - } - } -} \ No newline at end of file diff --git a/Samples/SampleApp/app.config b/Samples/SampleApp/app.config deleted file mode 100644 index e936cc1..0000000 --- a/Samples/SampleApp/app.config +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/TestAssembly/ClassWithNoDefaultCtor.cs b/TestAssembly/ClassWithNoDefaultCtor.cs deleted file mode 100644 index 3cee118..0000000 --- a/TestAssembly/ClassWithNoDefaultCtor.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace TestAssembly -{ - public class ClassWithNoDefaultCtor - { - // ReSharper disable once UnusedParameter.Local - public ClassWithNoDefaultCtor(string foo) { } - } -} \ No newline at end of file diff --git a/TestAssembly/ClassWithNonVirtualMethod.cs b/TestAssembly/ClassWithNonVirtualMethod.cs deleted file mode 100644 index 845e3be..0000000 --- a/TestAssembly/ClassWithNonVirtualMethod.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace TestAssembly -{ - public class SampleDomainClass - { - public void TestNonVirtual() { } - public virtual void Virtual() { } - } -} diff --git a/TestAssembly/ClassWithPrivateDefaultCtor.cs b/TestAssembly/ClassWithPrivateDefaultCtor.cs deleted file mode 100644 index e0b16f8..0000000 --- a/TestAssembly/ClassWithPrivateDefaultCtor.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace TestAssembly -{ - public class ClassWithPrivateDefaultCtor - { - private ClassWithPrivateDefaultCtor() { } - } -} \ No newline at end of file diff --git a/TestAssembly/ClassWithProtectedDefaultCtor.cs b/TestAssembly/ClassWithProtectedDefaultCtor.cs deleted file mode 100644 index 848f09c..0000000 --- a/TestAssembly/ClassWithProtectedDefaultCtor.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace TestAssembly -{ - public class ClassWithProtectedDefaultCtor - { - protected ClassWithProtectedDefaultCtor(){} - } -} \ No newline at end of file diff --git a/TestAssembly/ClassWithPublicDefaultCtor.cs b/TestAssembly/ClassWithPublicDefaultCtor.cs deleted file mode 100644 index b05f4ef..0000000 --- a/TestAssembly/ClassWithPublicDefaultCtor.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace TestAssembly -{ - public class ClassWithPublicDefaultCtor - { - } -} \ No newline at end of file diff --git a/TestAssembly/Collections/Branch.cs b/TestAssembly/Collections/Branch.cs deleted file mode 100644 index 0530072..0000000 --- a/TestAssembly/Collections/Branch.cs +++ /dev/null @@ -1,20 +0,0 @@ -namespace TestAssembly.Collections -{ - using System.Collections; - using System.Collections.Generic; - - public class Branch : IEnumerable - { - readonly List items = new List(); - - public IEnumerator GetEnumerator() - { - return items.GetEnumerator(); - } - - IEnumerator IEnumerable.GetEnumerator() - { - return GetEnumerator(); - } - } -} \ No newline at end of file diff --git a/TestAssembly/Collections/Forest.cs b/TestAssembly/Collections/Forest.cs deleted file mode 100644 index ca705fa..0000000 --- a/TestAssembly/Collections/Forest.cs +++ /dev/null @@ -1,30 +0,0 @@ -namespace TestAssembly.Collections -{ - using System.Collections; - using System.Collections.Generic; - - public class Forest : ICanAdd, ICanRemove - { - readonly List items = new List(); - - public void Add(Tree item) - { - items.Add(item); - } - - IEnumerator IEnumerable.GetEnumerator() - { - return ((IEnumerable) items).GetEnumerator(); - } - - public IEnumerator GetEnumerator() - { - return items.GetEnumerator(); - } - - public bool Remove(Tree item) - { - return items.Remove(item); - } - } -} \ No newline at end of file diff --git a/TestAssembly/Collections/ICanAdd.cs b/TestAssembly/Collections/ICanAdd.cs deleted file mode 100644 index 0dd2960..0000000 --- a/TestAssembly/Collections/ICanAdd.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace TestAssembly.Collections -{ - using System.Collections.Generic; - - public interface ICanAdd : IEnumerable - { - void Add(T item); - } -} \ No newline at end of file diff --git a/TestAssembly/Collections/ICanRemove.cs b/TestAssembly/Collections/ICanRemove.cs deleted file mode 100644 index 1082ee9..0000000 --- a/TestAssembly/Collections/ICanRemove.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace TestAssembly.Collections -{ - using System.Collections.Generic; - - public interface ICanRemove : IEnumerable - { - bool Remove(T item); - } -} \ No newline at end of file diff --git a/TestAssembly/Collections/Leaf.cs b/TestAssembly/Collections/Leaf.cs deleted file mode 100644 index 42dfd08..0000000 --- a/TestAssembly/Collections/Leaf.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace TestAssembly.Collections -{ - public class Leaf - { - } -} \ No newline at end of file diff --git a/TestAssembly/Collections/Tree.cs b/TestAssembly/Collections/Tree.cs deleted file mode 100644 index 762b4b3..0000000 --- a/TestAssembly/Collections/Tree.cs +++ /dev/null @@ -1,31 +0,0 @@ -namespace TestAssembly.Collections -{ - using System.Collections; - using System.Collections.Generic; - using System.Linq; - - public class Tree : ICanAdd, IEnumerable - { - readonly List items = new List(); - - public void Add(Branch item) - { - items.Add(item); - } - - public IEnumerator GetEnumerator() - { - return items.GetEnumerator(); - } - - IEnumerator IEnumerable.GetEnumerator() - { - return GetEnumerator(); - } - - IEnumerator IEnumerable.GetEnumerator() - { - return items.SelectMany(i => i).GetEnumerator(); - } - } -} \ No newline at end of file diff --git a/TestAssembly/Controllers/BarApiControler.cs b/TestAssembly/Controllers/BarApiControler.cs deleted file mode 100644 index a21b657..0000000 --- a/TestAssembly/Controllers/BarApiControler.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace TestAssembly.Controllers -{ - using System.Web.Http; - - public class BarApiControler : ApiController - { - } -} \ No newline at end of file diff --git a/TestAssembly/Controllers/FooControler.cs b/TestAssembly/Controllers/FooControler.cs deleted file mode 100644 index 0331552..0000000 --- a/TestAssembly/Controllers/FooControler.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace TestAssembly.Controllers -{ - using System.Web.Mvc; - - public class FooControler : Controller - { - } -} \ No newline at end of file diff --git a/TestAssembly/Controllers/MyApiController.cs b/TestAssembly/Controllers/MyApiController.cs deleted file mode 100644 index ceeb6ba..0000000 --- a/TestAssembly/Controllers/MyApiController.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace TestAssembly.Controllers -{ - using System.Web.Http; - - public class MyApiController : ApiController - { - } -} \ No newline at end of file diff --git a/TestAssembly/Controllers/TestApiController.cs b/TestAssembly/Controllers/TestApiController.cs deleted file mode 100644 index ae221b4..0000000 --- a/TestAssembly/Controllers/TestApiController.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace TestAssembly.Controllers -{ - public class TestApiController - { - } -} \ No newline at end of file diff --git a/TestAssembly/Controllers/TestController.cs b/TestAssembly/Controllers/TestController.cs deleted file mode 100644 index 4f67b8c..0000000 --- a/TestAssembly/Controllers/TestController.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace TestAssembly.Controllers -{ - public class TestController - { - } -} \ No newline at end of file diff --git a/TestAssembly/Dtos/AnotherClass.cs b/TestAssembly/Dtos/AnotherClass.cs deleted file mode 100644 index 40d1703..0000000 --- a/TestAssembly/Dtos/AnotherClass.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace TestAssembly.Dtos -{ - public class AnotherClass - { - - } -} \ No newline at end of file diff --git a/TestAssembly/Dtos/BlahDto.cs b/TestAssembly/Dtos/BlahDto.cs deleted file mode 100644 index 809cabd..0000000 --- a/TestAssembly/Dtos/BlahDto.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace TestAssembly.Dtos -{ - public class BlahDto - { - - } -} \ No newline at end of file diff --git a/TestAssembly/Properties/AssemblyInfo.cs b/TestAssembly/Properties/AssemblyInfo.cs deleted file mode 100644 index 18519fe..0000000 --- a/TestAssembly/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("TestAssembly")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("TestAssembly")] -[assembly: AssemblyCopyright("Copyright © 2020")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("26ee0880-163f-496b-9e49-a18e8deda689")] - diff --git a/TestAssembly/SomeDto.cs b/TestAssembly/SomeDto.cs deleted file mode 100644 index e9577f0..0000000 --- a/TestAssembly/SomeDto.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace TestAssembly -{ - public class SomeDto - { - - } -} \ No newline at end of file diff --git a/TestAssembly/TestAssembly.csproj b/TestAssembly/TestAssembly.csproj deleted file mode 100755 index f7e5c96..0000000 --- a/TestAssembly/TestAssembly.csproj +++ /dev/null @@ -1,20 +0,0 @@ - - - net472 - TestAssembly - TestAssembly - false - false - false - false - false - false - false - false - - - - - - - \ No newline at end of file diff --git a/TestAssembly/TestAssembly.ncrunchproject b/TestAssembly/TestAssembly.ncrunchproject deleted file mode 100644 index 896f219..0000000 --- a/TestAssembly/TestAssembly.ncrunchproject +++ /dev/null @@ -1,22 +0,0 @@ - - false - false - false - true - false - false - false - false - true - true - false - true - true - 60000 - - - - AutoDetect - STA - x86 - \ No newline at end of file diff --git a/TestStack.ConventionTests.Autofac/AutofacRegistrations.cs b/TestStack.ConventionTests.Autofac/AutofacRegistrations.cs deleted file mode 100644 index 4fa1072..0000000 --- a/TestStack.ConventionTests.Autofac/AutofacRegistrations.cs +++ /dev/null @@ -1,74 +0,0 @@ -namespace TestStack.ConventionTests.Autofac -{ - using System; - using System.Collections.Generic; - using System.Linq; - using System.Reflection; - using global::Autofac.Core; - using global::Autofac.Core.Activators.Delegate; - using global::Autofac.Core.Activators.ProvidedInstance; - using global::Autofac.Core.Activators.Reflection; - using global::Autofac.Core.Lifetime; - - public class AutofacRegistrations : IConventionData - { - private readonly IComponentRegistry componentRegistry; - - public AutofacRegistrations(IComponentRegistry componentRegistry) - { - this.componentRegistry = componentRegistry; - } - - public string Description => "All AutofacContainer Registrations"; - - public bool HasData => true; - - public IComponentRegistry ComponentRegistry => componentRegistry; - - public Type GetConcreteType(IComponentRegistration r) - { - var reflectionActivator = r.Activator as ReflectionActivator; - if (reflectionActivator != null) return reflectionActivator.LimitType; - - var delegateActivator = r.Activator as DelegateActivator; - if (delegateActivator != null) return delegateActivator.LimitType; - - var providedInstanceActivator = r.Activator as ProvidedInstanceActivator; - if (providedInstanceActivator != null) return providedInstanceActivator.LimitType; - - throw new InvalidOperationException(r.Activator.GetType() + " is not a known component registration type"); - } - - public Lifetime GetLifetime(IComponentRegistration componentRegistration) - { - if (componentRegistration.Ownership == InstanceOwnership.OwnedByLifetimeScope && componentRegistration.Sharing == InstanceSharing.Shared && - componentRegistration.Lifetime is RootScopeLifetime) - return Lifetime.SingleInstance; - if (componentRegistration.Ownership == InstanceOwnership.OwnedByLifetimeScope && componentRegistration.Sharing == InstanceSharing.Shared && - componentRegistration.Lifetime is CurrentScopeLifetime) - return Lifetime.InstancePerLifetimeScope; - if (componentRegistration.Ownership == InstanceOwnership.OwnedByLifetimeScope && componentRegistration.Sharing == InstanceSharing.None && - componentRegistration.Lifetime is CurrentScopeLifetime) - return Lifetime.Transient; - if (componentRegistration.Ownership == InstanceOwnership.ExternallyOwned && componentRegistration.Sharing == InstanceSharing.None && - componentRegistration.Lifetime is CurrentScopeLifetime) - return Lifetime.ExternallyOwned; - if (componentRegistration.Ownership == InstanceOwnership.ExternallyOwned && componentRegistration.Sharing == InstanceSharing.Shared && - componentRegistration.Lifetime is CurrentScopeLifetime) - return Lifetime.SingleInstanceExternallyOwned; - - throw new InvalidOperationException(string.Format("Unknown registration type for {3} Ownership: {0}, Sharing: {1}, Lifetime type: {2}", componentRegistration.Ownership, componentRegistration.Sharing, - componentRegistration.Lifetime.GetType().Name, GetConcreteType(componentRegistration))); - } - - public IEnumerable GetRegistrationCtorParameters(IComponentRegistration componentRegistration) - { - var activator = componentRegistration.Activator as ReflectionActivator; - if (activator == null) - return Enumerable.Empty(); - - var limitType = activator.LimitType; - return activator.ConstructorFinder.FindConstructors(limitType).SelectMany(ctor => ctor.GetParameters()); - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests.Autofac/CanResolveAllRegisteredServices.cs b/TestStack.ConventionTests.Autofac/CanResolveAllRegisteredServices.cs deleted file mode 100644 index b4589ab..0000000 --- a/TestStack.ConventionTests.Autofac/CanResolveAllRegisteredServices.cs +++ /dev/null @@ -1,53 +0,0 @@ -namespace TestStack.ConventionTests.Autofac -{ - using global::Autofac; - using global::Autofac.Core; - using System; - using System.Collections.Generic; - using System.Linq; - #if NewReflection - using System.Reflection; - #endif - - public class CanResolveAllRegisteredServices : IConvention - { - private readonly IContainer container; - - public CanResolveAllRegisteredServices(IContainer container) - { - this.container = container; - } - - public void Execute(AutofacRegistrations data, IConventionResultContext result) - { - var distinctTypes = data.ComponentRegistry.Registrations - .SelectMany(r => r.Services.OfType().Select(s => s.ServiceType).Union(GetGenericFactoryTypes(data, r))) - .Distinct(); - - var failingTypes = new List(); - foreach (var distinctType in distinctTypes) - { - try - { - container.Resolve(distinctType); - } - catch (DependencyResolutionException e) - { - failingTypes.Add(e.Message); - } - } - - result.Is("Can resolve all types registered with Autofac", failingTypes); - } - - public string ConventionReason => - "Container resolution failings are runtime exceptions, this convention allows you to detect missing registrations faster!"; - - private IEnumerable GetGenericFactoryTypes(AutofacRegistrations data, IComponentRegistration componentRegistration) - { - return from ctorParameter in data.GetRegistrationCtorParameters(componentRegistration) - where ctorParameter.ParameterType.FullName.StartsWith("System.Func") - select ctorParameter.ParameterType.GetGenericArguments()[0]; - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests.Autofac/Lifetime.cs b/TestStack.ConventionTests.Autofac/Lifetime.cs deleted file mode 100644 index e5b27e9..0000000 --- a/TestStack.ConventionTests.Autofac/Lifetime.cs +++ /dev/null @@ -1,14 +0,0 @@ -namespace TestStack.ConventionTests.Autofac -{ - /// - /// Ordered by logical dependency precendence. Higher values should not reference lower - /// - public enum Lifetime - { - Transient = 0, - InstancePerLifetimeScope = 1, - SingleInstance = 2, - ExternallyOwned = 3, - SingleInstanceExternallyOwned = 4 - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests.Autofac/Properties/AssemblyInfo.cs b/TestStack.ConventionTests.Autofac/Properties/AssemblyInfo.cs deleted file mode 100644 index 320d939..0000000 --- a/TestStack.ConventionTests.Autofac/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("TestStack.ConventionTests.Autofac")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("TestStack.ConventionTests.Autofac")] -[assembly: AssemblyCopyright("Copyright © 2020")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -[assembly: AssemblyVersion("0.0.0.0")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("97020754-a2a1-4ea8-87d4-964795d79d3f")] diff --git a/TestStack.ConventionTests.Autofac/ServicesShouldOnlyHaveDependenciesWithLesserLifetime.cs b/TestStack.ConventionTests.Autofac/ServicesShouldOnlyHaveDependenciesWithLesserLifetime.cs deleted file mode 100644 index fdffa01..0000000 --- a/TestStack.ConventionTests.Autofac/ServicesShouldOnlyHaveDependenciesWithLesserLifetime.cs +++ /dev/null @@ -1,46 +0,0 @@ -namespace TestStack.ConventionTests.Autofac -{ - using global::Autofac.Core; - using System.Collections.Generic; - using TestStack.ConventionTests.ConventionData; - - public class ServicesShouldOnlyHaveDependenciesWithLesserLifetime : IConvention - { - public void Execute(AutofacRegistrations data, IConventionResultContext result) - { - var exceptions = new List(); - foreach (var registration in data.ComponentRegistry.Registrations) - { - var registrationLifetime = data.GetLifetime(registration); - - foreach (var ctorParameter in data.GetRegistrationCtorParameters(registration)) - { - IComponentRegistration parameterRegistration; - var typedService = new TypedService(ctorParameter.ParameterType); - - // If the parameter is not registered with autofac, ignore - if (!data.ComponentRegistry.TryGetRegistration(typedService, out parameterRegistration)) continue; - - var parameterLifetime = data.GetLifetime(parameterRegistration); - - if (parameterLifetime >= registrationLifetime) continue; - - var typeName = data.GetConcreteType(registration).ToTypeNameString(); - var parameterType = ctorParameter.ParameterType.ToTypeNameString(); - - var error = string.Format("{0} ({1}) => {2} ({3})", - typeName, registrationLifetime, - parameterType, parameterLifetime); - exceptions.Add(error); - } - } - - result.Is("Components should not depend on services with lesser lifetimes", exceptions); - } - - public string ConventionReason - { - get { return @"When classes with larger lifetimes depend on classes with smaller lifetimes this often indicates an error and can lead to subtle bugs"; } - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests.Autofac/TestStack.ConventionTests.Autofac.csproj b/TestStack.ConventionTests.Autofac/TestStack.ConventionTests.Autofac.csproj deleted file mode 100755 index 909d7d1..0000000 --- a/TestStack.ConventionTests.Autofac/TestStack.ConventionTests.Autofac.csproj +++ /dev/null @@ -1,32 +0,0 @@ - - - netstandard2.0 - TestStack.ConventionTests.Autofac - TestStack.ConventionTests.Autofac - false - false - false - false - false - false - false - false - - - - true - - true - - true - snupkg - - - - - - - - - - \ No newline at end of file diff --git a/TestStack.ConventionTests.Autofac/TestStack.ConventionTests.Autofac.ncrunchproject b/TestStack.ConventionTests.Autofac/TestStack.ConventionTests.Autofac.ncrunchproject deleted file mode 100644 index 896f219..0000000 --- a/TestStack.ConventionTests.Autofac/TestStack.ConventionTests.Autofac.ncrunchproject +++ /dev/null @@ -1,22 +0,0 @@ - - false - false - false - true - false - false - false - false - true - true - false - true - true - 60000 - - - - AutoDetect - STA - x86 - \ No newline at end of file diff --git a/TestStack.ConventionTests.Autofac/TestStack.ConventionTests.Autofac.nuspec b/TestStack.ConventionTests.Autofac/TestStack.ConventionTests.Autofac.nuspec deleted file mode 100644 index 91db26b..0000000 --- a/TestStack.ConventionTests.Autofac/TestStack.ConventionTests.Autofac.nuspec +++ /dev/null @@ -1,27 +0,0 @@ - - - - $version$ - Krzysztof Kozmic, Jake Ginnivan - Krzysztof Kozmic, Jake Ginnivan - TestStack.ConventionTests.Autofac - TestStack.ConventionTests.Autofac - xunit nunit convention testing documentation autofac - false - Simple convention-tester - A selection of pre-packaged conventions to validate autofac - https://github.com/TestStack/ConventionTests - https://github.com/TestStack/ConventionTests/blob/master/license.txt - https://raw.github.com/TestStack/ConventionTests/master/logo.png - https://github.com/TestStack/ConventionTests/releases - - - - - - - - - - - \ No newline at end of file diff --git a/TestStack.ConventionTests.Autofac/TestStack.ConventionTests.Autofac.v2.ncrunchproject b/TestStack.ConventionTests.Autofac/TestStack.ConventionTests.Autofac.v2.ncrunchproject deleted file mode 100644 index 896f219..0000000 --- a/TestStack.ConventionTests.Autofac/TestStack.ConventionTests.Autofac.v2.ncrunchproject +++ /dev/null @@ -1,22 +0,0 @@ - - false - false - false - true - false - false - false - false - true - true - false - true - true - 60000 - - - - AutoDetect - STA - x86 - \ No newline at end of file diff --git a/TestStack.ConventionTests.Tests/Autofac/CanResolveAllRegisteredServicesTests.cs b/TestStack.ConventionTests.Tests/Autofac/CanResolveAllRegisteredServicesTests.cs deleted file mode 100644 index d6b9fcc..0000000 --- a/TestStack.ConventionTests.Tests/Autofac/CanResolveAllRegisteredServicesTests.cs +++ /dev/null @@ -1,23 +0,0 @@ -namespace TestStack.ConventionTests.Tests.Autofac -{ - using global::Autofac; - using NUnit.Framework; - using TestStack.ConventionTests.Autofac; - using TestStack.ConventionTests.Tests.Autofac.TestTypes; - - [TestFixture] - public class CanResolveAllRegisteredServicesTests - { - [Test] - public void ConventionFailsWhenContainerRegistrationCannotBeResolved() - { - var containerBuilder = new ContainerBuilder(); - containerBuilder.RegisterType().As(); - var container = containerBuilder.Build(); - - var data = new AutofacRegistrations(container.ComponentRegistry); - - Assert.Throws(()=>Convention.Is(new CanResolveAllRegisteredServices(container), data)); - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests.Tests/Autofac/ServicesShouldOnlyHaveDependenciesWithLesserLifetimeTests.cs b/TestStack.ConventionTests.Tests/Autofac/ServicesShouldOnlyHaveDependenciesWithLesserLifetimeTests.cs deleted file mode 100644 index d91cac3..0000000 --- a/TestStack.ConventionTests.Tests/Autofac/ServicesShouldOnlyHaveDependenciesWithLesserLifetimeTests.cs +++ /dev/null @@ -1,25 +0,0 @@ -namespace TestStack.ConventionTests.Tests.Autofac -{ - using global::Autofac; - using NUnit.Framework; - using TestStack.ConventionTests.Autofac; - using TestStack.ConventionTests.Tests.Autofac.TestTypes; - - [TestFixture] - public class ServicesShouldOnlyHaveDependenciesWithLesserLifetimeTests - { - [Test] - public void ConventionShouldFailForTransientInjectectedIntoSingleton() - { - var containerBuilder = new ContainerBuilder(); - containerBuilder.RegisterType().As().SingleInstance(); - containerBuilder.RegisterType().As(); - - var container = containerBuilder.Build(); - - var convention = new ServicesShouldOnlyHaveDependenciesWithLesserLifetime(); - var autofacRegistrations = new AutofacRegistrations(container.ComponentRegistry); - Assert.Throws(() => Convention.Is(convention, autofacRegistrations)); - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests.Tests/Autofac/TestTypes/Bar.cs b/TestStack.ConventionTests.Tests/Autofac/TestTypes/Bar.cs deleted file mode 100644 index 57cb77b..0000000 --- a/TestStack.ConventionTests.Tests/Autofac/TestTypes/Bar.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace TestStack.ConventionTests.Tests.Autofac.TestTypes -{ - public class Bar : IBar - { - - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests.Tests/Autofac/TestTypes/Foo.cs b/TestStack.ConventionTests.Tests/Autofac/TestTypes/Foo.cs deleted file mode 100644 index 6f5ce38..0000000 --- a/TestStack.ConventionTests.Tests/Autofac/TestTypes/Foo.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace TestStack.ConventionTests.Tests.Autofac.TestTypes -{ - public class Foo : IFoo - { - public Foo(IBar bar){} - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests.Tests/Autofac/TestTypes/IBar.cs b/TestStack.ConventionTests.Tests/Autofac/TestTypes/IBar.cs deleted file mode 100644 index ef61067..0000000 --- a/TestStack.ConventionTests.Tests/Autofac/TestTypes/IBar.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace TestStack.ConventionTests.Tests.Autofac.TestTypes -{ - public interface IBar - { - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests.Tests/Autofac/TestTypes/IFoo.cs b/TestStack.ConventionTests.Tests/Autofac/TestTypes/IFoo.cs deleted file mode 100644 index a61121c..0000000 --- a/TestStack.ConventionTests.Tests/Autofac/TestTypes/IFoo.cs +++ /dev/null @@ -1,4 +0,0 @@ -namespace TestStack.ConventionTests.Tests.Autofac.TestTypes -{ - public interface IFoo {} -} \ No newline at end of file diff --git a/TestStack.ConventionTests.Tests/ConventionAssertionClassTests.approval_mismatch.approved.txt b/TestStack.ConventionTests.Tests/ConventionAssertionClassTests.approval_mismatch.approved.txt deleted file mode 100644 index d965a0a..0000000 --- a/TestStack.ConventionTests.Tests/ConventionAssertionClassTests.approval_mismatch.approved.txt +++ /dev/null @@ -1,4 +0,0 @@ -'Header' for 'Fake data' ------------------------- - - Approved Exception \ No newline at end of file diff --git a/TestStack.ConventionTests.Tests/ConventionData/ProjectPropertyGroupsTests.cs b/TestStack.ConventionTests.Tests/ConventionData/ProjectPropertyGroupsTests.cs deleted file mode 100644 index 7d899e1..0000000 --- a/TestStack.ConventionTests.Tests/ConventionData/ProjectPropertyGroupsTests.cs +++ /dev/null @@ -1,37 +0,0 @@ -namespace TestStack.ConventionTests.Tests.ConventionData -{ - using System.Linq; - using System.Xml.Linq; - using NSubstitute; - using NUnit.Framework; - using TestStack.ConventionTests.ConventionData; - using TestStack.ConventionTests.Internal; - using TestStack.ConventionTests.Tests.Properties; - - [TestFixture] - public class ProjectPropertyGroupsTests - { - IProjectProvider projectProvider; - - [SetUp] - public void Setup() - { - projectProvider = Substitute.For(); - } - - [Test] - public void can_parse_a_normal_project_file_to_read_global_debug_and_release_property_groups() - { - projectProvider - .LoadProjectDocument() - .Returns(XDocument.Parse(Resources.ProjectFileWithBinReference)); - - var projectGroups = new ProjectPropertyGroups(projectProvider); - - Assert.That(projectGroups.PropertyGroups.Length, Is.EqualTo(3)); - Assert.That(projectGroups.PropertyGroups.Any(item => item.Debug)); - Assert.That(projectGroups.PropertyGroups.Any(item => item.Release)); - Assert.That(projectGroups.PropertyGroups.Any(item => item.Global)); - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests.Tests/ConventionData/TypeExtensionsTests.cs b/TestStack.ConventionTests.Tests/ConventionData/TypeExtensionsTests.cs deleted file mode 100644 index c5563d1..0000000 --- a/TestStack.ConventionTests.Tests/ConventionData/TypeExtensionsTests.cs +++ /dev/null @@ -1,100 +0,0 @@ -namespace TestStack.ConventionTests.Tests.TestConventions -{ - using NUnit.Framework; - - using TestStack.ConventionTests.ConventionData; - - - [TestFixture] - public class TypeExtensionsTests - { - #region IsStatic - - [Test] - public void IsStatic_StaticClass_True() - { - // Arrange - var type = typeof(StaticClass); - - // Act - var isStatic = type.IsStatic(); - - // Assert - Assert.That(isStatic, Is.True); - } - - [Test] - public void IsStatic_SealedClass_False() - { - // Arrange - var type = typeof(SealedClass); - - // Act - var isStatic = type.IsStatic(); - - // Assert - Assert.That(isStatic, Is.False); - } - - [Test] - public void IsStatic_NonStaticClass_False() - { - // Arrange - var type = typeof(NonStaticClass); - - // Act - var isStatic = type.IsStatic(); - - // Assert - Assert.That(isStatic, Is.False); - } - - [Test] - public void IsStatic_AbstractClass_False() - { - // Arrange - var type = typeof(AbstractClass); - - // Act - var isStatic = type.IsStatic(); - - // Assert - Assert.That(isStatic, Is.False); - } - - [Test] - public void IsStatic_Interface_False() - { - // Arrange - var type = typeof(IInterface); - - // Act - var isStatic = type.IsStatic(); - - // Assert - Assert.That(isStatic, Is.False); - } - - [Test] - public void IsStatic_SimpleType_False() - { - // Arrange - var type = typeof(int); - - // Act - var isStatic = type.IsStatic(); - - // Assert - Assert.That(isStatic, Is.False); - } - - - private class NonStaticClass {} - private sealed class SealedClass {} - private static class StaticClass {} - private abstract class AbstractClass {} - private interface IInterface {} - - #endregion - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests.Tests/ConventionFixture.cs b/TestStack.ConventionTests.Tests/ConventionFixture.cs deleted file mode 100644 index 3556941..0000000 --- a/TestStack.ConventionTests.Tests/ConventionFixture.cs +++ /dev/null @@ -1,36 +0,0 @@ -namespace TestStack.ConventionTests.Tests -{ - using System; - using System.Linq; - using NUnit.Framework; - using TestStack.ConventionTests.ConventionData; - using TestStack.ConventionTests.Internal; - - [TestFixture] - public class ConventionFixture - { - [Test] - public void ShouldThrowWhenConventionDoesNotSetResult() - { - Assert.Throws(() => - Convention.Is(new CustomConventionWhichDoesNothing(), Types.InAssemblyOf())); - } - - // ReSharper disable once UnusedVariable - class CustomConventionWhichDoesNothing : IConvention - { - public void Execute(Types data, IConventionResultContext result) - { - var failingTypes = data.TypesToVerify.Where(IsBroken); - // Oops, I forgot to set the result - } - - public string ConventionReason => "Convention does not set result for testing"; - - bool IsBroken(Type type) - { - return true; - } - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests.Tests/CsvReportTests.Can_run_convention_with_simple_reporter.approved.csv b/TestStack.ConventionTests.Tests/CsvReportTests.Can_run_convention_with_simple_reporter.approved.csv deleted file mode 100644 index 07a98d3..0000000 --- a/TestStack.ConventionTests.Tests/CsvReportTests.Can_run_convention_with_simple_reporter.approved.csv +++ /dev/null @@ -1,5 +0,0 @@ -collection,item,can add,can remove -TestAssembly.Collections.Branch,TestAssembly.Collections.Leaf,False,False -TestAssembly.Collections.Forest,TestAssembly.Collections.Tree,True,True -TestAssembly.Collections.Tree,TestAssembly.Collections.Branch,True,False -TestAssembly.Collections.Tree,TestAssembly.Collections.Leaf,False,False diff --git a/TestStack.ConventionTests.Tests/CsvReportTests.Can_run_convention_with_simple_reporter.approved.txt b/TestStack.ConventionTests.Tests/CsvReportTests.Can_run_convention_with_simple_reporter.approved.txt deleted file mode 100644 index 07a98d3..0000000 --- a/TestStack.ConventionTests.Tests/CsvReportTests.Can_run_convention_with_simple_reporter.approved.txt +++ /dev/null @@ -1,5 +0,0 @@ -collection,item,can add,can remove -TestAssembly.Collections.Branch,TestAssembly.Collections.Leaf,False,False -TestAssembly.Collections.Forest,TestAssembly.Collections.Tree,True,True -TestAssembly.Collections.Tree,TestAssembly.Collections.Branch,True,False -TestAssembly.Collections.Tree,TestAssembly.Collections.Leaf,False,False diff --git a/TestStack.ConventionTests.Tests/CsvReportTests.cs b/TestStack.ConventionTests.Tests/CsvReportTests.cs deleted file mode 100644 index 95d7064..0000000 --- a/TestStack.ConventionTests.Tests/CsvReportTests.cs +++ /dev/null @@ -1,26 +0,0 @@ -namespace TestStack.ConventionTests.Tests -{ - using System.Linq; - using NUnit.Framework; - using Shouldly; - using TestAssembly.Collections; - using TestStack.ConventionTests.ConventionData; - using TestStack.ConventionTests.Reporting; - using TestStack.ConventionTests.Tests.TestConventions; - - public class CsvReportTests - { - [Test] - public void Can_run_convention_with_simple_reporter() - { - var typesToVerify = typeof (Leaf).Assembly.GetExportedTypes() - .Where(t => t.Namespace == typeof (Leaf).Namespace); - - var failures = Convention.GetFailures(new CollectionsRelationsConvention(), - new Types(typesToVerify, "Entities"), - new CsvReporter()); - - failures.ShouldMatchApproved(); - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests.Tests/MvcConventions.api_controller_conventions.approved.txt b/TestStack.ConventionTests.Tests/MvcConventions.api_controller_conventions.approved.txt deleted file mode 100644 index a58a53b..0000000 --- a/TestStack.ConventionTests.Tests/MvcConventions.api_controller_conventions.approved.txt +++ /dev/null @@ -1,10 +0,0 @@ -'Api Controllers must be suffixed with Controller' for 'Types in TestAssembly' ------------------------------------------------------------------------------- - - TestAssembly.Controllers.BarApiControler - -'Types named *Controller must inherit from ApiController or Controller' for 'Types in TestAssembly' ---------------------------------------------------------------------------------------------------- - - TestAssembly.Controllers.TestApiController - TestAssembly.Controllers.TestController diff --git a/TestStack.ConventionTests.Tests/MvcConventions.controller_conventions.approved.txt b/TestStack.ConventionTests.Tests/MvcConventions.controller_conventions.approved.txt deleted file mode 100644 index a445745..0000000 --- a/TestStack.ConventionTests.Tests/MvcConventions.controller_conventions.approved.txt +++ /dev/null @@ -1,10 +0,0 @@ -'Mvc Controllers must be suffixed with Controller' for 'Types in TestAssembly' ------------------------------------------------------------------------------- - - TestAssembly.Controllers.FooControler - -'Types named *Controller must inherit from ApiController or Controller' for 'Types in TestAssembly' ---------------------------------------------------------------------------------------------------- - - TestAssembly.Controllers.TestApiController - TestAssembly.Controllers.TestController diff --git a/TestStack.ConventionTests.Tests/MvcConventions.cs b/TestStack.ConventionTests.Tests/MvcConventions.cs deleted file mode 100644 index 41cbfdf..0000000 --- a/TestStack.ConventionTests.Tests/MvcConventions.cs +++ /dev/null @@ -1,34 +0,0 @@ -namespace TestStack.ConventionTests.Tests -{ - using NUnit.Framework; - using Shouldly; - using TestAssembly.Controllers; - using TestStack.ConventionTests.ConventionData; - using TestStack.ConventionTests.Conventions; - - [TestFixture] - public class MvcConventions - { - [Test] - public void controller_conventions() - { - var types = Types.InAssemblyOf(); - var convention = new MvcControllerNameAndBaseClassConvention(); - - var failures = Convention.GetFailures(convention, types); - - failures.ShouldMatchApproved(); - } - - [Test] - public void api_controller_conventions() - { - var types = Types.InAssemblyOf(); - var convention = new ApiControllerNamingAndBaseClassConvention(); - - var failures = Convention.GetFailures(convention, types); - - failures.ShouldMatchApproved(); - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests.Tests/ProjectBasedConventions.all_configuration_groups_should_have_optimize_true_if_property_defined.approved.txt b/TestStack.ConventionTests.Tests/ProjectBasedConventions.all_configuration_groups_should_have_optimize_true_if_property_defined.approved.txt deleted file mode 100644 index 096f871..0000000 --- a/TestStack.ConventionTests.Tests/ProjectBasedConventions.all_configuration_groups_should_have_optimize_true_if_property_defined.approved.txt +++ /dev/null @@ -1,4 +0,0 @@ -'Optimize property in Release|AnyCPU must have a value of true' for 'Project property groups in ProjectName' ------------------------------------------------------------------------------------------------------------- - - Optimize:false diff --git a/TestStack.ConventionTests.Tests/ProjectBasedConventions.all_configuration_groups_should_have_platform_AnyCPU.approved.txt b/TestStack.ConventionTests.Tests/ProjectBasedConventions.all_configuration_groups_should_have_platform_AnyCPU.approved.txt deleted file mode 100644 index 34f7c3e..0000000 --- a/TestStack.ConventionTests.Tests/ProjectBasedConventions.all_configuration_groups_should_have_platform_AnyCPU.approved.txt +++ /dev/null @@ -1,12 +0,0 @@ -'Platform property in Global must have a value of AnyCPU' for 'Project property groups in ProjectName' ------------------------------------------------------------------------------------------------------- - - -'Platform property in Release|AnyCPU must have a value of AnyCPU' for 'Project property groups in ProjectName' --------------------------------------------------------------------------------------------------------------- - - -'Platform property in Release|x86 must have a value of AnyCPU' for 'Project property groups in ProjectName' ------------------------------------------------------------------------------------------------------------ - - Platform:x86 diff --git a/TestStack.ConventionTests.Tests/ProjectBasedConventions.assemblies_referencing_bin_obj.approved.txt b/TestStack.ConventionTests.Tests/ProjectBasedConventions.assemblies_referencing_bin_obj.approved.txt deleted file mode 100644 index 57b2b9c..0000000 --- a/TestStack.ConventionTests.Tests/ProjectBasedConventions.assemblies_referencing_bin_obj.approved.txt +++ /dev/null @@ -1,4 +0,0 @@ -'Project must not reference dlls from bin or obj directories' for 'Project references in ProjectName' ------------------------------------------------------------------------------------------------------ - - bin\Debug\ApprovalTests.dll diff --git a/TestStack.ConventionTests.Tests/ProjectBasedConventions.assemblies_referencing_bin_obj_with_approved_exceptions.approved.txt b/TestStack.ConventionTests.Tests/ProjectBasedConventions.assemblies_referencing_bin_obj_with_approved_exceptions.approved.txt deleted file mode 100644 index 57b2b9c..0000000 --- a/TestStack.ConventionTests.Tests/ProjectBasedConventions.assemblies_referencing_bin_obj_with_approved_exceptions.approved.txt +++ /dev/null @@ -1,4 +0,0 @@ -'Project must not reference dlls from bin or obj directories' for 'Project references in ProjectName' ------------------------------------------------------------------------------------------------------ - - bin\Debug\ApprovalTests.dll diff --git a/TestStack.ConventionTests.Tests/ProjectBasedConventions.cs b/TestStack.ConventionTests.Tests/ProjectBasedConventions.cs deleted file mode 100644 index dd2c76e..0000000 --- a/TestStack.ConventionTests.Tests/ProjectBasedConventions.cs +++ /dev/null @@ -1,115 +0,0 @@ -namespace TestStack.ConventionTests.Tests -{ - using System.Xml.Linq; - using NSubstitute; - using NUnit.Framework; - using Shouldly; - using TestStack.ConventionTests.ConventionData; - using TestStack.ConventionTests.Conventions; - using TestStack.ConventionTests.Internal; - using TestStack.ConventionTests.Tests.Properties; - - [TestFixture] - public class ProjectBasedConventions - { - IProjectProvider projectProvider; - - [SetUp] - public void Setup() - { - projectProvider = Substitute.For(); - projectProvider.GetName().Returns("ProjectName"); - } - - [Test] - public void assemblies_referencing_bin_obj() - { - projectProvider - .LoadProjectDocument() - .Returns(XDocument.Parse(Resources.ProjectFileWithBinReference)); - - var project = new ProjectReferences(projectProvider); - var failures = Convention.GetFailures(new ProjectDoesNotReferenceDllsFromBinOrObjDirectories(), project); - - failures.ShouldMatchApproved(); - } - - [Test] - public void assemblies_referencing_bin_obj_with_approved_exceptions() - { - projectProvider - .LoadProjectDocument() - .Returns(XDocument.Parse(Resources.ProjectFileWithBinReference)); - - var project = new ProjectReferences(projectProvider); - var failures = Convention.GetFailures(new ProjectDoesNotReferenceDllsFromBinOrObjDirectories(), project); - - failures.ShouldMatchApproved(); - } - - [Test] - public void scripts_not_embedded_resources() - { - projectProvider - .LoadProjectDocument() - .Returns(XDocument.Parse(Resources.ProjectFileWithInvalidSqlScriptFile)); - - var project = new ProjectFileItems(projectProvider); - var failures = Convention.GetFailures(new FilesAreEmbeddedResources(".sql"), project); - - failures.ShouldMatchApproved(); - } - - [Test] - public void scripts_not_embedded_resources_with_approved_exceptions() - { - var project = new ProjectFileItems(projectProvider); - projectProvider - .LoadProjectDocument() - .Returns(XDocument.Parse(Resources.ProjectFileWithInvalidSqlScriptFile)); - - Convention.GetFailures(new FilesAreEmbeddedResources(".sql"), project); - } - - [Test] - public void release_debug_type_should_be_pdb_only() - { - projectProvider - .LoadProjectDocument() - .Returns(XDocument.Parse(Resources.ProjectFileWithReleaseDebugTypeFull)); - - var propertyGroups = new ProjectPropertyGroups(projectProvider); - var failures = Convention.GetFailures(new ConfigurationHasSpecificValue(ConfigurationType.Release, "DebugType", "pdbonly"), propertyGroups); - - failures.ShouldMatchApproved(); - } - - [Test] - public void all_configuration_groups_should_have_platform_AnyCPU() - { - projectProvider - .LoadProjectDocument() - .Returns(XDocument.Parse(Resources.ProjectFileWithReleaseDebugTypeFull)); - - var propertyGroups = new ProjectPropertyGroups(projectProvider); - var failures = Convention.GetFailures(new ConfigurationHasSpecificValue(ConfigurationType.All, "Platform", "AnyCPU"), propertyGroups); - - failures.ShouldMatchApproved(); - } - - [Test] - public void all_configuration_groups_should_have_optimize_true_if_property_defined() - { - projectProvider - .LoadProjectDocument() - .Returns(XDocument.Parse(Resources.ProjectFileWithReleaseDebugTypeFull)); - - var propertyGroups = new ProjectPropertyGroups(projectProvider); - var failures = - Convention.GetFailures(new ConfigurationHasSpecificValue(ConfigurationType.All, "Optimize", "true"), - propertyGroups); - - failures.ShouldMatchApproved(); - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests.Tests/ProjectBasedConventions.release_debug_type_should_be_pdb_only.approved.txt b/TestStack.ConventionTests.Tests/ProjectBasedConventions.release_debug_type_should_be_pdb_only.approved.txt deleted file mode 100644 index 132cc84..0000000 --- a/TestStack.ConventionTests.Tests/ProjectBasedConventions.release_debug_type_should_be_pdb_only.approved.txt +++ /dev/null @@ -1,9 +0,0 @@ -'DebugType property in Release|AnyCPU must have a value of pdbonly' for 'Project property groups in ProjectName' ----------------------------------------------------------------------------------------------------------------- - - DebugType:full - -'DebugType property in Release|x86 must have a value of pdbonly' for 'Project property groups in ProjectName' -------------------------------------------------------------------------------------------------------------- - - DebugType:full diff --git a/TestStack.ConventionTests.Tests/ProjectBasedConventions.scripts_not_embedded_resources.approved.txt b/TestStack.ConventionTests.Tests/ProjectBasedConventions.scripts_not_embedded_resources.approved.txt deleted file mode 100644 index 2b1d9bb..0000000 --- a/TestStack.ConventionTests.Tests/ProjectBasedConventions.scripts_not_embedded_resources.approved.txt +++ /dev/null @@ -1,4 +0,0 @@ -'.sql Files must be embedded resources' for 'Project file items in ProjectName' -------------------------------------------------------------------------------- - - Scripts\Script2.sql diff --git a/TestStack.ConventionTests.Tests/ProjectBasedConventions.scripts_not_embedded_resources_with_approved_exceptions.approved.txt b/TestStack.ConventionTests.Tests/ProjectBasedConventions.scripts_not_embedded_resources_with_approved_exceptions.approved.txt deleted file mode 100644 index 3202fa8..0000000 --- a/TestStack.ConventionTests.Tests/ProjectBasedConventions.scripts_not_embedded_resources_with_approved_exceptions.approved.txt +++ /dev/null @@ -1,4 +0,0 @@ -'.sql Files must be embedded resources' for 'Project file items in TestStack.ConventionTests.Tests' ---------------------------------------------------------------------------------------------------- - - Scripts\Script2.sql diff --git a/TestStack.ConventionTests.Tests/Properties/AssemblyInfo.cs b/TestStack.ConventionTests.Tests/Properties/AssemblyInfo.cs deleted file mode 100644 index 4363a2b..0000000 --- a/TestStack.ConventionTests.Tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,26 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; -using TestStack.ConventionTests; -using TestStack.ConventionTests.Reporting; - -[assembly: AssemblyTitle("TestStack.ConventionTests.Tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("TestStack.ConventionTests.Tests")] -[assembly: AssemblyCopyright("Copyright © TestStack 2020")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -[assembly: AssemblyVersion("0.0.0.0")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("1a65a30e-e057-4058-a155-7ad12ba91cd2")] - -[assembly: ConventionReporter(typeof(HtmlConventionResultsReporter))] -[assembly: ConventionReporter(typeof(MarkdownConventionResultsReporter))] \ No newline at end of file diff --git a/TestStack.ConventionTests.Tests/Properties/Resources.Designer.cs b/TestStack.ConventionTests.Tests/Properties/Resources.Designer.cs deleted file mode 100644 index 625521b..0000000 --- a/TestStack.ConventionTests.Tests/Properties/Resources.Designer.cs +++ /dev/null @@ -1,112 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:4.0.30319.34014 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace TestStack.ConventionTests.Tests.Properties { - using System; - - - /// - /// A strongly-typed resource class, for looking up localized strings, etc. - /// - // This class was auto-generated by the StronglyTypedResourceBuilder - // class via a tool like ResGen or Visual Studio. - // To add or remove a member, edit your .ResX file then rerun ResGen - // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class Resources { - - private static global::System.Resources.ResourceManager resourceMan; - - private static global::System.Globalization.CultureInfo resourceCulture; - - [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal Resources() { - } - - /// - /// Returns the cached ResourceManager instance used by this class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager { - get { - if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("TestStack.ConventionTests.Tests.Properties.Resources", typeof(Resources).Assembly); - resourceMan = temp; - } - return resourceMan; - } - } - - /// - /// Overrides the current thread's CurrentUICulture property for all - /// resource lookups using this strongly typed resource class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture { - get { - return resourceCulture; - } - set { - resourceCulture = value; - } - } - - /// - /// Looks up a localized string similar to <?xml version="1.0" encoding="utf-8"?> - ///<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - /// <PropertyGroup> - /// <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - /// <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - /// <SchemaVersion>2.0</SchemaVersion> - /// <ProjectGuid>{1E12EA0C-9182-4029-991A-B0B9D38F5783}</ProjectGuid> - /// <FileAlignment>512</FileAlignment> - /// </PropertyGroup> - /// <PropertyGroup Cond [rest of string was truncated]";. - /// - internal static string ProjectFileWithBinReference { - get { - return ResourceManager.GetString("ProjectFileWithBinReference", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to <?xml version="1.0" encoding="utf-8"?> - ///<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - /// <ItemGroup> - /// <None Include="Scripts\Script2.sql" /> - /// </ItemGroup> - /// <ItemGroup> - /// <EmbeddedResource Include="Scripts\Script1.sql" /> - /// </ItemGroup> - ///</Project>. - /// - internal static string ProjectFileWithInvalidSqlScriptFile { - get { - return ResourceManager.GetString("ProjectFileWithInvalidSqlScriptFile", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to <?xml version="1.0" encoding="utf-8"?> - ///<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - /// <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> - /// <DebugType>full</DebugType> - /// </PropertyGroup> - ///</Project>. - /// - internal static string ProjectFileWithReleaseDebugTypeFull { - get { - return ResourceManager.GetString("ProjectFileWithReleaseDebugTypeFull", resourceCulture); - } - } - } -} diff --git a/TestStack.ConventionTests.Tests/Properties/Resources.resx b/TestStack.ConventionTests.Tests/Properties/Resources.resx deleted file mode 100644 index 1f3e8ab..0000000 --- a/TestStack.ConventionTests.Tests/Properties/Resources.resx +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - ..\Resources\ProjectFileWithBinReference.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 - - - ..\Resources\ProjectFileWithInvalidSqlScriptFile.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 - - - ..\resources\projectfilewithreleasedebugtypefull.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 - - \ No newline at end of file diff --git a/TestStack.ConventionTests.Tests/Resources/ProjectFileWithBinReference.txt b/TestStack.ConventionTests.Tests/Resources/ProjectFileWithBinReference.txt deleted file mode 100644 index 42218d6..0000000 --- a/TestStack.ConventionTests.Tests/Resources/ProjectFileWithBinReference.txt +++ /dev/null @@ -1,102 +0,0 @@ - - - - Debug - AnyCPU - 2.0 - {1E12EA0C-9182-4029-991A-B0B9D38F5783} - 512 - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - False - bin\Debug\ApprovalTests.dll - - - False - ..\packages\ApprovalTests.2.2\lib\ApprovalUtilities.dll - - - False - ..\packages\Castle.Core.3.2.0\lib\net40-client\Castle.Core.dll - - - False - ..\packages\Castle.Windsor.3.2.0\lib\net40\Castle.Windsor.dll - - - - ..\packages\Mono.Cecil.0.9.5.4\lib\net40\Mono.Cecil.dll - - - ..\packages\Mono.Cecil.0.9.5.4\lib\net40\Mono.Cecil.Mdb.dll - - - ..\packages\Mono.Cecil.0.9.5.4\lib\net40\Mono.Cecil.Pdb.dll - - - ..\packages\Mono.Cecil.0.9.5.4\lib\net40\Mono.Cecil.Rocks.dll - - - False - ..\packages\NUnit.2.6.2\lib\nunit.framework.dll - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Designer - - - - - - \ No newline at end of file diff --git a/TestStack.ConventionTests.Tests/Resources/ProjectFileWithInvalidSqlScriptFile.txt b/TestStack.ConventionTests.Tests/Resources/ProjectFileWithInvalidSqlScriptFile.txt deleted file mode 100644 index 2a82b20..0000000 --- a/TestStack.ConventionTests.Tests/Resources/ProjectFileWithInvalidSqlScriptFile.txt +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/TestStack.ConventionTests.Tests/Resources/ProjectFileWithReleaseDebugTypeFull.txt b/TestStack.ConventionTests.Tests/Resources/ProjectFileWithReleaseDebugTypeFull.txt deleted file mode 100644 index 126a645..0000000 --- a/TestStack.ConventionTests.Tests/Resources/ProjectFileWithReleaseDebugTypeFull.txt +++ /dev/null @@ -1,15 +0,0 @@ - - - - AnyCPU - - - AnyCPU - full - false - - - x86 - full - - \ No newline at end of file diff --git a/TestStack.ConventionTests.Tests/TestConventions/CollectionsRelationsConvention.cs b/TestStack.ConventionTests.Tests/TestConventions/CollectionsRelationsConvention.cs deleted file mode 100644 index 6cb4ade..0000000 --- a/TestStack.ConventionTests.Tests/TestConventions/CollectionsRelationsConvention.cs +++ /dev/null @@ -1,47 +0,0 @@ -namespace TestStack.ConventionTests.Tests.TestConventions -{ - using System; - using System.Collections.Generic; - using System.Linq; - using TestAssembly.Collections; - using TestStack.ConventionTests.ConventionData; - - public class CollectionsRelationsConvention : IConvention - { - public string ConventionTitle { get; private set; } - - public void Execute(Types data, IConventionResultContext result) - { - ConventionTitle = "well, does the header apply here all across the board? How would that work for CSV?"; - var types = data.TypesToVerify; - var collectionToItemLookup = from collection in types - where collection.IsClass - orderby collection.FullName - from item in GetItemTypes(collection) - select new - { - collection, - item, - can_add = typeof (ICanAdd<>).MakeGenericType(item).IsAssignableFrom(collection), - can_remove = typeof (ICanRemove<>).MakeGenericType(item).IsAssignableFrom(collection) - }; - - result.Is("Some title", collectionToItemLookup); - } - - public string ConventionReason - { - get { return "Test convention"; } - } - - IEnumerable GetItemTypes(Type type) - { - return from @interface in type.GetInterfaces() - where @interface.IsGenericType - where @interface.GetGenericTypeDefinition() == typeof (IEnumerable<>) - let item = @interface.GetGenericArguments().Single() - orderby item.FullName - select item; - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests.Tests/TestStack.ConventionTests.Tests.csproj b/TestStack.ConventionTests.Tests/TestStack.ConventionTests.Tests.csproj deleted file mode 100755 index f694c10..0000000 --- a/TestStack.ConventionTests.Tests/TestStack.ConventionTests.Tests.csproj +++ /dev/null @@ -1,31 +0,0 @@ - - - netcoreapp3.1 - TestStack.ConventionTests.Tests - TestStack.ConventionTests.Tests - false - false - false - false - false - false - false - false - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - - - \ No newline at end of file diff --git a/TestStack.ConventionTests.Tests/TestStack.ConventionTests.Tests.ncrunchproject b/TestStack.ConventionTests.Tests/TestStack.ConventionTests.Tests.ncrunchproject deleted file mode 100644 index 896f219..0000000 --- a/TestStack.ConventionTests.Tests/TestStack.ConventionTests.Tests.ncrunchproject +++ /dev/null @@ -1,22 +0,0 @@ - - false - false - false - true - false - false - false - false - true - true - false - true - true - 60000 - - - - AutoDetect - STA - x86 - \ No newline at end of file diff --git a/TestStack.ConventionTests.Tests/TestStack.ConventionTests.Tests.v2.ncrunchproject b/TestStack.ConventionTests.Tests/TestStack.ConventionTests.Tests.v2.ncrunchproject deleted file mode 100644 index 896f219..0000000 --- a/TestStack.ConventionTests.Tests/TestStack.ConventionTests.Tests.v2.ncrunchproject +++ /dev/null @@ -1,22 +0,0 @@ - - false - false - false - true - false - false - false - false - true - true - false - true - true - 60000 - - - - AutoDetect - STA - x86 - \ No newline at end of file diff --git a/TestStack.ConventionTests.Tests/TypeBasedConventions.all_classes_have_default_constructor.approved.txt b/TestStack.ConventionTests.Tests/TypeBasedConventions.all_classes_have_default_constructor.approved.txt deleted file mode 100644 index e3fd256..0000000 --- a/TestStack.ConventionTests.Tests/TypeBasedConventions.all_classes_have_default_constructor.approved.txt +++ /dev/null @@ -1,5 +0,0 @@ -'Types must have a default constructor' for 'Types in nHibernate Entitites' ---------------------------------------------------------------------------- - - TestAssembly.ClassWithNoDefaultCtor - TestAssembly.ClassWithPrivateDefaultCtor diff --git a/TestStack.ConventionTests.Tests/TypeBasedConventions.all_classes_have_default_constructor_wth_approved_exceptions.approved.txt b/TestStack.ConventionTests.Tests/TypeBasedConventions.all_classes_have_default_constructor_wth_approved_exceptions.approved.txt deleted file mode 100644 index e3fd256..0000000 --- a/TestStack.ConventionTests.Tests/TypeBasedConventions.all_classes_have_default_constructor_wth_approved_exceptions.approved.txt +++ /dev/null @@ -1,5 +0,0 @@ -'Types must have a default constructor' for 'Types in nHibernate Entitites' ---------------------------------------------------------------------------- - - TestAssembly.ClassWithNoDefaultCtor - TestAssembly.ClassWithPrivateDefaultCtor diff --git a/TestStack.ConventionTests.Tests/TypeBasedConventions.all_methods_are_virtual.approved.txt b/TestStack.ConventionTests.Tests/TypeBasedConventions.all_methods_are_virtual.approved.txt deleted file mode 100644 index 9081ea0..0000000 --- a/TestStack.ConventionTests.Tests/TypeBasedConventions.all_methods_are_virtual.approved.txt +++ /dev/null @@ -1,4 +0,0 @@ -'Methods must be virtual' for 'Types in nHibernate Entitites' -------------------------------------------------------------- - - TestAssembly.SampleDomainClass.TestNonVirtual diff --git a/TestStack.ConventionTests.Tests/TypeBasedConventions.all_methods_are_virtual_wth_approved_exceptions.approved.txt b/TestStack.ConventionTests.Tests/TypeBasedConventions.all_methods_are_virtual_wth_approved_exceptions.approved.txt deleted file mode 100644 index 9081ea0..0000000 --- a/TestStack.ConventionTests.Tests/TypeBasedConventions.all_methods_are_virtual_wth_approved_exceptions.approved.txt +++ /dev/null @@ -1,4 +0,0 @@ -'Methods must be virtual' for 'Types in nHibernate Entitites' -------------------------------------------------------------- - - TestAssembly.SampleDomainClass.TestNonVirtual diff --git a/TestStack.ConventionTests.Tests/TypeBasedConventions.cs b/TestStack.ConventionTests.Tests/TypeBasedConventions.cs deleted file mode 100644 index 5e30e75..0000000 --- a/TestStack.ConventionTests.Tests/TypeBasedConventions.cs +++ /dev/null @@ -1,72 +0,0 @@ -namespace TestStack.ConventionTests.Tests -{ - using NUnit.Framework; - using Shouldly; - using TestAssembly; - using TestStack.ConventionTests.ConventionData; - using TestStack.ConventionTests.Conventions; - - [TestFixture] - public class TypeBasedConventions - { - readonly Types nhibernateEntities; - - public TypeBasedConventions() - { - nhibernateEntities = Types.InAssemblyOf("nHibernate Entitites", - type => type.IsConcreteClass() && type.Namespace == typeof (SampleDomainClass).Namespace); - } - - [Test] - public void all_classes_have_default_constructor() - { - var failures = Convention.GetFailures(new AllClassesHaveDefaultConstructor(), nhibernateEntities); - - failures.ShouldMatchApproved(); - } - - [Test] - public void all_classes_have_default_constructor_wth_approved_exceptions() - { - var failures = Convention.GetFailures(new AllClassesHaveDefaultConstructor(), nhibernateEntities); - - failures.ShouldMatchApproved(); - } - - [Test] - public void all_methods_are_virtual() - { - var failures = Convention.GetFailures(new AllMethodsAreVirtual(), nhibernateEntities); - - failures.ShouldMatchApproved(); - } - - [Test] - public void all_methods_are_virtual_wth_approved_exceptions() - { - var failures = Convention.GetFailures(new AllMethodsAreVirtual(), nhibernateEntities); - - failures.ShouldMatchApproved(); - } - - [Test] - public void dtos_exists_in_dto_namespace() - { - var types = Types.InAssemblyOf(); - var convention = new ClassTypeHasSpecificNamespace(t => t.Name.EndsWith("Dto"), "TestAssembly.Dtos", "Dto"); - - var failures = Convention.GetFailures(convention, types); - - failures.ShouldMatchApproved(); - } - - [Test] - public void dtos_exists_in_dto_namespace_wth_approved_exceptions() - { - var types = Types.InAssemblyOf(); - var convention = new ClassTypeHasSpecificNamespace(t => t.Name.EndsWith("Dto"), "TestAssembly.Dtos", "Dto"); - - Convention.GetFailures(convention, types); - } - } -} diff --git a/TestStack.ConventionTests.Tests/TypeBasedConventions.dtos_exists_in_dto_namespace.approved.txt b/TestStack.ConventionTests.Tests/TypeBasedConventions.dtos_exists_in_dto_namespace.approved.txt deleted file mode 100644 index aab6589..0000000 --- a/TestStack.ConventionTests.Tests/TypeBasedConventions.dtos_exists_in_dto_namespace.approved.txt +++ /dev/null @@ -1,9 +0,0 @@ -'Dtos must be under the 'TestAssembly.Dtos' namespace' for 'Types in TestAssembly' ----------------------------------------------------------------------------------- - - TestAssembly.SomeDto - -'Non-Dtos must not be under the 'TestAssembly.Dtos' namespace' for 'Types in TestAssembly' ------------------------------------------------------------------------------------------- - - TestAssembly.Dtos.AnotherClass diff --git a/TestStack.ConventionTests.Tests/TypeBasedConventions.dtos_exists_in_dto_namespace1.approved.txt b/TestStack.ConventionTests.Tests/TypeBasedConventions.dtos_exists_in_dto_namespace1.approved.txt deleted file mode 100644 index 5a005e3..0000000 --- a/TestStack.ConventionTests.Tests/TypeBasedConventions.dtos_exists_in_dto_namespace1.approved.txt +++ /dev/null @@ -1,4 +0,0 @@ -'Non-Dtos must not be under the 'TestAssembly.Dtos' namespace' for 'TestAssembly types' ---------------------------------------------------------------------------------------- - - TestAssembly.Dtos.AnotherClass diff --git a/TestStack.ConventionTests.Tests/TypeBasedConventions.dtos_exists_in_dto_namespace_wth_approved_exceptions.approved.txt b/TestStack.ConventionTests.Tests/TypeBasedConventions.dtos_exists_in_dto_namespace_wth_approved_exceptions.approved.txt deleted file mode 100644 index 0aa693d..0000000 --- a/TestStack.ConventionTests.Tests/TypeBasedConventions.dtos_exists_in_dto_namespace_wth_approved_exceptions.approved.txt +++ /dev/null @@ -1,4 +0,0 @@ -'Dtos must be under the 'TestAssembly.Dtos' namespace' for 'Types in TestAssembly' ----------------------------------------------------------------------------------- - - TestAssembly.SomeDto diff --git a/TestStack.ConventionTests.Tests/TypeBasedConventions.dtos_exists_in_dto_namespace_wth_approved_exceptions1.approved.txt b/TestStack.ConventionTests.Tests/TypeBasedConventions.dtos_exists_in_dto_namespace_wth_approved_exceptions1.approved.txt deleted file mode 100644 index 3995d97..0000000 --- a/TestStack.ConventionTests.Tests/TypeBasedConventions.dtos_exists_in_dto_namespace_wth_approved_exceptions1.approved.txt +++ /dev/null @@ -1,4 +0,0 @@ -'Non-Dtos must not be under the 'TestAssembly.Dtos' namespace' for 'Types in TestAssembly' ------------------------------------------------------------------------------------------- - - TestAssembly.Dtos.AnotherClass diff --git a/TestStack.ConventionTests/Convention.cs b/TestStack.ConventionTests/Convention.cs deleted file mode 100644 index 4ce28f6..0000000 --- a/TestStack.ConventionTests/Convention.cs +++ /dev/null @@ -1,98 +0,0 @@ -namespace TestStack.ConventionTests -{ - using System; - using System.Collections.Generic; - using System.Linq; - using System.Reflection; - using TestStack.ConventionTests.ConventionData; - using TestStack.ConventionTests.Internal; - using TestStack.ConventionTests.Reporting; - - public static class Convention - { - static IResultsProcessor[] defaultProcessors; - - static Convention() - { - Formatters = new List - { - new TypeDataFormatter(), - new ProjectReferenceFormatter(), - new ProjectFileFormatter(), - new MethodInfoDataFormatter(), - new StringDataFormatter(), - new ConvertibleFormatter(), - new FallbackFormatter() - }; - } - - public static IList Formatters { get; set; } - - public static void Is(IConvention convention, TDataSource data, - ITestResultProcessor resultProcessor = null) - where TDataSource : IConventionData - { - if (defaultProcessors == null) { - var reporters = GetCustomReporters(); - Init(reporters.ToList()); - } - - Execute(convention, data, defaultProcessors.Concat(new[] { new ThrowOnFailureResultsProcessor() }), resultProcessor ?? new ConventionReportTextRenderer()); - } - - /// - /// Verifies a convention, returning the failures as a string instead of throwing an exception - /// - /// Allows you to approve or assert against the failures yourself - /// - /// Convention.GetFailures(new SomeConvention(), Types.InAssemblyOf<SomeTypeOfMine>()) - public static string GetFailures(IConvention convention, TDataSource data, - ITestResultProcessor resultProcessor = null) - where TDataSource : IConventionData - { - if (defaultProcessors == null) - { - var reporters = GetCustomReporters(); - Init(reporters.ToList()); - } - - var captureFailuresProcessor = new CaptureFailuresProcessor(); - Execute(convention, data, defaultProcessors.Concat(new [] { captureFailuresProcessor }), resultProcessor ?? new ConventionReportTextRenderer()); - return captureFailuresProcessor.Failures; - } - - static void Execute(IConvention convention, TDataSource data, - IEnumerable processors, ITestResultProcessor resultProcessor) - where TDataSource : IConventionData - { - var dataDescription = $"{data.GetType().GetSentenceCaseName()} in {data.Description}"; - var context = new ConventionContext(dataDescription, Formatters, processors, resultProcessor); - context.Execute(convention, data); - } - - static void Init(IList customReporters) - { - defaultProcessors = new IResultsProcessor[customReporters.Count + 1]; - - for (var index = 0; index < customReporters.Count; index++) - { - var customReporter = (ConventionReporterAttribute)customReporters[index]; - var resultsProcessor = (IResultsProcessor)Activator.CreateInstance(customReporter.ReporterType); - defaultProcessors[index] = resultsProcessor; - } - - var conventionReportTraceRenderer = new ConventionReportTraceRenderer(); - defaultProcessors[defaultProcessors.Length - 1] = conventionReportTraceRenderer; - } - - static IEnumerable GetCustomReporters() - { - #if NewReflection - return typeof(TDataSource).GetTypeInfo().GetCustomAttributes(typeof(ConventionReporterAttribute), false); - #else - var assembly = Assembly.GetCallingAssembly(); - return (IEnumerable)assembly.GetCustomAttributes(typeof(ConventionReporterAttribute), false); - #endif - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/ConventionData.cs b/TestStack.ConventionTests/ConventionData.cs deleted file mode 100644 index c65a932..0000000 --- a/TestStack.ConventionTests/ConventionData.cs +++ /dev/null @@ -1,51 +0,0 @@ -namespace TestStack.ConventionTests -{ - using System; - using System.Text; - - /// - /// This is where we set what our convention is all about - /// - public class ConventionData - { - public static readonly Predicate None = _ => false; - readonly Action defaultItemDescription = DefaultItemDescriptionMethod; - - public ConventionData() - { - Must = None; - OrderBy = HashCode; - ItemDescription = defaultItemDescription; - } - - public Func OrderBy { get; set; } - - /// - /// Descriptive text used for failure message in test. Should explan what is wrong, and how to fix it (how to make - /// types that do not conform to the convention do so). - /// - public string Description { get; set; } - - /// - /// This is the convention. The predicate should return true for types that do conform to the convention, and - /// false otherwise - /// - public Predicate Must { get; set; } - - public Action ItemDescription { get; set; } - - static void DefaultItemDescriptionMethod(TItem item, StringBuilder message) - { - message.AppendLine(ReferenceEquals(item, null) ? "<>" : item.ToString()); - } - - object HashCode(TItem arg) - { - if (ReferenceEquals(arg, null)) - { - return 0; - } - return arg.GetHashCode(); - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/ConventionData/AbstractProjectData.cs b/TestStack.ConventionTests/ConventionData/AbstractProjectData.cs deleted file mode 100644 index 9e84e68..0000000 --- a/TestStack.ConventionTests/ConventionData/AbstractProjectData.cs +++ /dev/null @@ -1,28 +0,0 @@ -namespace TestStack.ConventionTests.ConventionData -{ - using System.Xml.Linq; - using TestStack.ConventionTests.Internal; - - public abstract class AbstractProjectData : IConventionData - { - protected AbstractProjectData(IProjectProvider projectProvider) - { - ProjectProvider = projectProvider; - } - protected AbstractProjectData(string projectFilePath) - { - ProjectProvider = new ProjectFileFromDiskProvider(projectFilePath); - } - - public IProjectProvider ProjectProvider { get; private set; } - - public string Description { get { return ProjectProvider.GetName(); } } - - public bool HasData { get { return true; } } - - protected XDocument GetProject() - { - return ProjectProvider.LoadProjectDocument(); - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/ConventionData/ProjectFileItem.cs b/TestStack.ConventionTests/ConventionData/ProjectFileItem.cs deleted file mode 100644 index 19f367f..0000000 --- a/TestStack.ConventionTests/ConventionData/ProjectFileItem.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace TestStack.ConventionTests.ConventionData -{ - public class ProjectFileItem - { - public string FilePath { get; set; } - public string ReferenceType { get; set; } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/ConventionData/ProjectFileItems.cs b/TestStack.ConventionTests/ConventionData/ProjectFileItems.cs deleted file mode 100644 index 4d1665f..0000000 --- a/TestStack.ConventionTests/ConventionData/ProjectFileItems.cs +++ /dev/null @@ -1,41 +0,0 @@ -namespace TestStack.ConventionTests.ConventionData -{ - using System.Linq; - using System.Xml.Linq; - using TestStack.ConventionTests.Internal; - - /// - /// Items/Files in a .*proj project file - /// - public class ProjectFileItems : AbstractProjectData - { - public ProjectFileItems(IProjectProvider projectProvider) - : base(projectProvider) - { - } - - public ProjectFileItems(string projectFilePath) : base(projectFilePath) - { - } - - public ProjectFileItem[] Items - { - get - { - var project = GetProject(); - const string msbuild = "http://schemas.microsoft.com/developer/msbuild/2003"; - return project - .Element(XName.Get("Project", msbuild)) - .Elements(XName.Get("ItemGroup", msbuild)) - .Elements() - .Select(refElem => - new ProjectFileItem - { - ReferenceType = refElem.Name.LocalName, - FilePath = refElem.Attribute("Include").Value - }) - .ToArray(); - } - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/ConventionData/ProjectPropertyGroup.cs b/TestStack.ConventionTests/ConventionData/ProjectPropertyGroup.cs deleted file mode 100644 index 5700283..0000000 --- a/TestStack.ConventionTests/ConventionData/ProjectPropertyGroup.cs +++ /dev/null @@ -1,72 +0,0 @@ -namespace TestStack.ConventionTests.ConventionData -{ - using System; - using System.Collections.Generic; - using System.Linq; - using System.Xml.Linq; - - public class ProjectPropertyGroup - { - readonly Dictionary properties; - - public ProjectPropertyGroup(string condition, IEnumerable> properties) - { - Condition = condition; - this.properties = new Dictionary(); - foreach (var pair in properties) - { - this.properties.Add(pair.Key, pair.Value); - } - } - - public string Condition { get; set; } - - public bool Debug - { - get - { - return !Global && Condition.IndexOf("debug", StringComparison.OrdinalIgnoreCase) > -1; - } - } - - public bool Global - { - get { return this.Condition == null; } - } - - public string Name - { - get - { - if (this.Global) - { - return "Global"; - } - - var entries = this.Condition.Split(new[]{'\''}, StringSplitOptions.RemoveEmptyEntries).Where(item => item.Trim().Length > 0); - return entries.Last(); - } - } - - public bool Release - { - get - { - return !Global && Condition.IndexOf("release", StringComparison.OrdinalIgnoreCase) > -1; - } - } - - public string this[string property] - { - get - { - if (!properties.ContainsKey(property)) - { - return null; - } - - return properties[property]; - } - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/ConventionData/ProjectPropertyGroups.cs b/TestStack.ConventionTests/ConventionData/ProjectPropertyGroups.cs deleted file mode 100644 index 5a5d32a..0000000 --- a/TestStack.ConventionTests/ConventionData/ProjectPropertyGroups.cs +++ /dev/null @@ -1,39 +0,0 @@ -namespace TestStack.ConventionTests.ConventionData -{ - using System.Collections.Generic; - using System.Linq; - using System.Xml.Linq; - using TestStack.ConventionTests.Internal; - - public class ProjectPropertyGroups : AbstractProjectData - { - public ProjectPropertyGroups(IProjectProvider projectProvider) - : base(projectProvider) - { - } - public ProjectPropertyGroups(string projectFileLocation) - : base(projectFileLocation) - { - } - - public ProjectPropertyGroup[] PropertyGroups - { - get - { - var project = GetProject(); - const string msbuild = "http://schemas.microsoft.com/developer/msbuild/2003"; - return project - .Root - .Elements(XName.Get("PropertyGroup", msbuild)) - .Select(propertyGroup => - new ProjectPropertyGroup(propertyGroup.Attribute("Condition") != null ? propertyGroup.Attribute("Condition").Value : null, - propertyGroup.Elements() - .Select(item => new KeyValuePair(item.Name.LocalName, item.Value))) - { - - }) - .ToArray(); - } - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/ConventionData/ProjectReference.cs b/TestStack.ConventionTests/ConventionData/ProjectReference.cs deleted file mode 100644 index 76901e3..0000000 --- a/TestStack.ConventionTests/ConventionData/ProjectReference.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace TestStack.ConventionTests.ConventionData -{ - public class ProjectReference - { - public string ReferencedPath { get; set; } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/ConventionData/ProjectReferences.cs b/TestStack.ConventionTests/ConventionData/ProjectReferences.cs deleted file mode 100644 index 8ef4e95..0000000 --- a/TestStack.ConventionTests/ConventionData/ProjectReferences.cs +++ /dev/null @@ -1,45 +0,0 @@ -namespace TestStack.ConventionTests.ConventionData -{ - using System.Collections.Generic; - using System.Linq; - using System.Xml.Linq; - using TestStack.ConventionTests.Internal; - - public class ProjectReferences : AbstractProjectData - { - public ProjectReferences(IProjectProvider projectProvider) - : base(projectProvider) - { - } - - public ProjectReferences(string projectFilePath) : base(projectFilePath) - { - } - - public ProjectReference[] References - { - get - { - var project = GetProject(); - return AllProjectReferences(project) - .Select(r => new ProjectReference - { - ReferencedPath = r - }) - .ToArray(); - } - } - - static IEnumerable AllProjectReferences(XDocument projDefinition) - { - XNamespace msbuild = "http://schemas.microsoft.com/developer/msbuild/2003"; - var references = projDefinition - .Element(msbuild + "Project") - .Elements(msbuild + "ItemGroup") - .Elements(msbuild + "Reference") - .Elements(msbuild + "HintPath") - .Select(refElem => refElem.Value); - return references; - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/ConventionData/StringExtensions.cs b/TestStack.ConventionTests/ConventionData/StringExtensions.cs deleted file mode 100644 index 84caff4..0000000 --- a/TestStack.ConventionTests/ConventionData/StringExtensions.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace TestStack.ConventionTests.ConventionData -{ - using System.Linq; - - public static class StringExtensions - { - public static bool IsNullOrWhiteSpace(this string value) - { - return value == null || value.All(char.IsWhiteSpace); - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/ConventionData/TypeExtensions.cs b/TestStack.ConventionTests/ConventionData/TypeExtensions.cs deleted file mode 100644 index aa70dfd..0000000 --- a/TestStack.ConventionTests/ConventionData/TypeExtensions.cs +++ /dev/null @@ -1,149 +0,0 @@ -namespace TestStack.ConventionTests.ConventionData -{ - using System; - using System.Collections.Generic; - using System.Linq; - using System.Reflection; - using System.Runtime.CompilerServices; - using System.Text; - using System.Text.RegularExpressions; - using TestStack.ConventionTests.Internal; - - public static class TypeExtensions - { - public static bool IsConcreteClass(this Type t) => - #if NewReflection - t.GetTypeInfo().IsClass && !t.GetTypeInfo().IsAbstract; - #else - t.IsClass && !t.IsAbstract; - #endif - - public static bool IsEnum(this Type type) - { - return typeof(Enum).IsAssignableFrom(type); - } - - public static bool IsStatic(this Type type) => - #if NewReflection - type.GetTypeInfo().IsClass && type.GetTypeInfo().IsSealed && type.GetTypeInfo().IsAbstract; - #else - type.IsClass && type.IsSealed && type.IsAbstract; - #endif - - public static bool IsCompilerGenerated(this Type type) => - #if NewReflection - type.IsDefined(typeof(CompilerGeneratedAttribute), false); - #else - type.IsDefined(typeof(CompilerGeneratedAttribute), true); - #endif - - public static bool HasDefaultConstructor(this Type type) - { - return type.GetConstructors(BindingFlags.Public | BindingFlags.Instance | BindingFlags.NonPublic | - BindingFlags.DeclaredOnly) - .Any(constructorInfo => constructorInfo.GetParameters().Length == 0 && !constructorInfo.IsPrivate); - } - - public static bool HasPublicDefaultConstructor(this Type type) - { - return type.GetConstructors(BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly) - .Any(constructorInfo => constructorInfo.GetParameters().Length == 0); - } - - public static bool AssignableTo(this Type type) - { - return typeof(TAssignableTo).IsAssignableFrom(type); - } - - public static IEnumerable NonVirtualMethods(this Type type) - { - var methodInfos = - type.GetMethods(BindingFlags.Public | BindingFlags.Instance | BindingFlags.NonPublic | - BindingFlags.DeclaredOnly); - return methodInfos.Where(methodInfo => - !methodInfo.IsPrivate && - methodInfo.DeclaringType == type && - !methodInfo.Name.StartsWith("<")) - .Where(methodInfo => methodInfo.Name != "Equals") - .Where(methodInfo => !methodInfo.IsVirtual || methodInfo.IsFinal); - } - - public static IEnumerable GetClosedInterfacesOf(this Type type, Type openGeneric) - { - #if NewReflection - return from i in type.GetInterfaces() - where i.GetTypeInfo().IsGenericType - let defn = i.GetGenericTypeDefinition() - where defn == openGeneric - select i; - #else - return from i in type.GetInterfaces() - where i.IsGenericType - let defn = i.GetGenericTypeDefinition() - where defn == openGeneric - select i; - #endif - } - - public static bool ClosesInterface(this Type t, Type openGeneric) - { - return t.GetClosedInterfacesOf(openGeneric).Any(); - } - - internal static string GetSentenceCaseName(this Type type) - { - return Regex.Replace(type.Name, "[a-z][A-Z]", m => m.Value[0] + " " + Char.ToLower(m.Value[1])); - } - - /// - /// Type.ToString does not read very well for generics, use this method to print in a nice way - /// - /// - /// - public static string ToTypeNameString(this Type type) - { - var nullableType = Nullable.GetUnderlyingType(type); - if (nullableType != null) - return nullableType.Name + "?"; - - - if (!type.GetTypeInfo().IsGenericType) - { - - } - switch (type.Name) - { - case "String": - return "string"; - case "Int32": - return "int"; - case "Decimal": - return "decimal"; - case "Object": - return "object"; - case "Void": - return "void"; - default: - { - return type.FullName.IsNullOrWhiteSpace() ? type.Name : type.FullName; - } - } - - // TODO: Unreachable code: Deliberate? - // var sb = new StringBuilder(type.Name.Substring(0, - // type.Name.IndexOf('`')) - // ); - // sb.Append('<'); - // var first = true; - // foreach (var t in type.GetGenericArguments()) - // { - // if (!first) - // sb.Append(','); - // sb.Append(t.ToTypeNameString()); - // first = false; - // } - // sb.Append('>'); - // return sb.ToString(); - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/ConventionData/Types.cs b/TestStack.ConventionTests/ConventionData/Types.cs deleted file mode 100644 index 550273a..0000000 --- a/TestStack.ConventionTests/ConventionData/Types.cs +++ /dev/null @@ -1,239 +0,0 @@ -namespace TestStack.ConventionTests.ConventionData -{ - using System; - using System.Collections; - using System.Collections.Generic; - using System.ComponentModel; - using System.Linq; - using System.Reflection; - using TestStack.ConventionTests.Internal; - - /// - /// ConventionTests data source of Types - /// - public class Types : IConventionData, IEnumerable - { - /// - /// Create an empty Types data source. - /// NOTE: There are static helper methods on this type. i.e Types.InAssemblyOf<Foo>() - /// - public Types(string descriptionOfTypes) : this(Enumerable.Empty(), descriptionOfTypes) - { - } - - /// - /// Create a Types data source. - /// NOTE: There are static helper methods on this type. i.e Types.InAssemblyOf<Foo>() - /// - public Types(IEnumerable types, string descriptionOfTypes) - { - TypesToVerify = types.ToArray(); - Description = descriptionOfTypes; - } - - public IEnumerable TypesToVerify { get; private set; } - - public string Description { get; private set; } - - public bool HasData - { - get { return TypesToVerify.Any(); } - } - - /// - /// Gets a filtered list of types from the assembly of the specified - /// type, , using the specified . - /// - /// A type residing in the assembly to get types from. - /// A function to test each type for a condition. - public static Types InAssemblyOf(Func predicate) - { - return InAssemblyOf(typeof(T), predicate); - } - - /// - /// Gets a filtered list of types from the assembly of the specified - /// type, , using the specified . - /// - /// A type residing in the assembly to get types from. - /// A function to test each type for a condition. - public static Types InAssemblyOf(Type type, Func predicate) - { - return InAssembly(type.GetAssembly(), predicate); - } - - /// - /// Gets a filtered list of types from the specified using the specified . - /// - /// The assembly to get types from. - /// A function to test each type for a condition. - public static Types InAssembly(Assembly assembly, Func predicate) - { - return InAssembly(assembly, GetAssemblyName(assembly), predicate); - } - - /// - /// Gets a filtered list of types from the assembly of the specified - /// type, , using the specified . - /// - /// A type residing in the assembly to get types from. - /// A description of the matched types. - /// A function to test each type for a condition. - public static Types InAssemblyOf(string descriptionOfTypes, Func predicate) - { - return InAssemblyOf(typeof(T), descriptionOfTypes, predicate); - } - - /// - /// Gets a filtered list of types from the assembly of the specified - /// type, , using the specified . - /// - /// A type residing in the assembly to get types from. - /// A description of the matched types. - /// A function to test each type for a condition. - public static Types InAssemblyOf(Type type, string descriptionOfTypes, Func predicate) - { - return InAssembly(type.GetAssembly(), descriptionOfTypes, predicate); - } - - /// - /// Gets a filtered list of types from the specified using the specified . - /// - /// The assembly to get types from. - /// A description of the matched types. - /// A function to test each type for a condition. - public static Types InAssembly(Assembly assembly, string descriptionOfTypes, Func predicate) - { - return InAssemblies(new[] { assembly }, descriptionOfTypes, predicate); - } - - /// - /// Gets an optionally filtered list of types from the specified using the specified . - /// - /// A list of assemblies to get types from. - /// A description of the matched types. - /// A function to test each type for a condition. - public static Types InAssemblies(IEnumerable assemblies, string descriptionOfTypes, Func predicate) - { - return InCollection(assemblies.SelectMany(x => x.GetTypes()).Where(predicate), descriptionOfTypes); - } - - /// - /// Gets an optionally filtered list of types from the assembly of the specified type, . - /// - /// A type residing in the assembly to get types from. - /// Compiler generated types will be excluded if set to true. - public static Types InAssemblyOf(bool excludeCompilerGeneratedTypes = true) - { - return InAssemblyOf(typeof(T), excludeCompilerGeneratedTypes); - } - - /// - /// Gets an optionally filtered list of types from the assembly of the specified type, . - /// - /// A type residing in the assembly to get types from. - /// Compiler generated types will be excluded if set to true. - public static Types InAssemblyOf(Type type, bool excludeCompilerGeneratedTypes = true) - { - return InAssembly(type.GetAssembly(), excludeCompilerGeneratedTypes); - } - - /// - /// Gets an optionally filtered list of types from the specified . - /// - /// The assembly to get types from. - /// Compiler generated types will be excluded if set to true. - public static Types InAssembly(Assembly assembly, bool excludeCompilerGeneratedTypes = true) - { - return InAssembly(assembly, GetAssemblyName(assembly), excludeCompilerGeneratedTypes); - } - - /// - /// Gets an optionally filtered list of types from the assembly of the specified - /// type, , using the specified filter. - /// - /// A type residing in the assembly to get types from. - /// A description of the matched types. - /// A function to filter or add matched types. - [EditorBrowsable(EditorBrowsableState.Never)] - [Obsolete("This method is obsolete and should not be used. Use the overload with a predicate instead.")] - public static Types InAssemblyOf(string descriptionOfTypes, Func, IEnumerable> types) - { - #if NewReflection - var typeInfoTypes = typeof(T).GetTypeInfo().Assembly.GetTypes(); - #else - var typeInfoTypes = typeof(T).Assembly.GetTypes(); - #endif - return InCollection(types(typeInfoTypes), descriptionOfTypes); - } - - /// - /// Gets an optionally filtered list of types from the assembly of the specified type, . - /// - /// A type residing in the assembly to get types from. - /// A description of the matched types. - /// Compiler generated types will be excluded if set to true. - public static Types InAssemblyOf(string descriptionOfTypes, bool excludeCompilerGeneratedTypes = true) - { - return InAssemblyOf(typeof(T), descriptionOfTypes, excludeCompilerGeneratedTypes); - } - - /// - /// Gets an optionally filtered list of types from the assembly of the specified type, . - /// - /// A type residing in the assembly to get types from. - /// A description of the matched types. - /// Compiler generated types will be excluded if set to true. - public static Types InAssemblyOf(Type type, string descriptionOfTypes, bool excludeCompilerGeneratedTypes = true) - { - return InAssembly(type.GetAssembly(), descriptionOfTypes, excludeCompilerGeneratedTypes); - } - - /// - /// Gets an optionally filtered list of types from the specified . - /// - /// The assembly to get types from. - /// A description of the matched types. - /// Compiler generated types will be excluded if set to true. - public static Types InAssembly(Assembly assembly, string descriptionOfTypes, bool excludeCompilerGeneratedTypes = true) - { - return InAssemblies(new[] { assembly }, descriptionOfTypes, excludeCompilerGeneratedTypes); - } - - /// - /// Creates a Types data source which includes all types from the specified assemblies - /// - /// A list of assemblies to get types from. - /// A description of the types. - /// Compiler generated types will be excluded if set to true. - public static Types InAssemblies(IEnumerable assemblies, string descriptionOfTypes, bool excludeCompilerGeneratedTypes = true) - { - return InAssemblies(assemblies, descriptionOfTypes, type => !(excludeCompilerGeneratedTypes && type.IsCompilerGenerated())); - } - - /// - /// Creates a Types data source from an existing list of types - /// - /// The types. - /// A description of the types. - public static Types InCollection(IEnumerable types, string descriptionOfTypes) - { - return new Types(types, descriptionOfTypes); - } - - private static string GetAssemblyName(Assembly assembly) - { - return assembly.GetName().Name; - } - - public IEnumerator GetEnumerator() - { - return TypesToVerify.GetEnumerator(); - } - - IEnumerator IEnumerable.GetEnumerator() - { - return GetEnumerator(); - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/ConventionFailedException.cs b/TestStack.ConventionTests/ConventionFailedException.cs deleted file mode 100644 index c64ba45..0000000 --- a/TestStack.ConventionTests/ConventionFailedException.cs +++ /dev/null @@ -1,25 +0,0 @@ -namespace TestStack.ConventionTests -{ - using System; - using System.Runtime.Serialization; - - public class ConventionFailedException : Exception - { - public ConventionFailedException() - { - } - - public ConventionFailedException(string message) : base(message) - { - } - - public ConventionFailedException(string message, Exception inner) : base(message, inner) - { - } - - protected ConventionFailedException(SerializationInfo info, StreamingContext context) - : base(info, context) - { - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/ConventionReporterAttribute.cs b/TestStack.ConventionTests/ConventionReporterAttribute.cs deleted file mode 100644 index 3e35a9a..0000000 --- a/TestStack.ConventionTests/ConventionReporterAttribute.cs +++ /dev/null @@ -1,21 +0,0 @@ -namespace TestStack.ConventionTests -{ - using System; - #if NewReflection - using System.Reflection; - #endif - using TestStack.ConventionTests.Reporting; - - [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] - public class ConventionReporterAttribute : Attribute - { - public ConventionReporterAttribute(Type reporterType) - { - ReporterType = reporterType; - if (!typeof(IResultsProcessor).IsAssignableFrom(reporterType)) - throw new ArgumentException("Reporters must inherit from IResultsProcessor", nameof(reporterType)); - } - - public Type ReporterType { get; } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Conventions/AllClassesHaveDefaultConstructor.cs b/TestStack.ConventionTests/Conventions/AllClassesHaveDefaultConstructor.cs deleted file mode 100644 index dd2326f..0000000 --- a/TestStack.ConventionTests/Conventions/AllClassesHaveDefaultConstructor.cs +++ /dev/null @@ -1,19 +0,0 @@ -namespace TestStack.ConventionTests.Conventions -{ - using System.Linq; - using TestStack.ConventionTests.ConventionData; - - public class AllClassesHaveDefaultConstructor : IConvention - { - public void Execute(Types data, IConventionResultContext result) - { - result.Is("Types must have a default constructor", - data.TypesToVerify.Where(t => t.HasDefaultConstructor() == false)); - } - - public string ConventionReason - { - get { return "This convention is useful when classes need to be proxied (nHibernate/Entity Framework entities), which need a public or protected constructor"; } - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Conventions/AllMethodsAreVirtual.cs b/TestStack.ConventionTests/Conventions/AllMethodsAreVirtual.cs deleted file mode 100644 index 69c83d9..0000000 --- a/TestStack.ConventionTests/Conventions/AllMethodsAreVirtual.cs +++ /dev/null @@ -1,18 +0,0 @@ -namespace TestStack.ConventionTests.Conventions -{ - using System.Linq; - using TestStack.ConventionTests.ConventionData; - - public class AllMethodsAreVirtual : IConvention - { - public void Execute(Types data, IConventionResultContext result) - { - result.Is("Methods must be virtual", data.TypesToVerify.SelectMany(t => t.NonVirtualMethods())); - } - - public string ConventionReason - { - get { return "This convention is useful when classes need to be proxied (nHibernate entities), which need members to be virtual"; } - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Conventions/ApiControllerNamingAndBaseClassConvention.cs b/TestStack.ConventionTests/Conventions/ApiControllerNamingAndBaseClassConvention.cs deleted file mode 100644 index 3a74806..0000000 --- a/TestStack.ConventionTests/Conventions/ApiControllerNamingAndBaseClassConvention.cs +++ /dev/null @@ -1,20 +0,0 @@ -namespace TestStack.ConventionTests.Conventions -{ - using System; - using System.Collections.Generic; - using System.Linq; - using TestStack.ConventionTests.ConventionData; - - public class ApiControllerNamingAndBaseClassConvention : MvcControllerNameAndBaseClassConvention - { - protected override IEnumerable GetControllers(Types data) - { - return data.TypesToVerify.Where(IsWebApiController); - } - - protected override string GetControllerTypeName() - { - return "Api Controller"; - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Conventions/ClassTypeHasSpecificNamespace.cs b/TestStack.ConventionTests/Conventions/ClassTypeHasSpecificNamespace.cs deleted file mode 100644 index 4ce4211..0000000 --- a/TestStack.ConventionTests/Conventions/ClassTypeHasSpecificNamespace.cs +++ /dev/null @@ -1,55 +0,0 @@ -namespace TestStack.ConventionTests.Conventions -{ - using System; - using System.Linq; - using TestStack.ConventionTests.ConventionData; - - /// - /// This convention allows you to enforce a particular type of class is under a namespace, for instance. - /// - /// Dto must be under App.Contracts.Dtos - /// Domain Objects must be under App.Domain - /// Event Handlers must be under App.Handlers - /// - /// This is a Symmetric convention, and will verify all of a Class Type lives in the namespace, but also that only that class type is in that namespace - /// - public class ClassTypeHasSpecificNamespace : IConvention - { - readonly Func classIsApplicable; - readonly string namespaceToCheck; - readonly string classType; - - /// - /// Ctor - /// - /// Predicate to verify if the class is the right type - /// - /// The class type. ie, Dto, Domain Object, Event Handler - public ClassTypeHasSpecificNamespace(Func classIsApplicable, string namespaceToCheck, string classType) - { - this.classIsApplicable = classIsApplicable; - this.namespaceToCheck = namespaceToCheck; - this.classType = classType; - } - - public void Execute(Types data, IConventionResultContext result) - { - result.IsSymmetric( - string.Format("{0}s must be under the '{1}' namespace", classType, namespaceToCheck), - string.Format("Non-{0}s must not be under the '{1}' namespace", classType, namespaceToCheck), - classIsApplicable, - TypeLivesInSpecifiedNamespace, - data.TypesToVerify.Where(t => !t.IsCompilerGenerated())); - } - - public string ConventionReason - { - get { return "To simplify project structure and allow developers to know where this type of class should live in the project"; } - } - - bool TypeLivesInSpecifiedNamespace(Type t) - { - return t.Namespace == null || (t.Namespace.StartsWith(namespaceToCheck + ".") || t.Namespace == namespaceToCheck); - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Conventions/ConfigurationHasSpecificValue.cs b/TestStack.ConventionTests/Conventions/ConfigurationHasSpecificValue.cs deleted file mode 100644 index 91603d4..0000000 --- a/TestStack.ConventionTests/Conventions/ConfigurationHasSpecificValue.cs +++ /dev/null @@ -1,71 +0,0 @@ -namespace TestStack.ConventionTests.Conventions -{ - using System; - using System.Collections.Generic; - using System.Linq; - using TestStack.ConventionTests.ConventionData; - - public enum ConfigurationType - { - Unknown, - All, - Global, - Release, - Debug - } - - public class ConfigurationHasSpecificValue : IConvention - { - public ConfigurationType Type { get; set; } - public string Property { get; set; } - public string Value { get; set; } - - public ConfigurationHasSpecificValue(ConfigurationType type, string property, string value) - { - Type = type; - Property = property; - Value = value; - } - - - public void Execute(ProjectPropertyGroups data, IConventionResultContext result) - { - foreach (var group in data.PropertyGroups.Where(Match)) - { - if (group[Property] == null) - { - continue; - } - - result.Is(string.Format("{0} property in {1} must have a value of {2}", this.Property, group.Name, this.Value), - group[Property].Equals(this.Value) ? new string[]{} : new[] {string.Format("{0}:{1}", this.Property, group[Property])}); - } - } - - private bool Match(ProjectPropertyGroup group) - { - switch (this.Type) - { - case ConfigurationType.All: - return true; - case ConfigurationType.Global: - return group.Global; - case ConfigurationType.Release: - return group.Release; - case ConfigurationType.Debug: - return group.Debug; - default: - throw new ArgumentOutOfRangeException(); - } - } - - public string ConventionReason - { - get - { - return - "Make sure projects have a specific value defined in all release configuration sections"; - } - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Conventions/ConventionSourceInvalidException.cs b/TestStack.ConventionTests/Conventions/ConventionSourceInvalidException.cs deleted file mode 100644 index 09df362..0000000 --- a/TestStack.ConventionTests/Conventions/ConventionSourceInvalidException.cs +++ /dev/null @@ -1,24 +0,0 @@ -namespace TestStack.ConventionTests.Conventions -{ - using System; - #if Serializable - using System.Runtime.Serialization; - #endif - - #if Serializable - [Serializable] - #endif - public class ConventionSourceInvalidException : Exception - { - public ConventionSourceInvalidException() { } - public ConventionSourceInvalidException(string message) : base(message) { } - public ConventionSourceInvalidException(string message, Exception inner) : base(message, inner) { } - - #if Serializable - protected ConventionSourceInvalidException( - SerializationInfo info, - StreamingContext context) - : base(info, context) { } - #endif - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Conventions/FilesAreEmbeddedResources.cs b/TestStack.ConventionTests/Conventions/FilesAreEmbeddedResources.cs deleted file mode 100644 index 451ed95..0000000 --- a/TestStack.ConventionTests/Conventions/FilesAreEmbeddedResources.cs +++ /dev/null @@ -1,24 +0,0 @@ -namespace TestStack.ConventionTests.Conventions -{ - using System.Linq; - using TestStack.ConventionTests.ConventionData; - - public class FilesAreEmbeddedResources : IConvention - { - public FilesAreEmbeddedResources(string fileExtension) - { - FileExtension = fileExtension; - } - - public string FileExtension { get; private set; } - - public void Execute(ProjectFileItems data, IConventionResultContext result) - { - result.Is( - string.Format("{0} Files must be embedded resources", FileExtension), - data.Items.Where(s => s.FilePath.EndsWith(FileExtension) && s.ReferenceType != "EmbeddedResource")); - } - - public string ConventionReason { get { return "Many files are added as 'Content' to visual studio projects, this convention enforces files with an extension are correctly set as Embedded Resources"; } } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Conventions/MvcControllerNameAndBaseClassConvention.cs b/TestStack.ConventionTests/Conventions/MvcControllerNameAndBaseClassConvention.cs deleted file mode 100644 index 128cc54..0000000 --- a/TestStack.ConventionTests/Conventions/MvcControllerNameAndBaseClassConvention.cs +++ /dev/null @@ -1,57 +0,0 @@ -namespace TestStack.ConventionTests.Conventions -{ - using System; - using System.Collections.Generic; - using System.Linq; - using System.Reflection; - using TestStack.ConventionTests.ConventionData; - using TestStack.ConventionTests.Internal; - - public class MvcControllerNameAndBaseClassConvention : IConvention - { - public void Execute(Types data, IConventionResultContext result) - { - var controllers = GetControllers(data); - var typesWhichDoNotEndInController = controllers.Where(c => !c.Name.EndsWith("Controller")); - - var typesWhichEndInController = data.TypesToVerify.Where(t => t.Name.EndsWith("Controller")); - var controllersWhichDoNotInheritFromController = - typesWhichEndInController.Where(t => !IsMvcController(t) && !IsWebApiController(t)); - - result.IsSymmetric( - GetControllerTypeName() + "s must be suffixed with Controller", typesWhichDoNotEndInController, - "Types named *Controller must inherit from ApiController or Controller", - controllersWhichDoNotInheritFromController); - } - - public string ConventionReason { get { return "This convention detects when Mvc Controllers are likely misconfigured and do not follow Mvc conventions"; } } - - protected virtual string GetControllerTypeName() - { - return "Mvc Controller"; - } - - protected virtual IEnumerable GetControllers(Types data) - { - return data.TypesToVerify.Where(IsMvcController); - } - - static bool IsMvcController(Type arg) - { - var isController = arg.FullName == "System.Web.Mvc.Controller"; - var baseType = arg.GetBaseType(); - if (baseType == null) - return isController; - return isController || IsMvcController(baseType); - } - - protected static bool IsWebApiController(Type arg) - { - var isController = arg.FullName == "System.Web.Http.ApiController"; - var baseType = arg.GetBaseType(); - if (baseType == null) - return isController; - return isController || IsWebApiController(baseType); - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Conventions/ProjectDoesNotReferenceDllsFromBinOrObjDirectories.cs b/TestStack.ConventionTests/Conventions/ProjectDoesNotReferenceDllsFromBinOrObjDirectories.cs deleted file mode 100644 index 8062db9..0000000 --- a/TestStack.ConventionTests/Conventions/ProjectDoesNotReferenceDllsFromBinOrObjDirectories.cs +++ /dev/null @@ -1,24 +0,0 @@ -namespace TestStack.ConventionTests.Conventions -{ - using System.Linq; - using System.Text.RegularExpressions; - using TestStack.ConventionTests.ConventionData; - - public class ProjectDoesNotReferenceDllsFromBinOrObjDirectories : IConvention - { - const string AssemblyReferencingObjRegex = @"^(?.*?(obj|bin).*?)$"; - - public void Execute(ProjectReferences data, IConventionResultContext result) - { - result.Is("Project must not reference dlls from bin or obj directories", - data.References.Where(IsBinOrObjReference)); - } - - public string ConventionReason { get { return "Referencing assemblies from the bin/obj folder is normally due to a broken reference, this convention detects these issues"; } } - - static bool IsBinOrObjReference(ProjectReference reference) - { - return Regex.IsMatch(reference.ReferencedPath, AssemblyReferencingObjRegex, RegexOptions.IgnoreCase); - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Conventions/ViewModelShouldInheritFromINotifyPropertyChanged.cs b/TestStack.ConventionTests/Conventions/ViewModelShouldInheritFromINotifyPropertyChanged.cs deleted file mode 100644 index 62d6e1a..0000000 --- a/TestStack.ConventionTests/Conventions/ViewModelShouldInheritFromINotifyPropertyChanged.cs +++ /dev/null @@ -1,30 +0,0 @@ -namespace TestStack.ConventionTests.Conventions -{ - using System; - using System.ComponentModel; - using System.Linq; - using System.Reflection; - using TestStack.ConventionTests.ConventionData; - - public class ViewModelShouldInheritFromINotifyPropertyChanged : IConvention - { - readonly string viewModelSuffix; - - public ViewModelShouldInheritFromINotifyPropertyChanged(string viewModelSuffix = "ViewModel") - { - this.viewModelSuffix = viewModelSuffix; - } - - public void Execute(Types data, IConventionResultContext result) - { - var notifyPropertyChanged = typeof(INotifyPropertyChanged); - var failingData = data.TypesToVerify.Where(t => t.Name.EndsWith(viewModelSuffix, StringComparison.OrdinalIgnoreCase)) - .Where(t => !notifyPropertyChanged.GetTypeInfo().IsAssignableFrom(t.GetTypeInfo())); - - result.Is($"ViewModels (types named *{viewModelSuffix}) should inherit from INotifyPropertyChanged", - failingData); - } - - public string ConventionReason => "In different scenarios, WPF can hold onto ViewModels if they do not inherit from INotifyPropertyChanged"; - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/IConvention.cs b/TestStack.ConventionTests/IConvention.cs deleted file mode 100644 index 8086745..0000000 --- a/TestStack.ConventionTests/IConvention.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace TestStack.ConventionTests -{ - public interface IConvention where T : IConventionData - { - void Execute(T data, IConventionResultContext result); - string ConventionReason { get; } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/IConventionData.cs b/TestStack.ConventionTests/IConventionData.cs deleted file mode 100644 index 290b866..0000000 --- a/TestStack.ConventionTests/IConventionData.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace TestStack.ConventionTests -{ - public interface IConventionData - { - string Description { get; } - bool HasData { get; } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/IConventionResultContext.cs b/TestStack.ConventionTests/IConventionResultContext.cs deleted file mode 100644 index bd5a19d..0000000 --- a/TestStack.ConventionTests/IConventionResultContext.cs +++ /dev/null @@ -1,46 +0,0 @@ -namespace TestStack.ConventionTests -{ - using System; - using System.Collections.Generic; - - public interface IConventionResultContext - { - void Is(string resultTitle, IEnumerable failingData); - - /// - /// A symmetric convention is a convention which also can be applied in reverse. For example - /// All dto's live in Project.Dto namespace AND Only dto's live in Project.Dto - /// This means if a DTO is outside of Project.Dto, the test will fail, - /// and if a non-dto is in Project.Dto the test will also fail - /// - /// The data type the convention is applied to - /// Title of the convention, i.e Dto's must live in Project.Dto namespace - /// Data failing to conform to the convention - /// The inverse scenario title, i.e Non-dtos must not live inside Project.Dto namespace - /// Data failing to conform to the inverse of the convention - void IsSymmetric( - string firstSetFailureTitle, IEnumerable firstSetFailureData, - string secondSetFailureTitle, IEnumerable secondSetFailureData); - - /// - /// A symmetric convention is a convention which also can be applied in reverse. For example - /// All dto's live in Project.Dto namespace AND Only dto's live in Project.Dto - /// This means if a DTO is outside of Project.Dto, the test will fail, - /// and if a non-dto is in Project.Dto the test will also fail - /// - /// This overload allows you to work with sets, see .... - /// - /// The data type the convention is applied to - /// Title of the convention, i.e Dto's must live in Project.Dto namespace - /// The inverse scenario title, i.e Non-dtos must not live inside Project.Dto namespace - /// All data, for dto example, all types in the project, not just dto's - /// Predicate defining data which is in the first set - /// Predicate defining data which is in the second set - void IsSymmetric( - string firstSetFailureTitle, - string secondSetFailureTitle, - Func isPartOfFirstSet, - Func isPartOfSecondSet, - IEnumerable allData); - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Internal/AssemblyExtensions.cs b/TestStack.ConventionTests/Internal/AssemblyExtensions.cs deleted file mode 100644 index 6b181e5..0000000 --- a/TestStack.ConventionTests/Internal/AssemblyExtensions.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; -using System.Reflection; - -namespace TestStack.ConventionTests.Internal -{ - internal static class AssemblyExtensions { - - public static string TryGetExecutingAssembly(this Assembly assembly) => - #if NewReflection - Assembly.GetEntryAssembly().CodeBase; - #else - Assembly.GetExecutingAssembly().CodeBase; - #endif - - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Internal/ConventionContext.cs b/TestStack.ConventionTests/Internal/ConventionContext.cs deleted file mode 100644 index c628d4a..0000000 --- a/TestStack.ConventionTests/Internal/ConventionContext.cs +++ /dev/null @@ -1,121 +0,0 @@ -namespace TestStack.ConventionTests.Internal -{ - using System; - using System.Collections.Generic; - using System.Linq; - using TestStack.ConventionTests.Conventions; - using TestStack.ConventionTests.Reporting; - - public class ConventionContext : IConventionResultContext, IConventionFormatContext - { - readonly string dataDescription; - readonly IList formatters; - readonly IEnumerable processors; - readonly ITestResultProcessor testResultProcessor; - readonly IList results = new List(); - string conventionReason; - bool resultSet; - - public ConventionContext(string dataDescription, IList formatters, - IEnumerable processors, ITestResultProcessor testResultProcessor) - { - this.formatters = formatters; - this.processors = processors; - this.testResultProcessor = testResultProcessor; - this.dataDescription = dataDescription; - } - - public ConventionResult[] ConventionResults - { - get { return results.ToArray(); } - } - - string IConventionFormatContext.FormatDataAsHtml(object data) - { - var formatter = GetReportDataFormatterFor(data); - return formatter.FormatHtml(data); - } - - ITestResultProcessor IConventionFormatContext.TestResultProcessor - { - get { return testResultProcessor; } - } - - string IConventionFormatContext.FormatDataAsString(object data) - { - var formatter = GetReportDataFormatterFor(data); - - return formatter.FormatString(data); - } - - IReportDataFormatter GetReportDataFormatterFor(object data) - { - IReportDataFormatter formatter = formatters.FirstOrDefault(f => f.CanFormat(data)); - if (formatter == null) - { - throw new NoDataFormatterFoundException( - data.GetType().Name + " has no formatter, add one with `Convention.Formatters.Add(new MyDataFormatter());`"); - } - return formatter; - } - - void IConventionResultContext.Is(string resultTitle, IEnumerable failingData) - { - resultSet = true; - // ReSharper disable PossibleMultipleEnumeration - results.Add(new ConventionResult( - typeof (TResult), - resultTitle, - conventionReason, - dataDescription, - failingData.ToObjectArray())); - } - - void IConventionResultContext.IsSymmetric( - string firstSetFailureTitle, IEnumerable firstSetFailureData, - string secondSetFailureTitle, IEnumerable secondSetFailureData) - { - resultSet = true; - results.Add(new ConventionResult( - typeof (TResult), firstSetFailureTitle, - conventionReason, dataDescription, - firstSetFailureData.ToObjectArray())); - results.Add(new ConventionResult( - typeof (TResult), secondSetFailureTitle, - conventionReason, dataDescription, - secondSetFailureData.ToObjectArray())); - } - - void IConventionResultContext.IsSymmetric( - string firstSetFailureTitle, - string secondSetFailureTitle, - Func isPartOfFirstSet, - Func isPartOfSecondSet, - IEnumerable allData) - { - IEnumerable firstSetFailingData = allData.Where(isPartOfFirstSet).Unless(isPartOfSecondSet); - IEnumerable secondSetFailingData = allData.Where(isPartOfSecondSet).Unless(isPartOfFirstSet); - - (this as IConventionResultContext).IsSymmetric( - firstSetFailureTitle, firstSetFailingData, - secondSetFailureTitle, secondSetFailingData); - } - - public void Execute(IConvention convention, TDataSource data) - where TDataSource : IConventionData - { - conventionReason = convention.ConventionReason; - if (!data.HasData) - throw new ConventionSourceInvalidException(String.Format("{0} has no data", data.Description)); - convention.Execute(data, this); - - if (!resultSet) - throw new ResultNotSetException("{0} did not set a result, conventions must always set a result"); - - foreach (IResultsProcessor resultsProcessor in processors) - { - resultsProcessor.Process(this, ConventionResults); - } - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Internal/ConventionResult.cs b/TestStack.ConventionTests/Internal/ConventionResult.cs deleted file mode 100644 index 3ade43e..0000000 --- a/TestStack.ConventionTests/Internal/ConventionResult.cs +++ /dev/null @@ -1,68 +0,0 @@ -namespace TestStack.ConventionTests.Internal -{ - using System; - using System.Linq; - - public class ConventionResult - { - public ConventionResult(Type dataType, string conventionTitle, string conventionReason, string dataDescription, object[] data) - { - ConventionReason = conventionReason; - DataType = dataType; - ConventionTitle = conventionTitle; - DataDescription = dataDescription; - Data = data; - } - - public Type DataType { get; private set; } - public string ConventionTitle { get; private set; } - public string ConventionReason { get; private set; } - public string DataDescription { get; private set; } - public object[] Data { get; private set; } - - public bool HasData - { - get { return Data.Any(); } - } - - - protected bool Equals(ConventionResult other) - { - return DataType == other.DataType && string.Equals(ConventionTitle, other.ConventionTitle) && string.Equals(DataDescription, other.DataDescription); - } - - public override bool Equals(object obj) - { - if (ReferenceEquals(null, obj)) return false; - if (ReferenceEquals(this, obj)) return true; - if (obj.GetType() != GetType()) return false; - return Equals((ConventionResult) obj); - } - - public override int GetHashCode() - { - unchecked - { - var hashCode = (DataType != null ? DataType.GetHashCode() : 0); - hashCode = (hashCode*397) ^ (ConventionTitle != null ? ConventionTitle.GetHashCode() : 0); - hashCode = (hashCode*397) ^ (DataDescription != null ? DataDescription.GetHashCode() : 0); - return hashCode; - } - } - - public static bool operator ==(ConventionResult left, ConventionResult right) - { - return Equals(left, right); - } - - public static bool operator !=(ConventionResult left, ConventionResult right) - { - return !Equals(left, right); - } - - public override string ToString() - { - return string.Format("DataType: {0}, ConventionTitle: {1}, DataDescription: {2}, HasData: {3}", DataType, ConventionTitle, DataDescription, HasData); - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Internal/IConventionFormatContext.cs b/TestStack.ConventionTests/Internal/IConventionFormatContext.cs deleted file mode 100644 index 6393abf..0000000 --- a/TestStack.ConventionTests/Internal/IConventionFormatContext.cs +++ /dev/null @@ -1,11 +0,0 @@ -namespace TestStack.ConventionTests.Internal -{ - using TestStack.ConventionTests.Reporting; - - public interface IConventionFormatContext - { - string FormatDataAsString(object data); - string FormatDataAsHtml(object data); - ITestResultProcessor TestResultProcessor { get; } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Internal/IProjectProvider.cs b/TestStack.ConventionTests/Internal/IProjectProvider.cs deleted file mode 100644 index c4eb1c9..0000000 --- a/TestStack.ConventionTests/Internal/IProjectProvider.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace TestStack.ConventionTests.Internal -{ - using System.Xml.Linq; - - public interface IProjectProvider - { - XDocument LoadProjectDocument(); - string GetName(); - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Internal/LinqExtensions.cs b/TestStack.ConventionTests/Internal/LinqExtensions.cs deleted file mode 100644 index a362618..0000000 --- a/TestStack.ConventionTests/Internal/LinqExtensions.cs +++ /dev/null @@ -1,29 +0,0 @@ -namespace TestStack.ConventionTests.Internal -{ - using System; - using System.Collections.Generic; - using System.Linq; - - public static class LinqExtensions - { - public static bool None(this IEnumerable enumerable) - { - return !enumerable.Any(); - } - - public static bool None(this IEnumerable enumerable, Func predicate) - { - return !enumerable.Any(predicate); - } - - public static IEnumerable Unless(this IEnumerable enumerable, Func predicate) - { - return enumerable.Where(i => predicate(i) == false); - } - - public static object[] ToObjectArray(this IEnumerable enumerable) - { - return enumerable.Select(x => (object) x).ToArray(); - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Internal/NoDataFormatterFoundException.cs b/TestStack.ConventionTests/Internal/NoDataFormatterFoundException.cs deleted file mode 100644 index bc400f4..0000000 --- a/TestStack.ConventionTests/Internal/NoDataFormatterFoundException.cs +++ /dev/null @@ -1,33 +0,0 @@ -namespace TestStack.ConventionTests.Internal -{ - using System; - #if Serializable - using System.Runtime.Serialization; - #endif - - #if Serializable - [System.Serializable] - #endif - public class NoDataFormatterFoundException : Exception - { - public NoDataFormatterFoundException() - { - } - - public NoDataFormatterFoundException(string message) : base(message) - { - } - - public NoDataFormatterFoundException(string message, Exception inner) : base(message, inner) - { - } - - #if Serializable - protected NoDataFormatterFoundException( - SerializationInfo info, - StreamingContext context) : base(info, context) - { - } - #endif - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Internal/PredicateHelpers.cs b/TestStack.ConventionTests/Internal/PredicateHelpers.cs deleted file mode 100644 index 783e9db..0000000 --- a/TestStack.ConventionTests/Internal/PredicateHelpers.cs +++ /dev/null @@ -1,17 +0,0 @@ -namespace TestStack.ConventionTests.Internal -{ - using System; - - public static class PredicateHelpers - { - public static Func All() - { - return _ => true; - } - - public static Func None() - { - return _ => false; - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Internal/ProjectFileFromDiskProvider.cs b/TestStack.ConventionTests/Internal/ProjectFileFromDiskProvider.cs deleted file mode 100644 index 6ccfd86..0000000 --- a/TestStack.ConventionTests/Internal/ProjectFileFromDiskProvider.cs +++ /dev/null @@ -1,25 +0,0 @@ -namespace TestStack.ConventionTests.Internal -{ - using System.IO; - using System.Xml.Linq; - - public class ProjectFileFromDiskProvider : IProjectProvider - { - readonly string projectFilePath; - - public ProjectFileFromDiskProvider(string projectFilePath) - { - this.projectFilePath = projectFilePath; - } - - public XDocument LoadProjectDocument() - { - return XDocument.Load(projectFilePath); - } - - public string GetName() - { - return Path.GetFileNameWithoutExtension(projectFilePath); - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Internal/ReflectionExtensions.cs b/TestStack.ConventionTests/Internal/ReflectionExtensions.cs deleted file mode 100644 index f1cd31f..0000000 --- a/TestStack.ConventionTests/Internal/ReflectionExtensions.cs +++ /dev/null @@ -1,47 +0,0 @@ -namespace TestStack.ConventionTests.Internal -{ - using System; - using System.Collections.Generic; - using System.IO; - using System.Linq; - using System.Reflection; - - public static class ReflectionExtensions - { - public static Assembly TryLoadAssembly(this AssemblyName name) - { - try - { - return Assembly.Load(name); - } - catch (FileNotFoundException) - { - return null; - } - catch (FileLoadException) - { - return null; - } - catch (BadImageFormatException) - { - return null; - } - catch (ReflectionTypeLoadException) - { - return null; - } - } - - public static Type[] SafeGetTypes(this Assembly assembly) - { - try - { - return assembly.GetTypes(); - } - catch (ReflectionTypeLoadException ex) - { - return Array.FindAll(ex.Types, x => x != null); - } - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Internal/ResultNotSetException.cs b/TestStack.ConventionTests/Internal/ResultNotSetException.cs deleted file mode 100644 index 5a76cac..0000000 --- a/TestStack.ConventionTests/Internal/ResultNotSetException.cs +++ /dev/null @@ -1,25 +0,0 @@ -namespace TestStack.ConventionTests.Internal -{ - using System; - #if Serializable - using System.Runtime.Serialization; - #endif - - #if Serializable - [System.Serializable] - #endif - public class ResultNotSetException : Exception - { - public ResultNotSetException() { } - public ResultNotSetException(string message) : base(message) { } - public ResultNotSetException(string message, Exception inner) : base(message, inner) { } - #if Serializable - protected ResultNotSetException( - SerializationInfo info, - StreamingContext context) - : base(info, context) - { - } - #endif - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Internal/TypeExtensions.cs b/TestStack.ConventionTests/Internal/TypeExtensions.cs deleted file mode 100644 index a70b421..0000000 --- a/TestStack.ConventionTests/Internal/TypeExtensions.cs +++ /dev/null @@ -1,36 +0,0 @@ -namespace TestStack.ConventionTests.Internal -{ - using System; - using System.Reflection; - - internal static class TypeExtensions - { - public static bool IsGenericType(this Type type) => - #if NewReflection - type.GetTypeInfo().IsGenericType; - #else - type.IsGenericType; - #endif - - public static bool IsDefined(this Type type, Type attributeType, bool inherit) => - #if NewReflection - type.GetTypeInfo().IsDefined(attributeType, inherit); - #else - type.IsDefined(attributeType, true); - #endif - - public static Assembly GetAssembly(this Type type) => - #if NewReflection - type.GetTypeInfo().Assembly; - #else - type.Assembly; - #endif - - public static Type GetBaseType(this Type type) => - #if NewReflection - type.GetTypeInfo().BaseType; - #else - type.BaseType; - #endif - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Properties/AssemblyInfo.cs b/TestStack.ConventionTests/Properties/AssemblyInfo.cs deleted file mode 100644 index ed3db64..0000000 --- a/TestStack.ConventionTests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,26 +0,0 @@ -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -using System.Reflection; -using System.Runtime.InteropServices; - -[assembly: AssemblyTitle("TestStack.ConventionTests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("TestStack.ConventionTests")] -[assembly: AssemblyCopyright("Copyright © 2020")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -[assembly: AssemblyVersion("0.0.0.0")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. - -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM - -[assembly: Guid("ae7bce97-3d40-4d7c-932f-37f1c7b041a2")] diff --git a/TestStack.ConventionTests/Reporting/AggregatedConventionResultsReporter.cs b/TestStack.ConventionTests/Reporting/AggregatedConventionResultsReporter.cs deleted file mode 100644 index b6499d8..0000000 --- a/TestStack.ConventionTests/Reporting/AggregatedConventionResultsReporter.cs +++ /dev/null @@ -1,52 +0,0 @@ -namespace TestStack.ConventionTests.Reporting -{ - using System; - using System.Collections.Generic; - using System.IO; - using System.Linq; - using System.Reflection; - using TestStack.ConventionTests.Internal; - - /// - /// Aggregates all previous results - /// - public abstract class AggregatedConventionResultsReporter : IResultsProcessor - { - static readonly List Reports = new List(); - readonly string output; - - protected AggregatedConventionResultsReporter(string outputFilename) - { - output = Path.Combine(AssemblyDirectory, outputFilename); - } - - static string AssemblyDirectory - { - get - { - // http://stackoverflow.com/questions/52797/c-how-do-i-get-the-path-of-the-assembly-the-code-is-in#answer-283917 - - #if NewReflection - var codeBase = Assembly.GetEntryAssembly().CodeBase; - #else - var codeBase = Assembly.GetExecutingAssembly().CodeBase; - #endif - - var uri = new UriBuilder(codeBase); - var path = Uri.UnescapeDataString(uri.Path); - return Path.GetDirectoryName(path); - } - } - - public IEnumerable AggregatedReports { get { return Reports; } } - - public void Process(IConventionFormatContext context, params ConventionResult[] results) - { - Reports.AddRange(results.Except(Reports)); - var outputContent = Process(context); - File.WriteAllText(output, outputContent); - } - - protected abstract string Process(IConventionFormatContext context); - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Reporting/CaptureFailuresProcessor.cs b/TestStack.ConventionTests/Reporting/CaptureFailuresProcessor.cs deleted file mode 100644 index 9b6bd15..0000000 --- a/TestStack.ConventionTests/Reporting/CaptureFailuresProcessor.cs +++ /dev/null @@ -1,32 +0,0 @@ -namespace TestStack.ConventionTests.Reporting -{ - using System; - using System.Collections.Generic; - using System.Linq; - using TestStack.ConventionTests.Internal; - - public class CaptureFailuresProcessor : IResultsProcessor - { - public void Process(IConventionFormatContext context, params ConventionResult[] results) - { - var failedApprovals = results.Select(result => context.TestResultProcessor.Process(context, result)).ToList(); - switch (failedApprovals.Count) - { - case 0: - Failures = string.Empty; - break; - case 1: - Failures = failedApprovals[0]; - break; - default: - Failures = string.Join(Environment.NewLine, failedApprovals.ToArray()); - break; - } - } - - /// - /// The captured failures - /// - public string Failures { get; private set; } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Reporting/ConventionReportTextRenderer.cs b/TestStack.ConventionTests/Reporting/ConventionReportTextRenderer.cs deleted file mode 100644 index d7c5994..0000000 --- a/TestStack.ConventionTests/Reporting/ConventionReportTextRenderer.cs +++ /dev/null @@ -1,32 +0,0 @@ -namespace TestStack.ConventionTests.Reporting -{ - using System.Text; - using TestStack.ConventionTests.Internal; - - public class ConventionReportTextRenderer : ITestResultProcessor - { - public string RecommendedFileExtension { get { return "txt"; } } - - public string Process(IConventionFormatContext context, ConventionResult result) - { - var description = new StringBuilder(); - var title = string.Format("'{0}' for '{1}'", result.ConventionTitle, result.DataDescription); - description.AppendLine(title); - description.AppendLine(string.Empty.PadRight(title.Length, '-')); - description.AppendLine(); - - RenderItems(result, description, context); - - return description.ToString(); - } - - static void RenderItems(ConventionResult resultInfo, StringBuilder stringBuilder, IConventionFormatContext context) - { - foreach (var conventionFailure in resultInfo.Data) - { - stringBuilder.Append("\t"); - stringBuilder.AppendLine(context.FormatDataAsString(conventionFailure)); - } - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Reporting/ConventionReportTraceRenderer.cs b/TestStack.ConventionTests/Reporting/ConventionReportTraceRenderer.cs deleted file mode 100644 index a6d22b5..0000000 --- a/TestStack.ConventionTests/Reporting/ConventionReportTraceRenderer.cs +++ /dev/null @@ -1,17 +0,0 @@ -namespace TestStack.ConventionTests.Reporting -{ - using System.Diagnostics; - using TestStack.ConventionTests.Internal; - - public class ConventionReportTraceRenderer : IResultsProcessor - { - public void Process(IConventionFormatContext context, params ConventionResult[] results) - { - foreach (var conventionResult in results) - { - // TODO: Fix below - // Trace.WriteLine(context.TestResultProcessor.Process(context, conventionResult)); - } - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Reporting/ConvertibleFormatter.cs b/TestStack.ConventionTests/Reporting/ConvertibleFormatter.cs deleted file mode 100644 index 7ed2053..0000000 --- a/TestStack.ConventionTests/Reporting/ConvertibleFormatter.cs +++ /dev/null @@ -1,26 +0,0 @@ -namespace TestStack.ConventionTests.Reporting -{ - using System; - using System.Diagnostics; - using System.Globalization; - - public class ConvertibleFormatter : IReportDataFormatter - { - public bool CanFormat(object data) - { - return data is IConvertible; - } - - public string FormatString(object data) - { - var convertible = data as IConvertible; - Debug.Assert(convertible != null, "convertible != null"); - return convertible.ToString(CultureInfo.InvariantCulture); - } - - public string FormatHtml(object data) - { - return FormatString(data); - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Reporting/CsvReporter.cs b/TestStack.ConventionTests/Reporting/CsvReporter.cs deleted file mode 100644 index 1be65ca..0000000 --- a/TestStack.ConventionTests/Reporting/CsvReporter.cs +++ /dev/null @@ -1,22 +0,0 @@ -namespace TestStack.ConventionTests.Reporting -{ - using System.Text; - using TestStack.ConventionTests.Internal; - - public class CsvReporter : ITestResultProcessor - { - public string Process(IConventionFormatContext context, ConventionResult result) - { - var formatter = new DefaultFormatter(result.DataType); - var message = new StringBuilder(); - message.AppendLine(string.Join(",", formatter.DesribeType())); - foreach (var item in result.Data) - { - message.AppendLine(string.Join(",", formatter.DesribeItem(item, context))); - } - return message.ToString(); - } - - public string RecommendedFileExtension { get { return "csv"; } } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Reporting/DefaultFormatter.cs b/TestStack.ConventionTests/Reporting/DefaultFormatter.cs deleted file mode 100644 index e009622..0000000 --- a/TestStack.ConventionTests/Reporting/DefaultFormatter.cs +++ /dev/null @@ -1,33 +0,0 @@ -namespace TestStack.ConventionTests.Reporting -{ - using System; - using System.Linq; - using System.Reflection; - using TestStack.ConventionTests.Internal; - - public class DefaultFormatter - { - readonly PropertyInfo[] properties; - - public DefaultFormatter(Type type) - { - properties = type.GetProperties(); - } - - // TODO: this is a very crappy name for a method - public string[] DesribeType() - { - return properties.Select(Describe).ToArray(); - } - - string Describe(PropertyInfo property) - { - return property.Name.Replace('_', ' '); - } - - public string[] DesribeItem(object result, IConventionFormatContext context) - { - return properties.Select(p => context.FormatDataAsString(p.GetValue(result, null)).ToString()).ToArray(); - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Reporting/FallbackFormatter.cs b/TestStack.ConventionTests/Reporting/FallbackFormatter.cs deleted file mode 100644 index ffdd189..0000000 --- a/TestStack.ConventionTests/Reporting/FallbackFormatter.cs +++ /dev/null @@ -1,22 +0,0 @@ -namespace TestStack.ConventionTests.Reporting -{ - public class FallbackFormatter : IReportDataFormatter - { - public bool CanFormat(object data) - { - return true; - } - - public string FormatString(object data) - { - if (data == null) - return ""; - return data.ToString(); - } - - public string FormatHtml(object data) - { - return FormatString(data); - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Reporting/GroupedByDataTypeConventionResultsReporterBase.cs b/TestStack.ConventionTests/Reporting/GroupedByDataTypeConventionResultsReporterBase.cs deleted file mode 100644 index fea7d0e..0000000 --- a/TestStack.ConventionTests/Reporting/GroupedByDataTypeConventionResultsReporterBase.cs +++ /dev/null @@ -1,20 +0,0 @@ -namespace TestStack.ConventionTests.Reporting -{ - using System.Collections.Generic; - using System.Linq; - using TestStack.ConventionTests.Internal; - - public abstract class GroupedByDataTypeConventionResultsReporterBase : AggregatedConventionResultsReporter - { - protected GroupedByDataTypeConventionResultsReporterBase(string outputFilename) : base(outputFilename) - { - } - - protected override string Process(IConventionFormatContext context) - { - return Process(context, AggregatedReports.OrderBy(c => c.ConventionTitle).GroupBy(r => r.DataDescription)); - } - - protected abstract string Process(IConventionFormatContext context, IEnumerable> resultsGroupedByDataType); - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Reporting/HtmlConventionResultsReporter.cs b/TestStack.ConventionTests/Reporting/HtmlConventionResultsReporter.cs deleted file mode 100644 index 07a2efd..0000000 --- a/TestStack.ConventionTests/Reporting/HtmlConventionResultsReporter.cs +++ /dev/null @@ -1,106 +0,0 @@ -namespace TestStack.ConventionTests.Reporting -{ - using System.Collections.Generic; - using System.IO; - using System.Linq; - using System.Text; - using TestStack.ConventionTests.ConventionData; - using TestStack.ConventionTests.Internal; - - public class HtmlConventionResultsReporter : GroupedByDataTypeConventionResultsReporterBase - { - public HtmlConventionResultsReporter() : base("Conventions.htm") - { - } - - protected override string Process(IConventionFormatContext context, IEnumerable> resultsGroupedByDataType) - { - var sb = new StringBuilder(); - sb.Append(""); - sb.Append(""); // - sb.Append(""); // - - sb.AppendLine(@""); - - sb.AppendLine(@""); - - - sb.Append(@" - "); - - sb.AppendLine(""); - sb.AppendLine(""); - sb.AppendLine("

Project Conventions

"); - - // foreach (var conventionReport in resultsGroupedByDataType) - // { - // html.RenderBeginTag(HtmlTextWriterTag.Div); - // html.AddAttribute("style", "margin-left:20px;border-bottom: 1px solid"); - - // html.RenderBeginTag(HtmlTextWriterTag.H2); - // html.Write("Conventions for '{0}'", conventionReport.Key); - // html.RenderEndTag(); - - // foreach (var conventionResult in conventionReport) - // { - // var targetId = - // conventionResult.ConventionTitle.Replace("'", string.Empty).Replace(" ", string.Empty).Replace(".", string.Empty) + - // conventionResult.DataDescription.Replace("'", string.Empty).Replace(" ", string.Empty).Replace(".", string.Empty); - // html.AddAttribute("style", "margin-left:20px;"); - // html.RenderBeginTag(HtmlTextWriterTag.H4); - // html.Write(conventionResult.ConventionTitle); - // html.RenderEndTag(); - // html.AddAttribute("style", "margin-left:20px;"); - // html.RenderBeginTag(HtmlTextWriterTag.Div); - // html.Write(conventionResult.ConventionReason); - // html.RenderEndTag(); - // if (conventionResult.Data.Any()) - // { - // html.AddAttribute("style", "margin-left:20px;"); - // html.RenderBeginTag(HtmlTextWriterTag.Div); - // html.AddAttribute("class", "menu-toggle"); - // html.AddAttribute("data-toggle", "collapse"); - // html.AddAttribute("data-target", "." + targetId); - // html.RenderBeginTag(HtmlTextWriterTag.A); - // html.AddAttribute("class", "icon-angle-down"); - // html.RenderBeginTag(HtmlTextWriterTag.I); - // html.RenderEndTag(); - // html.Write("With the exception of the following {0}: ", conventionResult.DataType.GetSentenceCaseName()); - // html.RenderEndTag(); - // html.AddAttribute("class", targetId + " collapse"); - // html.AddAttribute("style", "margin-left:20px;"); - // html.RenderBeginTag(HtmlTextWriterTag.Div); - // html.RenderBeginTag(HtmlTextWriterTag.Ul); - // foreach (var o in conventionResult.Data) - // { - // html.RenderBeginTag(HtmlTextWriterTag.Li); - // html.Write(context.FormatDataAsHtml(o)); - // html.RenderEndTag(); - // } - // html.RenderEndTag(); - // html.RenderEndTag(); - // } - // } - // html.RenderEndTag(); - // } - - // html.AddAttribute("src", "http://code.jquery.com/jquery.js"); - // html.RenderBeginTag(HtmlTextWriterTag.Script); - // html.RenderEndTag(); - - // html.AddAttribute("src", "http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"); - // html.RenderBeginTag(HtmlTextWriterTag.Script); - // html.RenderEndTag(); - - // html.RenderEndTag(); // - // html.RenderEndTag(); // - // html.Flush(); - return sb.ToString(); - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Reporting/IReportDataFormatter.cs b/TestStack.ConventionTests/Reporting/IReportDataFormatter.cs deleted file mode 100644 index e5be1eb..0000000 --- a/TestStack.ConventionTests/Reporting/IReportDataFormatter.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace TestStack.ConventionTests.Reporting -{ - public interface IReportDataFormatter - { - bool CanFormat(object data); - string FormatString(object data); - string FormatHtml(object data); - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Reporting/IResultsProcessor.cs b/TestStack.ConventionTests/Reporting/IResultsProcessor.cs deleted file mode 100644 index 1315280..0000000 --- a/TestStack.ConventionTests/Reporting/IResultsProcessor.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace TestStack.ConventionTests.Reporting -{ - using TestStack.ConventionTests.Internal; - - public interface IResultsProcessor - { - void Process(IConventionFormatContext context, params ConventionResult[] results); - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Reporting/ITestResultProcessor.cs b/TestStack.ConventionTests/Reporting/ITestResultProcessor.cs deleted file mode 100644 index 9ba5206..0000000 --- a/TestStack.ConventionTests/Reporting/ITestResultProcessor.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace TestStack.ConventionTests.Reporting -{ - using TestStack.ConventionTests.Internal; - - public interface ITestResultProcessor - { - string Process(IConventionFormatContext context, ConventionResult result); - string RecommendedFileExtension { get; } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Reporting/MarkdownConventionResultsReporter.cs b/TestStack.ConventionTests/Reporting/MarkdownConventionResultsReporter.cs deleted file mode 100644 index bcef453..0000000 --- a/TestStack.ConventionTests/Reporting/MarkdownConventionResultsReporter.cs +++ /dev/null @@ -1,35 +0,0 @@ -namespace TestStack.ConventionTests.Reporting -{ - using System.Collections.Generic; - using System.Linq; - using System.Text; - using TestStack.ConventionTests.Internal; - - public class MarkdownConventionResultsReporter : GroupedByDataTypeConventionResultsReporterBase - { - public MarkdownConventionResultsReporter() : base("Conventions.md") - { - } - - protected override string Process(IConventionFormatContext context, IEnumerable> resultsGroupedByDataType) - { - var sb = new StringBuilder(); - sb.AppendLine("# Project Conventions"); - foreach (var conventionReport in resultsGroupedByDataType) - { - sb.Append("## "); - sb.AppendLine(conventionReport.Key); - - foreach (var conventionResult in conventionReport) - { - sb.Append(" - **"); - sb.Append(conventionResult.ConventionTitle); - sb.AppendLine("** "); - sb.AppendLine(conventionResult.ConventionReason); - } - } - - return sb.ToString(); - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Reporting/MethodInfoDataFormatter.cs b/TestStack.ConventionTests/Reporting/MethodInfoDataFormatter.cs deleted file mode 100644 index 3ce37a3..0000000 --- a/TestStack.ConventionTests/Reporting/MethodInfoDataFormatter.cs +++ /dev/null @@ -1,82 +0,0 @@ -namespace TestStack.ConventionTests.Reporting -{ - using System.Reflection; - using System.Text; - using TestStack.ConventionTests.ConventionData; - - public class MethodInfoDataFormatter : IReportDataFormatter - { - public bool CanFormat(object data) - { - return data is MethodInfo; - } - - public string FormatString(object data) - { - var methodInfo = (MethodInfo)data; - - return methodInfo.DeclaringType + "." + methodInfo.Name; - } - - public string FormatHtml(object data) - { - const string keywordFormat = "{0}"; - const string typeFormat = "{0}"; - - var methodInfo = (MethodInfo)data; - var sb = new StringBuilder(); - var declaringType = methodInfo.DeclaringType; - sb.AppendFormat("{0} {1}.{2} {{ ", - string.Format(keywordFormat, "class"), - declaringType.Namespace, - string.Format(typeFormat, declaringType.Name)); - - AppendAccess(methodInfo, sb, keywordFormat); - - if (methodInfo.IsVirtual) - { - sb.AppendFormat(keywordFormat, "virtual"); - sb.Append(" "); - } - - AppendMethodName(methodInfo, sb); - sb.Append(" (...)"); - sb.Append("}}"); - - return sb.ToString(); - } - - void AppendMethodName(MethodInfo methodInfo, StringBuilder sb) - { - sb.Append(methodInfo.Name); - bool firstParam = true; - if (methodInfo.IsGenericMethod) - { - sb.Append("<"); - foreach (var g in methodInfo.GetGenericArguments()) - { - if (firstParam) - firstParam = false; - else - sb.Append(", "); - sb.Append(g.ToTypeNameString()); - } - sb.Append(">"); - } - } - - void AppendAccess(MethodInfo method, StringBuilder sb, string format = "{0}") - { - if (method.IsPublic) - sb.AppendFormat(format, "public "); - else if (method.IsPrivate) - sb.AppendFormat("private "); - else if (method.IsAssembly) - sb.AppendFormat("internal "); - if (method.IsFamily) - sb.AppendFormat("protected "); - if (method.IsStatic) - sb.AppendFormat("static "); - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Reporting/ProjectFileFormatter.cs b/TestStack.ConventionTests/Reporting/ProjectFileFormatter.cs deleted file mode 100644 index 3ec78fe..0000000 --- a/TestStack.ConventionTests/Reporting/ProjectFileFormatter.cs +++ /dev/null @@ -1,22 +0,0 @@ -namespace TestStack.ConventionTests.Reporting -{ - using TestStack.ConventionTests.ConventionData; - - public class ProjectFileFormatter : IReportDataFormatter - { - public bool CanFormat(object data) - { - return data is ProjectFileItem; - } - - public string FormatString(object data) - { - return ((ProjectFileItem)data).FilePath; - } - - public string FormatHtml(object data) - { - return ((ProjectFileItem) data).FilePath; - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Reporting/ProjectReferenceFormatter.cs b/TestStack.ConventionTests/Reporting/ProjectReferenceFormatter.cs deleted file mode 100644 index e6e0c09..0000000 --- a/TestStack.ConventionTests/Reporting/ProjectReferenceFormatter.cs +++ /dev/null @@ -1,22 +0,0 @@ -namespace TestStack.ConventionTests.Reporting -{ - using TestStack.ConventionTests.ConventionData; - - public class ProjectReferenceFormatter : IReportDataFormatter - { - public bool CanFormat(object data) - { - return data is ProjectReference; - } - - public string FormatString(object data) - { - return ((ProjectReference)data).ReferencedPath; - } - - public string FormatHtml(object data) - { - return ((ProjectReference)data).ReferencedPath; - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Reporting/StringDataFormatter.cs b/TestStack.ConventionTests/Reporting/StringDataFormatter.cs deleted file mode 100644 index 5e9d693..0000000 --- a/TestStack.ConventionTests/Reporting/StringDataFormatter.cs +++ /dev/null @@ -1,20 +0,0 @@ -namespace TestStack.ConventionTests.Reporting -{ - public class StringDataFormatter : IReportDataFormatter - { - public bool CanFormat(object data) - { - return data is string; - } - - public string FormatString(object data) - { - return (string)data; - } - - public string FormatHtml(object data) - { - return (string)data; - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Reporting/TestResult.cs b/TestStack.ConventionTests/Reporting/TestResult.cs deleted file mode 100644 index 095551f..0000000 --- a/TestStack.ConventionTests/Reporting/TestResult.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace TestStack.ConventionTests.Reporting -{ - public enum TestResult - { - Passed, - Failed - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Reporting/ThrowOnFailureResultsProcessor.cs b/TestStack.ConventionTests/Reporting/ThrowOnFailureResultsProcessor.cs deleted file mode 100644 index 76cba45..0000000 --- a/TestStack.ConventionTests/Reporting/ThrowOnFailureResultsProcessor.cs +++ /dev/null @@ -1,19 +0,0 @@ -namespace TestStack.ConventionTests.Reporting -{ - using System; - using System.Linq; - using TestStack.ConventionTests.Internal; - - public class ThrowOnFailureResultsProcessor : IResultsProcessor - { - public void Process(IConventionFormatContext context, params ConventionResult[] results) - { - var invalidResults = results.Where(r => r.HasData).Select(r => context.TestResultProcessor.Process(context, r)).ToArray(); - if (invalidResults.None()) - { - return; - } - throw new ConventionFailedException(string.Join(Environment.NewLine, invalidResults)); - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/Reporting/TypeDataFormatter.cs b/TestStack.ConventionTests/Reporting/TypeDataFormatter.cs deleted file mode 100644 index 3e02968..0000000 --- a/TestStack.ConventionTests/Reporting/TypeDataFormatter.cs +++ /dev/null @@ -1,26 +0,0 @@ -namespace TestStack.ConventionTests.Reporting -{ - using System; - using TestStack.ConventionTests.ConventionData; - - public class TypeDataFormatter : IReportDataFormatter - { - public bool CanFormat(object data) - { - return data is Type; - } - - public string FormatString(object data) - { - return ((Type)data).ToTypeNameString(); - } - - public string FormatHtml(object data) - { - var type = ((Type)data); - var oldValue = string.Format("{0}.", type.Namespace); - var newValue = string.Format("{0}.", type.Namespace); - return string.Format("{0}", FormatString(data).Replace(oldValue, newValue)); - } - } -} \ No newline at end of file diff --git a/TestStack.ConventionTests/TestStack.ConventionTests.csproj b/TestStack.ConventionTests/TestStack.ConventionTests.csproj deleted file mode 100755 index 583a113..0000000 --- a/TestStack.ConventionTests/TestStack.ConventionTests.csproj +++ /dev/null @@ -1,28 +0,0 @@ - - - netstandard2.0 - TestStack.ConventionTests - TestStack.ConventionTests - false - false - false - false - false - false - false - false - - - - true - - true - - true - snupkg - - - - - - \ No newline at end of file diff --git a/TestStack.ConventionTests/TestStack.ConventionTests.ncrunchproject b/TestStack.ConventionTests/TestStack.ConventionTests.ncrunchproject deleted file mode 100644 index 79e385b..0000000 --- a/TestStack.ConventionTests/TestStack.ConventionTests.ncrunchproject +++ /dev/null @@ -1,23 +0,0 @@ - - false - false - false - true - false - false - false - false - true - true - false - true - true - 60000 - - - - AutoDetect - STA - x86 - ..\packages\GitFlowVersionTask.0.2.0\Build\**.* - \ No newline at end of file diff --git a/TestStack.ConventionTests/TestStack.ConventionTests.nuspec b/TestStack.ConventionTests/TestStack.ConventionTests.nuspec deleted file mode 100644 index 34737bb..0000000 --- a/TestStack.ConventionTests/TestStack.ConventionTests.nuspec +++ /dev/null @@ -1,23 +0,0 @@ - - - - $version$ - Krzysztof Kozmic, Jake Ginnivan - Krzysztof Kozmic, Jake Ginnivan - TestStack.ConventionTests - TestStack.ConventionTests - xunit nunit convention testing documentation - false - Simple convention-tester - Simple library offering a simple way to test conventions. - https://github.com/TestStack/ConventionTests - https://github.com/TestStack/ConventionTests/blob/master/license.txt - https://raw.github.com/TestStack/ConventionTests/master/logo.png - https://github.com/TestStack/ConventionTests/releases - - - - - - - diff --git a/appveyor.yml b/appveyor.yml deleted file mode 100644 index f4b2198..0000000 --- a/appveyor.yml +++ /dev/null @@ -1,29 +0,0 @@ -image: - - Visual Studio 2019 - -install: - - choco install gitversion.portable -y - -assembly_info: - patch: false - -before_build: - - dotnet restore - - gitversion /l console /output buildserver /updateAssemblyInfo - -platform: - - Any CPU - -configuration: - - Release - -build: - project: ConventionTests.sln - -after_build: - - cmd: dotnet pack TestStack.ConventionTests\TestStack.ConventionTests.csproj -c Release -o .\artifacts -p:PackageVersion="%GitVersion_NuGetVersion%" --include-symbols -v n - - cmd: dotnet pack TestStack.ConventionTests.Autofac\TestStack.ConventionTests.Autofac.csproj -c Release -o .\artifacts -p:PackageVersion="%GitVersion_NuGetVersion%" --include-symbols -v n - -artifacts: - - path: '.\artifacts\*.*nupkg' - \ No newline at end of file diff --git a/docs/changelog.md b/docs/changelog.md deleted file mode 100644 index b4a1ba7..0000000 --- a/docs/changelog.md +++ /dev/null @@ -1,9 +0,0 @@ -## v3.0.0 -### Breaking changes -v3 removes external dependencies from the core TestStack.ConventionTest project. - -1. Mono.Cecil is now ILMerged internally -So if you use the Mono.Cecil functionality, leave it installed. Otherwise uninstall it to remove unneeded dependencies -2. ApprovalTests is no longer a dependency -This also means the `Convention.IsWithApprovedExeptions` method is gone. -Replace usage with `var failures = Convention.GetFailures` then use Shouldly's `failures.ShouldMatchApproved()` extension or `ApprovalTests.Verify(failures)` to verify the failures. \ No newline at end of file diff --git a/docs/defining-conventions.md b/docs/defining-conventions.md deleted file mode 100644 index e93f380..0000000 --- a/docs/defining-conventions.md +++ /dev/null @@ -1,45 +0,0 @@ -If you want to define your own conventions, it is really easy. - -### Step 1 -Create a new class, inheriting from `IConvention`, lets use the **must have default constructor** convention as an example - - public class AllClassesHaveDefaultConstructor : IConvention - { - public void Execute(Types data, IConventionResult result) - { - - } - } - -### Step 2 -Write the convention logic - - var typesWithoutDefaultCtor = data.TypesToVerify.Where(t => t.HasDefaultConstructor() == false); - result.Is("Types must have a default constructor", typesWithoutDefaultCtor); - -### Final result - - public class AllClassesHaveDefaultConstructor : IConvention - { - public void Execute(Types data, IConventionResult result) - { - var typesWithoutDefaultCtor = data.TypesToVerify.Where(t => t.HasDefaultConstructor() == false); - result.Is("Types must have a default constructor", typesWithoutDefaultCtor); - } - } - -## IConventionResult -Currently convention tests supports two types of convention results, the one we have just seen is a normal result. The other type is a symmetric result, which is the result for a symmetric convention. - -An example of a symmetric convention is `ClassTypeHasSpecificNamespace`. It can verify a particular class type (dto, domain object, event handler) lives in a certain namespace, but it will also verify that ONLY that class type lives in that namespace. `new ClassTypeHasSpecificNamespace(t => t.Name.EndsWith("Dto"), "TestAssembly.Dtos", "Dto")` - -The result will look like this: - - result.IsSymmetric( - string.Format("{0}s must be under the '{1}' namespace", classType, namespaceToCheck), - string.Format("Non-{0}s must not be under the '{1}' namespace", classType, namespaceToCheck), - classIsApplicable, - TypeLivesInSpecifiedNamespace, - data.TypesToVerify); - -See [Symmetric Conventions](SymmetricConventions.html) for more information. \ No newline at end of file diff --git a/docs/imgs/SymmetricConventions.png b/docs/imgs/SymmetricConventions.png deleted file mode 100644 index c169fd6..0000000 Binary files a/docs/imgs/SymmetricConventions.png and /dev/null differ diff --git a/docs/index.md b/docs/index.md deleted file mode 100644 index bffcde5..0000000 --- a/docs/index.md +++ /dev/null @@ -1,58 +0,0 @@ -## What is ConventionTests? - -Convention over Configuration is a great way to cut down repetitive boilerplate code. But how do you validate that your code adheres to your conventions? - -ConventionTests provides a simple API to build validation rules for creating convention validation tests. - -## Getting Started -It is really easy to get started with ConventionTests, there are a number of included conventions that come out of the box: - - - All Classes Have Default Constructor - - All Methods are Virtual - - Class type has specific namespace (for example, all dtos must live in the ProjectName.Dtos namespace) - - Files are Embedded Resources - - Project does not reference dlls from Bin or Obj directory - - Others are being added over time and you can create your own custom ones - -### Writing your first Convention test - -#### 1. Using your favourite testing framework, create a new test. Lets call it: - -`entities_must_have_default_constructor` - -#### 2. Define some types to validate against a convention - -The following line get a list of all the types in the assembly that contains `SampleDomainClass`. - - var itemsToVerify = Types.InAssemblyOf(); - -There are also overloads to restrict the types to a specific namespace within the assembly. - -#### 3. Assert the convention - -Now we have a list of types to check, we can use one of the pre-built conventions and check all of the types against this convention: - -`Convention.Is(new AllClassesHaveDefaultConstructor(), itemsToVerify);` - -#### That's it! - -When you run this convention, if any of the types don't meet with the chosen convention, it fails and an exception will be thrown, which will look something like this: - - ConventionFailedException - Message = Failed: 'Types must have a default constructor' - ----------------------------------------------------------------- - - TestAssembly.ClassWithNoDefaultCtor - TestAssembly.ClassWithPrivateDefaultCtor - -How cool is that! - -### Reporting -If you would like to use ConventionTests reporting features, you just have to opt in by specifying the reporter you want. This makes it easy to add your own reporters, for example a WikiReporter may be better than the `HtmlReporter` - -In your `Properties\AssemblyInfo.cs` file add the reporters you want. This are global reporters which will report the results of all conventions. - - [assembly: ConventionReporter(typeof(HtmlConventionResultsReporter))] - [assembly: ConventionReporter(typeof(MarkdownConventionResultsReporter))] - -Then if you look in the directory where your test assembly is, there will be an html report called `Conventions.htm`, serving as living documentation! \ No newline at end of file diff --git a/docs/symmetric-conventions.md b/docs/symmetric-conventions.md deleted file mode 100644 index c7dbda8..0000000 --- a/docs/symmetric-conventions.md +++ /dev/null @@ -1,28 +0,0 @@ -Symmetric conventions will verify a convention and also the inverse of that convention. - -An example of a symmetric convention is `ClassTypeHasSpecificNamespace`. It can verify a particular class type (dto, domain object, event handler) lives in a certain namespace, but it will also verify that ONLY that class type lives in that namespace. - -Take a look at the following Venn Diagram - -![SymmetricConventions](./imgs/SymmetricConventions.png) - -In the above example, let us say 'Dtos must live under Project.Dtos'. This means that all data contains ALL TYPES in the assembly, correct data is a dto living in the Project.Dtos namespace. But we have two failure conditions. - -The first is if a Dto is outside the Project.Dtos namespace, the convention fails. The second is if a non-dto class lives inside the Project.Dtos namespace. - -### How to use a symmetric convention - - var types = new Types("Types in MyProject") - { - TypesToVerify = typeof(MyDto).Assembly.GetTypes() - }; - var convention = new ClassTypeHasSpecificNamespace( - classIsApplicable: t => t.Name.EndsWith("Dto"), - namespaceToCheck : "MyProject.Dtos", - classType: "Dto"); - Convention.Is(convention, types); - -As you can see, symmetric conventions are no different to enforce - -### Writing a symmetric convention -See [Defining Conventions](DefiningConventions.html) \ No newline at end of file diff --git a/global.json b/global.json deleted file mode 100644 index 837cdff..0000000 --- a/global.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "sdk": { "version": "3.1.200" } -} \ No newline at end of file diff --git a/images/bg_hr.png b/images/bg_hr.png new file mode 100644 index 0000000..7973bd6 Binary files /dev/null and b/images/bg_hr.png differ diff --git a/images/blacktocat.png b/images/blacktocat.png new file mode 100644 index 0000000..6e264fe Binary files /dev/null and b/images/blacktocat.png differ diff --git a/images/icon_download.png b/images/icon_download.png new file mode 100644 index 0000000..a2a287f Binary files /dev/null and b/images/icon_download.png differ diff --git a/images/sprite_download.png b/images/sprite_download.png new file mode 100644 index 0000000..f2babd5 Binary files /dev/null and b/images/sprite_download.png differ diff --git a/index.html b/index.html new file mode 100644 index 0000000..d5d1565 --- /dev/null +++ b/index.html @@ -0,0 +1,130 @@ + + + + + + + + + + + ConventionTests + + + + + +
+
+ View on GitHub + +

ConventionTests

+

ConventionTests help you go beyond the compiler with conventions!

+ +
+ Download this project as a .zip file + Download this project as a tar.gz file +
+
+
+ + +
+
+

What is ConventionTests?

+ +

Convention over Configuration is a great way to cut down repetitive boilerplate code. But how do you validate that your code adheres to your conventions? Convention Tests is a code-only NuGet that provides a simple API to build validation rules for convention validation tests.

+ +

Using Con­ven­tion­Tests

+ +

Con­ven­tion­Tests is a sim­ple code-only Nuget that pro­vides a min­i­mal­is­tic and lim­ited API enforc­ing cer­tain struc­ture when writ­ing con­ven­tion tests and inte­grat­ing with NUnit. Installing it will add two .cs files to the project and a few depen­den­cies (NUnit, Castle Wind­sor and ApprovalTests).

+ +

ConventionTests.NUnit file is where all the rel­e­vant code is located and __Run file is the file that runs your tests. The approach is to cre­ate a file per con­ven­tion and name them in a descrip­tive man­ner, so that you can learn what the con­ven­tions you have in the project are by just look­ing at the files in your Con­ven­tions folder, with­out hav­ing to open them.

+ +

Each con­ven­tion test inher­its (directly or indi­rectly) from the ICon­ven­tion­Test inter­face. There’s an abstract imple­men­ta­tion of the inter­face, Con­ven­tion­Test­Base and a few spe­cial­ized imple­men­ta­tions for com­mon sce­nar­ios pro­vided out of the box: Type-based one (Con­ven­tion­Test) and two for Wind­sor (Wind­sor­Con­ven­tion­Test, non-generic and generic for diagnostics-based tests).

+ +

Type-based con­ven­tion tests

+ +

The most com­mon and most generic group of con­ven­tions are ones based around types and type infor­ma­tion. Con­ven­tions like “every controller’s name ends with ‘Con­troller’”, or “Every method on WCF ser­vice con­tracts must have Oper­a­tionCon­trac­tAt­tribute” are exam­ples of such conventions.

+ +

You write them by cre­at­ing a class inher­it­ing Con­ven­tion­Test, which forces you to over­ride one method. Here’s a min­i­mal example

+ +
public class Controllers_have_Controller_suffix_in_type_name : ConventionTest
+{
+    protected override ConventionData SetUp()
+    {
+        return new ConventionData
+            {
+                Types = t => t.IsConcrete<IController>(),
+                Must = t => t.Name.EndsWith("Controller")
+            };
+    }
+}
+
+ +

Windsor-based con­ven­tion tests

+ +

Another com­mon set of con­ven­tion tests are tests regard­ing an IoC con­tainer. Cas­tle Wind­sor is sup­ported out of the box. The struc­ture of the tests and API is sim­i­lar, with the dif­fer­ence being that instead of types we’re deal­ing with Windsor’s com­po­nent Han­dlers.

+ +
public class List_classes_registered_in_Windsor : WindsorConventionTest
+{
+    protected override WindsorConventionData SetUp()
+    {
+        return new WindsorConventionData(new WindsorContainer()
+                                                .Install(FromAssembly.Containing<AuditedAction>()))
+            {
+                FailDescription = "All Windsor components",
+                FailItemDescription = h => BuildDetailedHandlerDescription(h)+" | "+
+                    h.ComponentModel.GetLifestyleDescription(),
+            }.WithApprovedExceptions("We just list all of them.");
+
+    }
+}
+
+ +

Cus­tom con­ven­tion tests

+ +

Say we wanted to cre­ate a con­ven­tion test that lists all of our NHibernate col­lec­tions where we do cas­cade deletes, so that when we add a new col­lec­tion the test would fail remind­ing us of the issue, and force us to pay atten­tion to how we struc­ture rela­tion­ships in the appli­ca­tion. To do this we could cre­ate a base NHiber­nate­Con­ven­tion­Test and NHi­iber­nate­Con­ven­tion­Data to cre­ate sim­i­lar struc­ture, or just build a sim­ple one-class con­ven­tion like that:

+ +
public class List_collection_that_cascade_deletes:ConventionTestBase
+{
+    public override void Execute()
+    {
+        // NH Bootstrapper is our custom class to set up NH
+        var bootstrapper = new NHibernateBootstrapper();
+        var configuration = bootstrapper.BuildConfiguration();
+
+        var message = new StringBuilder("Collections with cascade delete orphan");
+        foreach (var @class in configuration.ClassMappings)
+        {
+            foreach (var property in @class.PropertyIterator)
+            {
+                if(property.CascadeStyle.HasOrphanDelete)
+                {
+                    message.AppendLine(@class.NodeName + "." + property.Name);
+                }
+            }
+        }
+        Approve(message.ToString());
+    }
+}
+
+ +

Where to find out more

+ +

Krzysztof Koźmic spoke about ConventionTests at NDC 2012. You can find the video of that talk here, slides here and the introductory blog post here.

+
+
+ + + + + + + + diff --git a/javascripts/main.js b/javascripts/main.js new file mode 100644 index 0000000..d8135d3 --- /dev/null +++ b/javascripts/main.js @@ -0,0 +1 @@ +console.log('This would be the main JS file.'); diff --git a/license.txt b/license.txt deleted file mode 100644 index f60d347..0000000 --- a/license.txt +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2012-2013 TestStack.ConventionTests Contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. \ No newline at end of file diff --git a/logo.png b/logo.png deleted file mode 100644 index ac87c2e..0000000 Binary files a/logo.png and /dev/null differ diff --git a/mkdocs.yml b/mkdocs.yml deleted file mode 100644 index c3a4fab..0000000 --- a/mkdocs.yml +++ /dev/null @@ -1,9 +0,0 @@ -site_name: ConventionTests -theme: readthedocs -repo_url: https://github.com/TestStack/TestStack.ConventionTests - -pages: -- Home: index.md -- 'Defining Conventions': 'defining-conventions.md' -- 'Symmetric Conventions': 'symmetric-conventions.md' -- 'Changelog': 'changelog.md' \ No newline at end of file diff --git a/packages/.gitignore b/packages/.gitignore deleted file mode 100644 index 4440c98..0000000 --- a/packages/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -#disable ignoring. Everything gets committed -!* \ No newline at end of file diff --git a/packages/ApprovalTests.2.2/Approval Tests - Getting Started.pdf b/packages/ApprovalTests.2.2/Approval Tests - Getting Started.pdf deleted file mode 100644 index 3f50156..0000000 Binary files a/packages/ApprovalTests.2.2/Approval Tests - Getting Started.pdf and /dev/null differ diff --git a/packages/ApprovalTests.2.2/ApprovalTests.2.2.nupkg b/packages/ApprovalTests.2.2/ApprovalTests.2.2.nupkg deleted file mode 100644 index 4845a41..0000000 Binary files a/packages/ApprovalTests.2.2/ApprovalTests.2.2.nupkg and /dev/null differ diff --git a/packages/ApprovalTests.2.2/ApprovalTests.2.2.nuspec b/packages/ApprovalTests.2.2/ApprovalTests.2.2.nuspec deleted file mode 100644 index 4596736..0000000 --- a/packages/ApprovalTests.2.2/ApprovalTests.2.2.nuspec +++ /dev/null @@ -1,17 +0,0 @@ - - - - ApprovalTests - 2.2 - Approval Tests - Llewellyn Falco & Dan Gilkerson - Llewellyn Falco & Dan Gilkerson - http://approvaltests.sourceforge.net/ - http://approvaltests.sourceforge.net/sites/all/themes/corolla/logo.png - false - A picture's worth a 1000 tests. -Unit testing asserts can be difficult to use. Approval tests simplify this by taking a snapshot of the results, and confirming that they have not changed. - en-US - unit testing - - \ No newline at end of file diff --git a/packages/ApprovalTests.2.2/lib/ApprovalTests.dll b/packages/ApprovalTests.2.2/lib/ApprovalTests.dll deleted file mode 100644 index 76767c2..0000000 Binary files a/packages/ApprovalTests.2.2/lib/ApprovalTests.dll and /dev/null differ diff --git a/packages/ApprovalTests.2.2/lib/ApprovalUtilities.dll b/packages/ApprovalTests.2.2/lib/ApprovalUtilities.dll deleted file mode 100644 index b85f19e..0000000 Binary files a/packages/ApprovalTests.2.2/lib/ApprovalUtilities.dll and /dev/null differ diff --git a/packages/Autofac.3.1.1/Autofac.3.1.1.nupkg b/packages/Autofac.3.1.1/Autofac.3.1.1.nupkg deleted file mode 100644 index 715680f..0000000 Binary files a/packages/Autofac.3.1.1/Autofac.3.1.1.nupkg and /dev/null differ diff --git a/packages/Autofac.3.1.1/Autofac.3.1.1.nuspec b/packages/Autofac.3.1.1/Autofac.3.1.1.nuspec deleted file mode 100644 index 32c4c88..0000000 --- a/packages/Autofac.3.1.1/Autofac.3.1.1.nuspec +++ /dev/null @@ -1,19 +0,0 @@ - - - - Autofac - 3.1.1 - Autofac - Autofac Contributors - Autofac Contributors - http://www.opensource.org/licenses/mit-license.php - http://autofac.org/ - http://code.google.com/p/autofac/logo - false - Base assemblies for the Autofac Inversion of Control Container - Autofac is an IoC container for Microsoft .NET. It manages the dependencies between classes so that applications stay easy to change as they grow in size and complexity. - - - en-US - - \ No newline at end of file diff --git a/packages/Autofac.3.1.1/lib/net40/Autofac.dll b/packages/Autofac.3.1.1/lib/net40/Autofac.dll deleted file mode 100644 index 8abe167..0000000 Binary files a/packages/Autofac.3.1.1/lib/net40/Autofac.dll and /dev/null differ diff --git a/packages/Autofac.3.1.1/lib/net40/Autofac.xml b/packages/Autofac.3.1.1/lib/net40/Autofac.xml deleted file mode 100644 index 67e9421..0000000 --- a/packages/Autofac.3.1.1/lib/net40/Autofac.xml +++ /dev/null @@ -1,6678 +0,0 @@ - - - - Autofac - - - - - Service used as a "flag" to indicate a particular component should be - automatically activated on container build. - - - - - Services are the lookup keys used to locate component instances. - - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Implements the operator ==. - - The left operand. - The right operand. - The result of the operator. - - - - Implements the operator !=. - - The left operand. - The right operand. - The result of the operator. - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - The parameter is null. - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Gets a human-readable description of the service. - - The description. - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - if the specified is not - and is an ; otherwise, . - - - - All services of this type are considered "equal." - - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . Always 0 for this type. - - - - All services of this type are considered "equal" and use the same hash code. - - - - - - Gets the service description. - - - Always returns AutoActivate. - - - - - Used with the WithMetadata configuration method to - associate key-value pairs with an . - - Interface with properties whose names correspond to - the property keys. - This feature was suggested by OJ Reeves (@TheColonial). - - - - Set one of the property values. - - The type of the property. - An expression that accesses the property to set. - The property value to set. - - - - 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 Cannot choose between multiple constructors with equal length {0} on type '{1}'. Select the constructor explicitly, with the UsingConstructor() configuration method, when the component is registered.. - - - - - 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 {0} ---> {1} (See inner exception for details.). - - - - - Support the System.Lazy<T, TMetadata> - types automatically whenever type T is registered with the container. - Metadata values come from the component registration's metadata. - When a dependency of a lazy type is used, the instantiation of the underlying - component will be delayed until the Value property is first accessed. - - - - - Allows registrations to be made on-the-fly when unregistered - services are requested (lazy registrations.) - - - - - Retrieve registrations for an unregistered service, to be used - by the container. - - The service that was requested. - A function that will return existing registrations for a service. - Registrations providing the service. - - If the source is queried for service s, and it returns a component that implements both s and s', then it - will not be queried again for either s or s'. This means that if the source can return other implementations - of s', it should return these, plus the transitive closure of other components implementing their - additional services, along with the implementation of s. It is not an error to return components - that do not implement . - - - - - Gets whether the registrations provided by this source are 1:1 adapters on top - of other components (I.e. like Meta, Func or Owned.) - - - - - 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 Lazy<T, TMetadata> Support. - - - - - 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 The type '{0}' cannot be used as a metadata view. A metadata view must be a concrete class with a parameterless or dictionary constructor.. - - - - - Looks up a localized string similar to Export metadata for '{0}' is missing and no default value was supplied.. - - - - - Provides a value along with metadata describing the value. - - The type of the value. - An interface to which metadata values can be bound. - - - - Create a new instance. - - The value described by the instance. - The metadata describing the value. - - - - The value described by . - - - - - Metadata describing the value. - - - - - Support the - types automatically whenever type T is registered with the container. - Metadata values come from the component registration's metadata. - - - - - Finds constructors that match a finder function. - - - - - Find suitable constructors from which to select. - - - - - Finds suitable constructors on the target type. - - Type to search for constructors. - Suitable constructors. - - - - Initializes a new instance of the class. - - - Default to selecting all public constructors. - - - - - Initializes a new instance of the class. - - The finder function. - - - - Finds suitable constructors on the target type. - - Type to search for constructors. - Suitable constructors. - - - - Extension methods for configuring the . - - - - - Fluent method for setting the registration configuration on . - - The registration source to configure. - A configuration action that will run on any registration provided by the source. - - The with the registration configuration set. - - - - - 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 Module.ThisAssembly is only available in modules that inherit directly from Module.. - - - - - Support the - type automatically whenever type T is registered with the container. - When a dependency of a lazy type is used, the instantiation of the underlying - component will be delayed until the Value property is first accessed. - - - - - Generates context-bound closures that represent factories from - a set of heuristics based on delegate type signatures. - - - - - Create a factory generator. - - The service that will be activated in - order to create the products of the factory. - The delegate to provide as a factory. - The parameter mapping mode to use. - - - - Create a factory generator. - - The component that will be activated in - order to create the products of the factory. - The delegate to provide as a factory. - The parameter mapping mode to use. - - - - Generates a factory delegate that closes over the provided context. - - The context in which the factory will be used. - Parameters provided to the resolve call for the factory itself. - A factory delegate that will work within the context. - - - - Generates a factory delegate that closes over the provided context. - - The context in which the factory will be used. - Parameters provided to the resolve call for the factory itself. - A factory delegate that will work within the context. - - - - Reflection activator data for concrete types. - - - - - Builder for reflection-based activators. - - - - - Specify a reflection activator for the given type. - - Type that will be activated. - - - - Get the implementation type. - - - - - The constructor finder for the registration. - - - - - The constructor selector for the registration. - - - - - The explicitly bound constructor parameters. - - - - - The explicitly bound properties. - - - - - Activator data that can provide an IInstanceActivator instance. - - - - - The instance activator based on the provided data. - - - - - Specify a reflection activator for the given type. - - Type that will be activated. - - - - The instance activator based on the provided data. - - - - - Parameterises the construction of a container by a . - - - - - No options - the default behavior for container building. - - - - - Prevents inclusion of standard modules like support for - relationship types including etc. - - - - - Does not call on components implementing - this interface (useful for module testing.) - - - - - Data structure used to construct registrations. - - The most specific type to which instances of the registration - can be cast. - Activator builder type. - Registration style type. - - - - Configure the component so that instances are never disposed by the container. - - A registration builder allowing further configuration of the component. - - - - Configure the component so that instances that support IDisposable are - disposed by the container (default.) - - A registration builder allowing further configuration of the component. - - - - Configure the component so that every dependent component or call to Resolve() - gets a new, unique instance (default.) - - A registration builder allowing further configuration of the component. - - - - Configure the component so that every dependent component or call to Resolve() - gets the same, shared instance. - - A registration builder allowing further configuration of the component. - - - - Configure the component so that every dependent component or call to Resolve() - within a single ILifetimeScope gets the same, shared instance. Dependent components in - different lifetime scopes will get different instances. - - A registration builder allowing further configuration of the component. - - - - Configure the component so that every dependent component or call to Resolve() within - a ILifetimeScope tagged with any of the provided tags value gets the same, shared instance. - Dependent components in lifetime scopes that are children of the tagged scope will - share the parent's instance. If no appropriately tagged scope can be found in the - hierarchy an is thrown. - - Tag applied to matching lifetime scopes. - A registration builder allowing further configuration of the component. - - - - Configure the component so that every dependent component or call to Resolve() - within a ILifetimeScope created by an owned instance gets the same, shared instance. - Dependent components in lifetime scopes that are children of the owned instance scope will - share the parent's instance. If no appropriate owned instance scope can be found in the - hierarchy an is thrown. - - Service type. - A registration builder allowing further configuration of the component. - - - - Configure the component so that every dependent component or call to Resolve() - within a ILifetimeScope created by an owned instance gets the same, shared instance. - Dependent components in lifetime scopes that are children of the owned instance scope will - share the parent's instance. If no appropriate owned instance scope can be found in the - hierarchy an is thrown. - - Service type. - A registration builder allowing further configuration of the component. - - - - Configure the component so that every dependent component or call to Resolve() - within a ILifetimeScope created by an owned instance gets the same, shared instance. - Dependent components in lifetime scopes that are children of the owned instance scope will - share the parent's instance. If no appropriate owned instance scope can be found in the - hierarchy an is thrown. - - The service type provided by the component. - Key to associate with the component. - A registration builder allowing further configuration of the component. - - - - Configure the component so that every dependent component or call to Resolve() - within a ILifetimeScope created by an owned instance gets the same, shared instance. - Dependent components in lifetime scopes that are children of the owned instance scope will - share the parent's instance. If no appropriate owned instance scope can be found in the - hierarchy an is thrown. - - Key to associate with the component. - The service type provided by the component. - A registration builder allowing further configuration of the component. - - - - Configure the services that the component will provide. The generic parameter(s) to As() - will be exposed as TypedService instances. - - Service type. - A registration builder allowing further configuration of the component. - - - - Configure the services that the component will provide. The generic parameter(s) to As() - will be exposed as TypedService instances. - - Service type. - Service type. - A registration builder allowing further configuration of the component. - - - - Configure the services that the component will provide. The generic parameter(s) to As() - will be exposed as TypedService instances. - - Service type. - Service type. - Service type. - A registration builder allowing further configuration of the component. - - - - Configure the services that the component will provide. - - Service types to expose. - A registration builder allowing further configuration of the component. - - - - Configure the services that the component will provide. - - Services to expose. - A registration builder allowing further configuration of the component. - - - - Provide a textual name that can be used to retrieve the component. - - Named service to associate with the component. - The service type provided by the component. - A registration builder allowing further configuration of the component. - - - - Provide a textual name that can be used to retrieve the component. - - Named service to associate with the component. - The service type provided by the component. - A registration builder allowing further configuration of the component. - - - - Provide a key that can be used to retrieve the component. - - Key to associate with the component. - The service type provided by the component. - A registration builder allowing further configuration of the component. - - - - Provide a key that can be used to retrieve the component. - - Key to associate with the component. - The service type provided by the component. - A registration builder allowing further configuration of the component. - - - - Add a handler for the Preparing event. This event allows manipulating of the parameters - that will be provided to the component. - - The event handler. - A registration builder allowing further configuration of the component. - - - - Add a handler for the Activating event. - - The event handler. - A registration builder allowing further configuration of the component. - - - - Add a handler for the Activated event. - - The event handler. - A registration builder allowing further configuration of the component. - - - - Configure the component so that any properties whose types are registered in the - container will be wired to instances of the appropriate service. - - Set wiring options such as circular dependency wiring support. - A registration builder allowing further configuration of the component. - - - - Associates data with the component. - - Key by which the data can be located. - The data value. - A registration builder allowing further configuration of the component. - - - - Associates data with the component. - - The extended properties to associate with the component. - A registration builder allowing further configuration of the component. - - - - Associates data with the component. - - A type with properties whose names correspond to the - property names to configure. - A registration builder allowing further configuration of the component. - - - - The activator data. - - - - - The registration style. - - - - - The registration data. - - - - - Delegates registration lookups to a specified registry. When write operations are applied, - initialises a new 'writeable' registry. - - - Safe for concurrent access by multiple readers. Write operations are single-threaded. - - - - - Provides component registrations according to the services they provide. - - - - - Attempts to find a default registration for the specified service. - - The service to look up. - The default registration for the service. - True if a registration exists. - - - - Determines whether the specified service is registered. - - The service to test. - True if the service is registered. - - - - Register a component. - - The component registration. - - - - Register a component. - - The component registration. - If true, existing defaults for the services provided by the - component will not be changed. - - - - Selects from the available registrations after ensuring that any - dynamic registration sources that may provide - have been invoked. - - The service for which registrations are sought. - Registrations supporting . - - - - Add a registration source that will provide registrations on-the-fly. - - The source to register. - - - - Enumerate the registered components. - - - - - Fired whenever a component is registered - either explicitly or via a - . - - - - - Gets the registration sources that are used by the registry. - - - - - True if the registry contains its own components; false if it is forwarding - registrations from another external registry. - - This property is used when walking up the scope tree looking for - registrations for a new customised scope. (See issue 336.) - - - - Fired when an is added to the registry. - - - - - Enables contravariant Resolve() for interfaces that have a single contravariant ('in') parameter. - - - interface IHandler<in TCommand> - { - void Handle(TCommand command); - } - - class Command { } - - class DerivedCommand : Command { } - - class CommandHandler : IHandler<Command> { ... } - - var builder = new ContainerBuilder(); - builder.RegisterSource(new ContravariantRegistrationSource()); - builder.RegisterType<CommandHandler>(); - var container = builder.Build(); - // Source enables this line, even though IHandler<Command> is the - // actual registered type. - var handler = container.Resolve<IHandler<DerivedCommand>>(); - handler.Handle(new DerivedCommand()); - - - - - Retrieve registrations for an unregistered service, to be used - by the container. - - The service that was requested. - A function that will return existing registrations for a service. - Registrations providing the service. - - If the source is queried for service s, and it returns a component that implements both s and s', then it - will not be queried again for either s or s'. This means that if the source can return other implementations - of s', it should return these, plus the transitive closure of other components implementing their - additional services, along with the implementation of s. It is not an error to return components - that do not implement . - - - - - Gets whether the registrations provided by this source are 1:1 adapters on top - of other components (I.e. like Meta, Func or Owned.) - - - - - Options that can be applied when autowiring properties on a component. (Multiple options can - be specified using bitwise 'or' - e.g. AllowCircularDependencies | PreserveSetValues. - - - - - Default behavior. Circular dependencies are not allowed; existing non-default - property values are overwritten. - - - - - Allows property-property and property-constructor circular dependency wiring. - This flag moves property wiring from the Activating to the Activated event. - - - - - If specified, properties that already have a non-default value will be left - unchanged in the wiring operation. - - - - - Static factory methods to simplify the creation and handling of IRegistrationBuilder{L,A,R}. - - - To create an for a specific type, use: - - var cr = RegistrationBuilder.ForType(t).CreateRegistration(); - - The full builder syntax is supported: - - var cr = RegistrationBuilder.ForType(t).Named("foo").ExternallyOwned().CreateRegistration(); - - - - - - Creates a registration builder for the provided delegate. - - Instance type returned by delegate. - Delegate to register. - A registration builder. - - - - Creates a registration builder for the provided delegate. - - Delegate to register. - Most specific type return value of delegate can be cast to. - A registration builder. - - - - Creates a registration builder for the provided type. - - Implementation type to register. - A registration builder. - - - - Creates a registration builder for the provided type. - - Implementation type to register. - A registration builder. - - - - Create an from a . - (There is no need to call - this method when registering components through a .) - - - When called on the result of one of the methods, - the returned registration will be different from the one the builder itself registers - in the container. - - - - var registration = RegistrationBuilder.ForType<Foo>().CreateRegistration(); - - - - - - The registration builder. - An IComponentRegistration. - - Thrown if is . - - - - - Create an IComponentRegistration from data. - - Id of the registration. - Registration data. - Activator. - Services provided by the registration. - An IComponentRegistration. - - - - Create an IComponentRegistration from data. - - Id of the registration. - Registration data. - Activator. - Services provided by the registration. - Optional; target registration. - An IComponentRegistration. - - Thrown if or is . - - - - - Register a component in the component registry. This helper method is necessary - in order to execute OnRegistered hooks and respect PreserveDefaults. - - Hoping to refactor this out. - - - - Component registry to make registration in. - Registration builder with data for new registration. - - - - 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 The type '{0}' is not assignable to service '{1}'.. - - - - - Adds registration syntax for less commonly-used features. - - - These features are in this namespace because they will remain accessible to - applications originally written against Autofac 1.4. In Autofac 2, this functionality - is implicitly provided and thus making explicit registrations is rarely necessary. - - - - - Registers a factory delegate. - - Container builder. - Factory type to generate. - Registration builder allowing the registration to be configured. - Factory delegates are provided automatically in Autofac 2, - and this method is generally not required. - - - - Registers a factory delegate. - - Container builder. - Factory type to generate. - The service that the delegate will return instances of. - Registration builder allowing the registration to be configured. - Factory delegates are provided automatically in Autofac 2, and - this method is generally not required. - - - - Registers a factory delegate. - - The type of the delegate. - Container builder. - The service that the delegate will return instances of. - Registration builder allowing the registration to be configured. - Factory delegates are provided automatically in Autofac 2, - and this method is generally not required. - - - - Registers a factory delegate. - - The type of the delegate. - Container builder. - Registration builder allowing the registration to be configured. - Factory delegates are provided automatically in Autofac 2, - and this method is generally not required. - - - - Changes the parameter mapping mode of the supplied delegate type to match - parameters by name. - - Factory delegate type - Activator data type - Registration style - Registration to change parameter mapping mode of. - Registration builder allowing the registration to be configured. - - Thrown if is . - - - - - Changes the parameter mapping mode of the supplied delegate type to match - parameters by position. - - Factory delegate type - Activator data type - Registration style - Registration to change parameter mapping mode of. - Registration builder allowing the registration to be configured. - - Thrown if is . - - - - - Changes the parameter mapping mode of the supplied delegate type to match - parameters by type. - - Factory delegate type - Activator data type - Registration style - Registration to change parameter mapping mode of. - Registration builder allowing the registration to be configured. - - Thrown if is . - - - - - Registers the type as a collection. If no services or names are specified, the - default services will be IList<T>, ICollection<T>, and IEnumerable<T> - - The type of the collection elements. - Container builder. - A unique name for the collection that can be passed to MemberOf(). - Registration builder allowing the registration to be configured. - Collections are provided automatically in Autofac 2, - and this method is generally not required. - - - - Registers the type as a collection. If no services or names are specified, the - default services will be IList<T>, ICollection<T>, and IEnumerable<T> - - The type of the collection elements. - Container builder. - A unique name for the collection that can be passed to MemberOf(). - Registration builder allowing the registration to be configured. - Collections are provided automatically in Autofac 2, - and this method is generally not required. - - - - Include the element explicitly in a collection configured using RegisterCollection. - - Registration limit type. - Registration style. - Activator data type. - Registration to export. - The collection name, as passed to RegisterCollection. - A registration builder allowing further configuration of the component. - - - - 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 Build() or Update() can only be called once on a ContainerBuilder.. - - - - - Looks up a localized string similar to An error occurred while attempting to automatically activate registration '{0}'. See the inner exception for information on the source of the failure.. - - - - - 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 A delegate registered to create instances of '{0}' returned null.. - - - - - 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 Bound constructor '{0}'.. - - - - - Looks up a localized string similar to The binding cannot be instantiated.. - - - - - Looks up a localized string similar to An exception was thrown while invoking the constructor '{0}' on type '{1}'.. - - - - - Looks up a localized string similar to Cannot resolve parameter '{1}' of constructor '{0}'.. - - - - - Provides parameters that have a default value, set with an optional parameter - declaration in C# or VB. - - - - - Used in order to provide a value to a constructor parameter or property on an instance - being created by the container. - - - Not all parameters can be applied to all sites. - - - - - Returns true if the parameter is able to provide a value to a particular site. - - Constructor, method, or property-mutator parameter. - The component context in which the value is being provided. - If the result is true, the valueProvider parameter will - be set to a function that will lazily retrieve the parameter value. If the result is false, - will be set to null. - True if a value can be supplied; otherwise, false. - - - - Returns true if the parameter is able to provide a value to a particular site. - - Constructor, method, or property-mutator parameter. - The component context in which the value is being provided. - If the result is true, the valueProvider parameter will - be set to a function that will lazily retrieve the parameter value. If the result is false, - will be set to null. - True if a value can be supplied; otherwise, false. - - Thrown if is . - - - - - 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 The container's self-registration of context interfaces should never be activated as it is hard-wired into the LifetimeScope class.. - - - - - Marks a module as container-aware (for the purposes of attaching to diagnostic events.) - - - - - Initialise the module with the container into which it is being registered. - - The container. - - - - Fired when the activation process for a new instance is complete. - - - - - The context in which the activation occurred. - - - - - The component providing the instance. - - - - - The paramters provided when resolved. - - - - - The instance that will be used to satisfy the request. - - - - - Fired after the construction of an instance but before that instance - is shared with any other or any members are invoked on it. - - - - - The instance can be replaced if needed, e.g. by an interface proxy. - - The object to use instead of the activated instance. - - - - The context in which the activation occurred. - - - - - The component providing the instance. - - - - - The instance that will be used to satisfy the request. - - - - - The parameters supplied to the activator. - - - - - Interface supported by services that carry type information. - - - - - Return a new service of the same kind, but carrying - as the . - - The new service type. - A new service with the service type. - - - - Gets the type of the service. - - The type of the service. - - - - Identifies a service using a key in addition to its type. - - - - - Initializes a new instance of the class. - - Key of the service. - Type of the service. - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - The parameter is null. - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Return a new service of the same kind, but carrying - as the . - - The new service type. - A new service with the service type. - - - - Gets or sets the key of the service. - - The key of the service. - - - - Gets the type of the service. - - The type of the service. - - - - Gets a human-readable description of the service. - - The description. - - - - Describes when a lifetime scope is beginning. - - - - - Create an instance of the class. - - The lifetime scope that is beginning. - - - - The lifetime scope that is beginning. - - - - - Describes when a lifetime scope is ending. - - - - - Create an instance of the class. - - The lifetime scope that is ending. - - - - The lifetime scope that is ending. - - - - - 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 Instances cannot be resolved and nested lifetimes cannot be created from this LifetimeScope as it has already been disposed.. - - - - - Fired when an is added to the registry. - - - - - Construct an instance of the class. - - The registry to which the source was added. - The source that was added. - - - - - The registry to which the source was added. - - - - - The source that was added. - - - - - Represents the process of finding a component during a resolve operation. - - - - - The component for which an instance is to be looked up. - - - - - The scope in which the instance will be looked up. - - - - - The parameters provided for new instance creation. - - - - - Raised when the lookup phase of the operation is ending. - - - - - Raised when the completion phase of an instance lookup operation begins. - - - - - Raised when the completion phase of an instance lookup operation ends. - - - - - Raised when the completion phase of an instance lookup operation begins. - - - - - Create an instance of the class. - - The instance lookup that is beginning the completion phase. - - - - The instance lookup operation that is beginning the completion phase. - - - - - Raised when the completion phase of an instance lookup operation ends. - - - - - Create an instance of the class. - - The instance lookup that is ending the completion phase. - - - - The instance lookup operation that is ending the completion phase. - - - - - Fired when an instance is looked up. - - - - - Create an instance of the class. - - The instance lookup that is ending. - True if a new instance was created as part of the operation. - - - - True if a new instance was created as part of the operation. - - - - - The instance lookup operation that is ending. - - - - - Fired when instance lookup is complete. - - - - The instance lookup that is ending. - - - - The instance lookup operation that is beginning. - - - - - Describes the commencement of a new resolve operation. - - - - - Create an instance of the class. - - The resolve operation that is beginning. - - - - The resolve operation that is beginning. - - - - - Wraps a component registration, switching its lifetime. - - - - - Base class for disposable objects. - - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Returns true if the current instance has been disposed; otherwise false; - - - - - Describes a logical component within the container. - - - - - Called by the container when an instance is required. - - The context in which the instance will be activated. - Parameters for activation. These may be modified by the event handler. - - - - Called by the container once an instance has been constructed. - - The context in which the instance was activated. - The parameters supplied to the activator. - The instance. - - - - Called by the container once an instance has been fully constructed, including - any requested objects that depend on the instance. - - The context in which the instance was activated. - The parameters supplied to the activator. - The instance. - - - - A unique identifier for this component (shared in all sub-contexts.) - This value also appears in Services. - - - - - The activator used to create instances. - - - - - The lifetime associated with the component. - - - - - Whether the component instances are shared or not. - - - - - Whether the instances of the component should be disposed by the container. - - - - - The services provided by the component. - - - - - Additional data associated with the component. - - - - - The component registration upon which this registration is based. - - - - - Fired when a new instance is required. The instance can be - provided in order to skip the regular activator, by setting the Instance property in - the provided event arguments. - - - - - Fired when a new instance is being activated. The instance can be - wrapped or switched at this time by setting the Instance property in - the provided event arguments. - - - - - Fired when the activation process for a new instance is complete. - - - - - 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 Activator = {0}, Services = [{1}], Lifetime = {2}, Sharing = {3}, Ownership = {4}. - - - - - Pulls registrations from another component registry. - Excludes most auto-generated registrations - currently has issues with - collection registrations. - - - - - Create an external registry source that draws components from - . - - Component registry to pull registrations from. - - - - Retrieve registrations for an unregistered service, to be used - by the container. - - The service that was requested. - A function that will return existing registrations for a service. - Registrations providing the service. - - - - In this case because the components that are adapted do not come from the same - logical scope, we must return false to avoid duplicating them. - - - - - Switches components with a RootScopeLifetime (singletons) with - decorators exposing MatchingScopeLifetime targeting the specified scope. - - - - - Maps services onto the components that provide them. - - - The component registry provides services directly from components, - and also uses to generate components - on-the-fly or as adapters for other components. A component registry - is normally used through a , and not - directly by application code. - - - - - Protects instance variables from concurrent access. - - - - - External registration sources. - - - - - All registrations. - - - - - Keeps track of the status of registered services. - - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Attempts to find a default registration for the specified service. - - The service to look up. - The default registration for the service. - True if a registration exists. - - - - Determines whether the specified service is registered. - - The service to test. - True if the service is registered. - - - - Register a component. - - The component registration. - - - - Register a component. - - The component registration. - If true, existing defaults for the services provided by the - component will not be changed. - - - - Selects from the available registrations after ensuring that any - dynamic registration sources that may provide - have been invoked. - - The service for which registrations are sought. - Registrations supporting . - - - - Add a registration source that will provide registrations on-the-fly. - - The source to register. - - - - Enumerate the registered components. - - - - - Fired whenever a component is registered - either explicitly or via a - . - - - - - Gets the registration sources that are used by the registry. - - - - - True if the registry contains its own components; false if it is forwarding - registrations from another external registry. - - This property is used when walking up the scope tree looking for - registrations for a new customised scope. (See issue 336.) - - - - Fired when an is added to the registry. - - - - - Tracks the services known to the registry. - - - - - Used for bookkeeping so that the same source is not queried twice (may be null.) - - - - - Initializes a new instance of the class. - - The tracked service. - - - - The first time a service is requested, initialization (e.g. reading from sources) - happens. This value will then be set to true. Calling many methods on this type before - initialisation is an error. - - - - - The known implementations. - - - - - True if any implementations are known. - - - - - 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 The operation is only valid during initialization.. - - - - - Looks up a localized string similar to The operation is not valid until the object is initialized.. - - - - - 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 The activation has already been executed.. - - - - - Describes the commencement of a new resolve operation. - - - - - Create an instance of the class. - - The resolve operation that is ending. - If included, the exception causing the operation to end; otherwise, null. - - - - The exception causing the operation to end, or null. - - - - - The resolve operation that is ending. - - - - - 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 Subclasses of Autofac.Service must override Object.Equals(). - - - - - Looks up a localized string similar to Subclasses of Autofac.Service must override Object.GetHashCode(). - - - - - 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 Collection Support (Arrays and Generic Collection Interfaces). - - - - - 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 Lazy<T> Support. - - - - - Describes the basic requirements for generating a lightweight adapter. - - - - - Create an instance of . - - The service that will be adapted from. - The adapter function. - - - - The adapter function. - - - - - The service to be adapted from. - - - - - 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 Lightweight Adapter from {0} to {1}. - - - - - Looks up a localized string similar to The service {0} cannot be both the adapter's from and to parameters - these must differ.. - - - - - Internal implementation of the RegisterCollection/MemberOf-style collection feature. - - - - - Registration style for dynamic registrations. - - - - - Data used to create factory activators. - - - - - Create a new GeneratedFactoryActivatorData - - The type of the factory. - The service used to provide the products of the factory. - - - - Determines how the parameters of the delegate type are passed on - to the generated Resolve() call as Parameter objects. - For Func-based delegates, this defaults to ByType. Otherwise, the - parameters will be mapped by name. - - - - - Activator data that can provide an IInstanceActivator instance. - - - - - Hides standard Object members to make fluent interfaces - easier to read. - Based on blog post by @kzu here: - http://www.clariusconsulting.net/blogs/kzu/archive/2008/03/10/58301.aspx - - - - - Standard System.Object member. - - Standard result. - - - - Standard System.Object member. - - Standard result. - - - - Standard System.Object member. - - Standard result. - - - - Standard System.Object member. - - The other. - Standard result. - - - - Determines how the parameters of the delegate type are passed on - to the generated Resolve() call as Parameter objects. - - - - - Chooses parameter mapping based on the factory type. - For Func-based factories this is equivalent to ByType, for all - others ByName will be used. - - - - - Pass the parameters supplied to the delegate through to the - underlying registration as NamedParameters based on the parameter - names in the delegate type's formal argument list. - - - - - Pass the parameters supplied to the delegate through to the - underlying registration as TypedParameters based on the parameter - types in the delegate type's formal argument list. - - - - - Pass the parameters supplied to the delegate through to the - underlying registration as PositionalParameters based on the parameter - indices in the delegate type's formal argument list. - - - - - Provides components by lookup operations via an index (key) type. - - The type of the index. - The service provided by the indexed components. - - Retrieving a value given a key: - - IIndex<AccountType, IRenderer> accountRenderers = // ... - var renderer = accountRenderers[AccountType.User]; - - - - - - Get the value associated with if any is available. - - The key to look up. - The retrieved value. - True if a value associated with the key exists. - - - - Get the value associated with . - - The value to retrieve. - The associated value. - - - - - - - - - - - - - Support the - types automatically whenever type T is registered with the container. - Metadata values come from the component registration's metadata. - - - - - Provides a value along with a dictionary of metadata describing the value. - - The type of the value. - - - - Create a new instance. - - The value described by the instance. - The metadata describing the value. - - - - The value described by . - - - - - Metadata describing the value. - - - - - 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 Meta<T> Support. - - - - - Looks up a localized string similar to Meta<T, TMetadata> Support. - - - - - 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 The service '{0}' is not an open generic type.. - - - - - 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 {0} providing {1}. - - - - - Describes the activator for an open generic decorator. - - - - - Construct an . - - The decorator type. - The open generic service type to decorate. - - - - The open generic service type to decorate. - - - - - 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 The service {0} cannot be both the adapter's from and to parameters - these must differ.. - - - - - Looks up a localized string similar to Open Generic Decorator {0} from {1} to {2}. - - - - - 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 The type {0} is not an open generic type definition.. - - - - - 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 The implementation type '{0}' is not an open generic type definition.. - - - - - Looks up a localized string similar to The implementation type '{0}' does not support the interface '{1}'.. - - - - - Looks up a localized string similar to The service '{0}' is not an open generic type definition.. - - - - - Looks up a localized string similar to The service '{1}' is not assignable from implementation type '{0}'.. - - - - - 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 Owned<T> Support. - - - - - Provides registrations on-the-fly for any concrete type not already registered with - the container. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - A predicate that selects types the source will register. - - - - Retrieve registrations for an unregistered service, to be used - by the container. - - The service that was requested. - A function that will return existing registrations for a service. - Registrations providing the service. - - - - Returns a that represents the current . - - - A that represents the current . - - 2 - - - - Gets whether the registrations provided by this source are 1:1 adapters on top - of other components (I.e. like Meta, Func or Owned.) - - - - - Gets or sets an expression used to configure generated registrations. - - - A that can be used to modify the behavior - of registrations that are generated by this source. - - - - - 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 "Resolve Anything" Support. - - - - - Activation data for types located by scanning assemblies. - - - - - Create an instance of . - - - - - The filters applied to the types from the scanned assembly. - - - - - Additional actions to be performed on the concrete type registrations. - - - - - Actions to be called once the scanning operation is complete. - - - - - Fired when the activation process for a new instance is complete. - - - - - Initializes a new instance of the class. - - The context. - The component. - The parameters. - The instance. - - - - The context in which the activation occurred. - - - - - The component providing the instance. - - - - - The paramters provided when resolved. - - - - - The instance that will be used to satisfy the request. - - - - - Fired after the construction of an instance but before that instance - is shared with any other or any members are invoked on it. - - - - - Initializes a new instance of the class. - - The context. - The component. - The parameters. - The instance. - - - - The instance can be replaced if needed, e.g. by an interface proxy. - - The object to use instead of the activated instance. - - - - The context in which the activation occurred. - - - - - The component providing the instance. - - - - - The instance that will be used to satisfy the request. - - - The instance can be replaced if needed, e.g. by an interface proxy. - - - - - The parameters supplied to the activator. - - - - - Activate instances using a delegate. - - - - - Base class for instance activators. - - - - - Create an instance activator that will return instances compatible - with . - - Most derived type to which instances can be cast. - - - - Gets a string representation of the activator. - - A string describing the activator. - - - - The most specific type that the component instances are known to be castable to. - - - - - Activates component instances. - - - - - Activate an instance in the provided context. - - Context in which to activate instances. - Parameters to the instance. - The activated instance. - - The context parameter here should probably be ILifetimeScope in order to reveal Disposer, - but will wait until implementing a concrete use case to make the decision - - - - - The most specific type that the component instances are known to be castable to. - - - - - Create a delegate activator. - - The most specific type to which activated instances can be cast. - Activation delegate. - - - - Activate an instance in the provided context. - - Context in which to activate instances. - Parameters to the instance. - The activated instance. - - The context parameter here should probably be ILifetimeScope in order to reveal Disposer, - but will wait until implementing a concrete use case to make the decision - - - - - Provides a pre-constructed instance. - - - - - Provide the specified instance. - - The instance to provide. - - - - Activate an instance in the provided context. - - Context in which to activate instances. - Parameters to the instance. - The activated instance. - - The context parameter here should probably be ILifetimeScope in order to reveal Disposer, - but will wait until implementing a concrete use case to make the decision - - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Determines whether the activator disposes the instance that it holds. - Necessary because otherwise instances that are never resolved will never be - disposed. - - - - - 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 The provided instance has already been used in an activation request. Did you combine a provided instance with non-root/single-instance lifetime/sharing?. - - - - - Supplies values based on the target parameter type. - - - - - Returns true if the parameter is able to provide a value to a particular site. - - Constructor, method, or property-mutator parameter. - The component context in which the value is being provided. - If the result is true, the valueProvider parameter will - be set to a function that will lazily retrieve the parameter value. If the result is false, - will be set to null. - True if a value can be supplied; otherwise, false. - - Thrown if or is . - - - - - Binds a constructor to the parameters that will be used when it is invoked. - - - - - Construct a new ConstructorParameterBinding. - - ConstructorInfo to bind. - Available parameters. - Context in which to construct instance. - - - - Invoke the constructor with the parameter bindings. - - The constructed instance. - - - Returns a System.String that represents the current System.Object. - A System.String that represents the current System.Object. - - - - The constructor on the target type. The actual constructor used - might differ, e.g. if using a dynamic proxy. - - - - - True if the binding is valid. - - - - - Describes the constructor parameter binding. - - - - - Selects the best constructor from a set of available constructors. - - - - - Selects the best constructor from the available constructors. - - Available constructors. - The best constructor. - - - - Selects a constructor based on its signature. - - - - - Match constructors with the provided signature. - - Signature to match. - - - - Selects the best constructor from the available constructors. - - Available constructors. - The best constructor. - - - - 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 At least one binding must be provided in order to select a constructor.. - - - - - Looks up a localized string similar to The required constructor on type '{0}' with signature '{1}' is unavailable.. - - - - - Looks up a localized string similar to More than one constructor matches the signature '{0}'.. - - - - - Selects the constructor with the most parameters. - - - - - Selects the best constructor from the available constructors. - - Available constructors. - The best constructor. - A single unambiguous match could not be chosen. - - - - Uses reflection to activate instances of a type. - - - - - Create an activator for the provided type. - - Type to activate. - Constructor finder. - Constructor selector. - Parameters configured explicitly for this instance. - Properties configured explicitly for this instance. - - - - Activate an instance in the provided context. - - Context in which to activate instances. - Parameters to the instance. - The activated instance. - - The context parameter here should probably be ILifetimeScope in order to reveal Disposer, - but will wait until implementing a concrete use case to make the decision - - - - - The constructor finder. - - - - - The constructor selector. - - - - - 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 No constructors on type '{0}' can be found with the constructor finder '{1}'.. - - - - - Looks up a localized string similar to None of the constructors found with '{0}' on type '{1}' can be invoked with the available services and parameters:{2}. - - - - - Base class for parameters that provide a constant value. - - - - - Create a constant parameter that will apply to parameters matching - the supplied predicate. - - - - - - - Returns true if the parameter is able to provide a value to a particular site. - - Constructor, method, or property-mutator parameter. - The component context in which the value is being provided. - If the result is true, the valueProvider parameter will - be set to a function that will lazily retrieve the parameter value. If the result is false, - will be set to null. - True if a value can be supplied; otherwise, false. - - - - The value of the parameter. - - - - - Standard container implementation. - - - - - Creates, wires dependencies and manages lifetime for a set of components. - Most instances of are created - by a . - - - - // See ContainerBuilder for the definition of the builder variable - using (var container = builder.Build()) - { - var program = container.Resolve<Program>(); - program.Run(); - } - - - - Most functionality is provided by extension methods - on the inherited interface. - - - - - - - - - An tracks the instantiation of component instances. - It defines a boundary in which instances are shared and configured. - Disposing an will dispose the components that were - resolved through it. - - - - // See IContainer for definition of the container variable - using (var requestScope = container.BeginLifetimeScope()) - { - // Note that handler is resolved from requestScope, not - // from the container: - - var handler = requestScope.Resolve<IRequestHandler>(); - handler.Handle(request); - - // When requestScope is disposed, all resources used in processing - // the request will be released. - } - - - - All long-running applications should resolve components via an - . Choosing the duration of the lifetime is application- - specific. The standard Autofac WCF and ASP.NET/MVC integrations are already configured - to create and release s as appropriate. For example, the - ASP.NET integration will create and release an per HTTP - request. - Most functionality is provided by extension methods - on the inherited interface. - - - - - - - - - - - The context in which a service can be accessed or a component's - dependencies resolved. Disposal of a context will dispose any owned - components. - - - - - Resolve an instance of the provided registration within the context. - - The registration. - Parameters for the instance. - - The component instance. - - - - - - - Associates services with the components that provide them. - - - - - Begin a new nested scope. Component instances created via the new scope - will be disposed along with it. - - A new lifetime scope. - - - - Begin a new nested scope. Component instances created via the new scope - will be disposed along with it. - - The tag applied to the . - A new lifetime scope. - - - - Begin a new nested scope, with additional components available to it. - Component instances created via the new scope - will be disposed along with it. - - - The components registered in the sub-scope will be treated as though they were - registered in the root scope, i.e., SingleInstance() components will live as long - as the root scope. - - Action on a - that adds component registations visible only in the new scope. - A new lifetime scope. - - - - Begin a new nested scope, with additional components available to it. - Component instances created via the new scope - will be disposed along with it. - - - The components registered in the sub-scope will be treated as though they were - registered in the root scope, i.e., SingleInstance() components will live as long - as the root scope. - - The tag applied to the . - Action on a - that adds component registations visible only in the new scope. - A new lifetime scope. - - - - The disposer associated with this . - Component instances can be associated with it manually if required. - - Typical usage does not require interaction with this member- it - is used when extending the container. - - - - The tag applied to the . - - Tags allow a level in the lifetime hierarchy to be identified. - In most applications, tags are not necessary. - - - - - Fired when a new scope based on the current scope is beginning. - - - - - Fired when this scope is ending. - - - - - Fired when a resolve operation is beginning in this scope. - - - - - Create a new container. - - - - - Begin a new sub-scope. Instances created via the sub-scope - will be disposed along with it. - - A new lifetime scope. - - - - Begin a new sub-scope. Instances created via the sub-scope - will be disposed along with it. - - The tag applied to the . - A new lifetime scope. - - - - Begin a new nested scope, with additional components available to it. - Component instances created via the new scope - will be disposed along with it. - - Action on a - that adds component registations visible only in the new scope. - A new lifetime scope. - - - - Begin a new nested scope, with additional components available to it. - Component instances created via the new scope - will be disposed along with it. - - The tag applied to the . - Action on a - that adds component registations visible only in the new scope. - A new lifetime scope. - - - - Resolve an instance of the provided registration within the context. - - The registration. - Parameters for the instance. - - The component instance. - - - - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Gets the service object of the specified type. - - An object that specifies the type of service object - to get. - - A service object of type .-or- null if there is - no service object of type . - - - - - The disposer associated with this container. Instances can be associated - with it manually if required. - - - - - Tag applied to the lifetime scope. - - The tag applied to this scope and the contexts generated when - it resolves component dependencies. - - - - Fired when a new scope based on the current scope is beginning. - - - - - Fired when this scope is ending. - - - - - Fired when a resolve operation is beginning in this scope. - - - - - Associates services with the components that provide them. - - - - - Base exception type thrown whenever the dependency resolution process fails. This is a fatal - exception, as Autofac is unable to 'roll back' changes to components that may have already - been made during the operation. For example, 'on activated' handlers may have already been - fired, or 'single instance' components partially constructed. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The message. - The inner exception. - - - - Gets a message that describes the current exception. - - - The error message that explains the reason for the exception, or an empty string(""). - - - - - Maintains a set of objects to dispose, and disposes them in the reverse order - from which they were added when the Disposer is itself disposed. - - - - - Provided on an object that will dispose of other objects when it is - itself disposed. - - - - - Adds an object to the disposer. When the disposer is - disposed, so will the object be. - - The instance. - - - - Contents all implement IDisposable. - - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Adds an object to the disposer. When the disposer is - disposed, so will the object be. - - The instance. - - - - Locates the lifetime to which instances of a component should be attached. - - - - - Given the most nested scope visible within the resolve operation, find - the scope for the component. - - The most nested visible scope. - The scope for the component. - - - - Represents a set of components and related functionality - packaged together. - - - - - Apply the module to the component registry. - - Component registry to apply configuration to. - - - - Determines when instances supporting IDisposable are disposed. - - - - - The lifetime scope does not dispose the instances. - - - - - The instances are disposed when the lifetime scope is disposed. - - - - - Determines whether instances are shared within a lifetime scope. - - - - - Each request for an instance will return a new object. - - - - - Each request for an instance will return the same object. - - - - - Defines a nested structure of lifetimes. - - - - - Try to retrieve an instance based on a GUID key. If the instance - does not exist, invoke to create it. - - Key to look up. - Creation function. - An instance. - - - - The root of the sharing hierarchy. - - - - - The parent of this node of the hierarchy, or null. - - - - - Attaches the instance's lifetime to the current lifetime scope. - - - - - Given the most nested scope visible within the resolve operation, find - the scope for the component. - - The most nested visible scope. - The scope for the component. - - - - Lifetime scope implementation. - - - - - Protects shared instances from concurrent access. Other members and the base class are threadsafe. - - - - - The tag applied to root scopes when no other tag is specified. - - - - - Create a lifetime scope for the provided components and nested beneath a parent. - - The tag applied to the . - Components used in the scope. - Parent scope. - - - - Create a root lifetime scope for the provided components. - - The tag applied to the . - Components used in the scope. - - - - Create a root lifetime scope for the provided components. - - Components used in the scope. - - - - Begin a new anonymous sub-scope. Instances created via the sub-scope - will be disposed along with it. - - A new lifetime scope. - - - - Begin a new tagged sub-scope. Instances created via the sub-scope - will be disposed along with it. - - The tag applied to the . - A new lifetime scope. - - - - Begin a new anonymous sub-scope, with additional components available to it. - Component instances created via the new scope - will be disposed along with it. - - Action on a - that adds component registations visible only in the new scope. - A new lifetime scope. - - IContainer cr = // ... - using (var lifetime = cr.BeginLifetimeScope(builder => { - builder.RegisterType<Foo>(); - builder.RegisterType<Bar>().As<IBar>(); }) - { - var foo = lifetime.Resolve<Foo>(); - } - - - - - Begin a new tagged sub-scope, with additional components available to it. - Component instances created via the new scope - will be disposed along with it. - - The tag applied to the . - Action on a - that adds component registations visible only in the new scope. - A new lifetime scope. - - IContainer cr = // ... - using (var lifetime = cr.BeginLifetimeScope("unitOfWork", builder => { - builder.RegisterType<Foo>(); - builder.RegisterType<Bar>().As<IBar>(); }) - { - var foo = lifetime.Resolve<Foo>(); - } - - - - - Resolve an instance of the provided registration within the context. - - The registration. - Parameters for the instance. - - The component instance. - - - - - - - Try to retrieve an instance based on a GUID key. If the instance - does not exist, invoke to create it. - - Key to look up. - Creation function. - An instance. - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Gets the service object of the specified type. - - An object that specifies the type of service object - to get. - - A service object of type .-or- null if there is - no service object of type . - - - - - The parent of this node of the hierarchy, or null. - - - - - The root of the sharing hierarchy. - - - - - The disposer associated with this container. Instances can be associated - with it manually if required. - - - - - Tag applied to the lifetime scope. - - The tag applied to this scope and the contexts generated when - it resolves component dependencies. - - - - Associates services with the components that provide them. - - - - - Fired when a new scope based on the current scope is beginning. - - - - - Fired when this scope is ending. - - - - - Fired when a resolve operation is beginning in this scope. - - - - - Attaches the component's lifetime to scopes matching a supplied expression. - - - - - Match scopes by comparing tags for equality. - - The tags applied to matching scopes. - - - - Given the most nested scope visible within the resolve operation, find - the scope for the component. - - The most nested visible scope. - The scope for the component. - - - - 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 No scope with a Tag matching '{0}' is visible from the scope in which the instance was requested. This generally indicates that a component registered as per-HTTP request is being requested by a SingleInstance() component (or a similar scenario.) Under the web integration always request dependencies from the DependencyResolver.Current or ILifetimeScopeProvider.RequestLifetime, never from the container itself.. - - - - - Attaches the component's lifetime to the root scope. - - - - - Given the most nested scope visible within the resolve operation, find - the scope for the component. - - The most nested visible scope. - The scope for the component. - - - - A property identified by name. When applied to a reflection-based - component, the name will be matched against property names. - - - - - Create a with the specified constant value. - - The name of the property. - The property value. - - - - The name of the property. - - - - - Fired before the activation process to allow parameters to be changed or an alternative - instance to be provided. - - - - - Initializes a new instance of the class. - - The context. - The component. - The parameters. - - - - The context in which the activation is occurring. - - - - - The component providing the instance being activated. - - - - - The parameters supplied to the activator. - - - - - A service was requested that cannot be provided by the container. To avoid this exception, either register a component - to provide the required service, check for service registration using IsRegistered(), or use the ResolveOptional() - method to resolve an optional dependency. - - This exception is fatal. See for more information. - - - - Initializes a new instance of the class. - - The service. - - - - Initializes a new instance of the class. - - The service. - The inner exception. - - - - 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 The requested service '{0}' has not been registered. To avoid this exception, either register a component to provide the service, check for service registration using IsRegistered(), or use the ResolveOptional() method to resolve an optional dependency.. - - - - - Information about the ocurrence of a component being registered - with a container. - - - - - Create a new instance with a valid container and component registration. - - The container into which the registration - was made. - The component registration. - - - - The container into which the registration was made. - - - - - The component registration. - - - - - Describes a logical component within the container. - - - - - Create a new component registration. - - Unique identifier for the component. - Activator used to activate instances. - Determines how the component will be associated with its lifetime. - Whether the component is shared within its lifetime scope. - Whether the component instances are disposed at the end of their lifetimes. - Services the component provides. - Data associated with the component. - - - - Create a new component registration. - - Unique identifier for the component. - Activator used to activate instances. - Determines how the component will be associated with its lifetime. - Whether the component is shared within its lifetime scope. - Whether the component instances are disposed at the end of their lifetimes. - Services the component provides. - Data associated with the component. - The component registration upon which this registration is based. - - - - Called by the container when an instance is required. - - The context in which the instance will be activated. - Parameters for activation. - - - - Called by the container once an instance has been constructed. - - The context in which the instance was activated. - The parameters supplied to the activator. - The instance. - - - - Called by the container once an instance has been fully constructed, including - any requested objects that depend on the instance. - - The context in which the instance was activated. - The parameters supplied to the activator. - The instance. - - - - Describes the component in a human-readable form. - - A description of the component. - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - The component registration upon which this registration is based. - If this registration was created directly by the user, returns this. - - - - - A unique identifier for this component (shared in all sub-contexts.) - This value also appears in Services. - - - - - The activator used to create instances. - - - - - The lifetime associated with the component. - - - - - Whether the component instances are shared or not. - - - - - Whether the instances of the component should be disposed by the container. - - - - - The services provided by the component. - - - - - Additional data associated with the component. - - - - - Fired when a new instance is required. The instance can be - provided in order to skip the regular activator, by setting the Instance property in - the provided event arguments. - - - - - Fired when a new instance is being activated. The instance can be - wrapped or switched at this time by setting the Instance property in - the provided event arguments. - - - - - Fired when the activation process for a new instance is complete. - - - - - Catch circular dependencies that are triggered by post-resolve processing (e.g. 'OnActivated') - - - - - 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 Circular component dependency detected: {0}.. - - - - - Looks up a localized string similar to Probable circular dependency between factory-scoped components. Chain includes '{0}'. - - - - - An is a component context that sequences and monitors the multiple - activations that go into producing a single requested object graph. - - - - - Get or create and share an instance of in the . - - The scope in the hierarchy in which the operation will begin. - The component to resolve. - Parameters for the component. - The component instance. - - - - Raised when the entire operation is complete. - - - - - Raised when an instance is looked up within the operation. - - - - - A is a component context that sequences and monitors the multiple - activations that go into producing a single requested object graph. - - - - - Create an instance of in the provided scope. - - The most nested scope in which to begin the operation. The operation - can move upward to less nested scopes as components with wider sharing scopes are activated - - - - Resolve an instance of the provided registration within the context. - - The registration. - Parameters for the instance. - - The component instance. - - - - - - - Execute the complete resolve operation. - - - - - Continue building the object graph by instantiating in the - current . - - The current scope of the operation. - The component to activate. - The parameters for the component. - The resolved instance. - - - - - Associates services with the components that provide them. - - - - - 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 exception was thrown while executing a resolve operation. See the InnerException for details.. - - - - - Looks up a localized string similar to Probable circular dependency between factory-scoped components. Chain includes '{0}'. - - - - - Looks up a localized string similar to This resolve operation has already ended. When registering components using lambdas, the IComponentContext 'c' parameter to the lambda cannot be stored. Instead, either resolve IComponentContext again from 'c', or resolve a Func<> based factory to create subsequent components from.. - - - - - Identifies a service according to a type to which it can be assigned. - - - - - Initializes a new instance of the class. - - Type of the service. - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - The parameter is null. - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Return a new service of the same kind, but carrying - as the . - - The new service type. - A new service with the service type. - - - - Gets the type of the service. - - The type of the service. - - - - Gets a human-readable description of the service. - - The description. - - - - A handy unique service identifier type - all instances will be regarded as unequal. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The id. - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - The parameter is null. - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Provides a programmer-readable description of the identifying feature of the service. - - - - - - Retrieve registrations for an unregistered service, to be used - by the container. - - The service that was requested. - A function that will return existing registrations for a service. - Registrations providing the service. - - - - Generates activators for open generic types. - - - - - Represents a dependency that can be released by the dependent component. - - The service provided by the dependency. - - - Autofac automatically provides instances of whenever the - service is registered. - - - It is not necessary for , or the underlying component, to implement . - Disposing of the object is the correct way to handle cleanup of the dependency, - as this will dispose of any other components created indirectly as well. - - - When is resolved, a new is created for the - underlying , and tagged with the service matching , - generally a . This means that shared instances can be tied to this - scope by registering them as InstancePerMatchingLifetimeScope(new TypedService(typeof(T))). - - - - The component D below is disposable and implements IService: - - public class D : IService, IDisposable - { - // ... - } - - The dependent component C can dispose of the D instance whenever required by taking a dependency on - : - - public class C - { - IService _service; - - public C(Owned<IService> service) - { - _service = service; - } - - void DoWork() - { - _service.Value.DoSomething(); - } - - void OnFinished() - { - _service.Dispose(); - } - } - - In general, rather than depending on directly, components will depend on - System.Func<Owned<T>> in order to create and dispose of other components as required. - - - - - Create an instance of . - - The value representing the instance. - An IDisposable interface through which ownership can be released. - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - The owned value. - - - - - Generates registrations for services of type whenever the service - T is available. - - - - - Retrieve registrations for an unregistered service, to be used - by the container. - - The service that was requested. - A function that will return existing registrations for a service. - Registrations providing the service. - - - - When implemented by a component, an instance of the component will be resolved - and started as soon as the container is built. Autofac will not call the Start() - method when subsequent instances are resolved. If this behavior is required, use - an OnActivated() event handler instead. - - - For equivalent "Stop" functionality, implement . Autofac - will always dispose a component before any of its dependencies (except in the presence - of circular dependencies, in which case the components in the cycle are disposed in - reverse-construction order.) - - - - - Perform once-off startup processing. - - - - - Base class for user-defined modules. Modules can add a set of releated components - to a container () or attach cross-cutting functionality - to other components (. - Modules are given special support in the XML configuration feature - see - http://code.google.com/p/autofac/wiki/StructuringWithModules. - - Provides a user-friendly way to implement - via . - - Defining a module: - - public class DataAccessModule : Module - { - public string ConnectionString { get; set; } - - public override void Load(ContainerBuilder moduleBuilder) - { - moduleBuilder.RegisterGeneric(typeof(MyRepository<>)) - .As(typeof(IRepository<>)) - .InstancePerMatchingLifetimeScope(WebLifetime.Request); - - moduleBuilder.Register(c => new MyDbConnection(ConnectionString)) - .As<IDbConnection>() - .InstancePerMatchingLifetimeScope(WebLifetime.Request); - } - } - - Using the module: - - var builder = new ContainerBuilder(); - builder.RegisterModule(new DataAccessModule { ConnectionString = "..." }); - var container = builder.Build(); - var customers = container.Resolve<IRepository<Customer>>(); - - - - - - Apply the module to the component registry. - - Component registry to apply configuration to. - - - - Override to add registrations to the container. - - - Note that the ContainerBuilder parameter is unique to this module. - - The builder through which components can be - registered. - - - - Override to attach module-specific functionality to a - component registration. - - This method will be called for all existing and future component - registrations - ordering is not important. - The component registry. - The registration to attach functionality to. - - - - Override to perform module-specific processing on a registration source. - - This method will be called for all existing and future sources - - ordering is not important. - The component registry into which the source was added. - The registration source. - - - - The assembly in which the concrete module type is located. To avoid bugs whereby deriving from a module will - change the target assembly, this property can only be used by modules that inherit directly from - . - - - - - Configure the component so that instances are never disposed by the container. - - A registration builder allowing further configuration of the component. - - - - Configure the component so that instances that support IDisposable are - disposed by the container (default.) - - A registration builder allowing further configuration of the component. - - - - Configure the component so that every dependent component or call to Resolve() - gets a new, unique instance (default.) - - A registration builder allowing further configuration of the component. - - - - Configure the component so that every dependent component or call to Resolve() - gets the same, shared instance. - - A registration builder allowing further configuration of the component. - - - - Configure the component so that every dependent component or call to Resolve() - within a single ILifetimeScope gets the same, shared instance. Dependent components in - different lifetime scopes will get different instances. - - A registration builder allowing further configuration of the component. - - - - Configure the component so that every dependent component or call to Resolve() within - a ILifetimeScope tagged with any of the provided tags value gets the same, shared instance. - Dependent components in lifetime scopes that are children of the tagged scope will - share the parent's instance. If no appropriately tagged scope can be found in the - hierarchy an is thrown. - - Tag applied to matching lifetime scopes. - A registration builder allowing further configuration of the component. - - - - Configure the component so that every dependent component or call to Resolve() - within a ILifetimeScope created by an owned instance gets the same, shared instance. - Dependent components in lifetime scopes that are children of the owned instance scope will - share the parent's instance. If no appropriate owned instance scope can be found in the - hierarchy an is thrown. - - The service type provided by the component. - A registration builder allowing further configuration of the component. - - - - Configure the component so that every dependent component or call to Resolve() - within a ILifetimeScope created by an owned instance gets the same, shared instance. - Dependent components in lifetime scopes that are children of the owned instance scope will - share the parent's instance. If no appropriate owned instance scope can be found in the - hierarchy an is thrown. - - The service type provided by the component. - A registration builder allowing further configuration of the component. - - - - Configure the component so that every dependent component or call to Resolve() - within a ILifetimeScope created by an owned instance gets the same, shared instance. - Dependent components in lifetime scopes that are children of the owned instance scope will - share the parent's instance. If no appropriate owned instance scope can be found in the - hierarchy an is thrown. - - The service type provided by the component. - Key to associate with the component. - A registration builder allowing further configuration of the component. - - - - Configure the component so that every dependent component or call to Resolve() - within a ILifetimeScope created by an owned instance gets the same, shared instance. - Dependent components in lifetime scopes that are children of the owned instance scope will - share the parent's instance. If no appropriate owned instance scope can be found in the - hierarchy an is thrown. - - Key to associate with the component. - The service type provided by the component. - A registration builder allowing further configuration of the component. - - - - Configure the services that the component will provide. The generic parameter(s) to As() - will be exposed as TypedService instances. - - Service type. - A registration builder allowing further configuration of the component. - - - - Configure the services that the component will provide. The generic parameter(s) to As() - will be exposed as TypedService instances. - - Service type. - Service type. - A registration builder allowing further configuration of the component. - - - - Configure the services that the component will provide. The generic parameter(s) to As() - will be exposed as TypedService instances. - - Service type. - Service type. - Service type. - A registration builder allowing further configuration of the component. - - - - Configure the services that the component will provide. - - Service types to expose. - A registration builder allowing further configuration of the component. - - - - Configure the services that the component will provide. - - Services to expose. - A registration builder allowing further configuration of the component. - - - - Provide a textual name that can be used to retrieve the component. - - Named service to associate with the component. - The service type provided by the component. - A registration builder allowing further configuration of the component. - - - - Provide a textual name that can be used to retrieve the component. - - Named service to associate with the component. - The service type provided by the component. - A registration builder allowing further configuration of the component. - - - - Provide a key that can be used to retrieve the component. - - Key to associate with the component. - The service type provided by the component. - A registration builder allowing further configuration of the component. - - - - Provide a key that can be used to retrieve the component. - - Key to associate with the component. - The service type provided by the component. - A registration builder allowing further configuration of the component. - - - - Add a handler for the Preparing event. This event allows manipulating of the parameters - that will be provided to the component. - - The event handler. - A registration builder allowing further configuration of the component. - - - - Add a handler for the Activating event. - - The event handler. - A registration builder allowing further configuration of the component. - - - - Add a handler for the Activated event. - - The event handler. - A registration builder allowing further configuration of the component. - - - - Configure the component so that any properties whose types are registered in the - container will be wired to instances of the appropriate service. - - Set wiring options such as circular dependency wiring support. - A registration builder allowing further configuration of the component. - - - - Associates data with the component. - - Key by which the data can be located. - The data value. - A registration builder allowing further configuration of the component. - - - - Associates data with the component. - - The extended properties to associate with the component. - A registration builder allowing further configuration of the component. - - - - Associates data with the component. - - A type with properties whose names correspond to the - property names to configure. - A registration builder allowing further configuration of the component. - - - - The activator data. - - - - - The registration style. - - - - - The registration data. - - - - - Data common to all registrations made in the container, both direct (IComponentRegistration) - and dynamic (IRegistrationSource.) - - - - - Construct a RegistrationData instance. - - The default service that will be used if no others - are added. - - - - Add multiple services for the registration, overriding the default. - - The services to add. - If an empty collection is specified, this will still - clear the default service. - - - - Add a service to the registration, overriding the default. - - The service to add. - - - - Copies the contents of another RegistrationData object into this one. - - The data to copy. - When true, the default service - will be changed to that of the other. - - Thrown if is . - - - - - Empties the configured services. - - - - - The services explicitly assigned to the component. - - - - - The instance ownership assigned to the component. - - - - - The lifetime assigned to the component. - - - - - The sharing mode assigned to the component. - - - - - Extended properties assigned to the component. - - - - - Handlers for the Preparing event. - - - - - Handlers for the Activating event. - - - - - Handlers for the Activated event. - - - - - Adds registration syntax to the type. - - - - - Add a module to the container. - - The builder to register the module with. - The module to add. - - - - Add a module to the container. - - The builder to register the module with. - The module to add. - - - - Registers modules found in an assembly. - - Container builder. - The assemblies from which to register modules. - - - - Registers modules found in an assembly. - - Container builder. - The assemblies from which to register modules. - The type of the module to add. - - - - Registers modules found in an assembly. - - Container builder. - The of the module to add. - The assemblies from which to register modules. - - - - Add a component to the container. - - The builder to register the component with. - The component to add. - - - - Add a registration source to the container. - - The builder to register the registration source via. - The registration source to add. - - - - Register an instance as a component. - - The type of the instance. - Container builder. - The instance to register. - Registration builder allowing the registration to be configured. - If no services are explicitly specified for the instance, the - static type will be used as the default service (i.e. *not* instance.GetType()). - - - - Register a component to be created through reflection. - - The type of the component implementation. - Container builder. - Registration builder allowing the registration to be configured. - - - - Register a component to be created through reflection. - - The type of the component implementation. - Container builder. - Registration builder allowing the registration to be configured. - - - - Register a delegate as a component. - - The type of the instance. - Container builder. - The delegate to register. - Registration builder allowing the registration to be configured. - - - - Register a delegate as a component. - - The type of the instance. - Container builder. - The delegate to register. - Registration builder allowing the registration to be configured. - - - - Register an un-parameterised generic type, e.g. Repository<>. - Concrete types will be made as they are requested, e.g. with Resolve<Repository<int>>(). - - Container builder. - The open generic implementation type. - Registration builder allowing the registration to be configured. - - - - Specifies that the component being registered should only be made the default for services - that have not already been registered. - - Registration limit type. - Registration style. - Activator data type. - Registration to set service mapping on. - Registration builder allowing the registration to be configured. - - - - Specifies that the components being registered should only be made the default for services - that have not already been registered. - - Registration limit type. - Registration style. - Registration to set service mapping on. - Registration builder allowing the registration to be configured. - - - - Register the types in an assembly. - - Container builder. - The assemblies from which to register types. - Registration builder allowing the registration to be configured. - - - - Register the types in a list. - - Container builder. - The types to register. - Registration builder allowing the registration to be configured. - - - - Specifies a subset of types to register from a scanned assembly. - - Registration limit type. - Registration style. - Activator data type. - Registration to filter types from. - Predicate that returns true for types to register. - Registration builder allowing the registration to be configured. - - - - Specifies how a type from a scanned assembly is mapped to a service. - - Registration limit type. - Registration style. - Activator data type. - Registration to set service mapping on. - Function mapping types to services. - Registration builder allowing the registration to be configured. - - - - Specifies how a type from a scanned assembly is mapped to a service. - - Registration limit type. - Registration style. - Activator data type. - Registration to set service mapping on. - Function mapping types to services. - Registration builder allowing the registration to be configured. - - - - Specifies how a type from a scanned assembly is mapped to a service. - - Registration limit type. - Registration style. - Activator data type. - Registration to set service mapping on. - Function mapping types to services. - Registration builder allowing the registration to be configured. - - - - Specifies how a type from a scanned assembly is mapped to a service. - - Registration limit type. - Registration style. - Activator data type. - Registration to set service mapping on. - Function mapping types to services. - Registration builder allowing the registration to be configured. - - - - Specifies that a type from a scanned assembly provides its own concrete type as a service. - - Registration limit type. - Registration to set service mapping on. - Registration builder allowing the registration to be configured. - - - - Specifies that a type provides its own concrete type as a service. - - Registration limit type. - Activator data type. - Registration to set service mapping on. - Registration builder allowing the registration to be configured. - - - - Specifies that a type provides its own concrete type as a service. - - Registration limit type. - Registration to set service mapping on. - Registration builder allowing the registration to be configured. - - - - Specify how a type from a scanned assembly provides metadata. - - Registration limit type. - Registration style. - Activator data type. - Registration to set metadata on. - A function mapping the type to a list of metadata items. - Registration builder allowing the registration to be configured. - - - - Use the properties of an attribute (or interface implemented by an attribute) on the scanned type - to provide metadata values. - - Inherited attributes are supported; however, there must be at most one matching attribute - in the inheritance chain. - The attribute applied to the scanned type. - Registration to set metadata on. - Registration builder allowing the registration to be configured. - - - - Specify how a type from a scanned assembly provides metadata. - - Registration limit type. - Registration style. - Activator data type. - Registration to set service mapping on. - Key of the metadata item. - A function retrieving the value of the item from the component type. - Registration builder allowing the registration to be configured. - - - - Specifies how a type from a scanned assembly is mapped to a named service. - - Registration to set service mapping on. - Service type provided by the component. - Function mapping types to service names. - Registration builder allowing the registration to be configured. - - - - Specifies how a type from a scanned assembly is mapped to a named service. - - Registration limit type. - Registration style. - Activator data type. - Registration to set service mapping on. - Service type provided by the component. - Function mapping types to service names. - Registration builder allowing the registration to be configured. - - - - Specifies how a type from a scanned assembly is mapped to a keyed service. - - Registration to set service mapping on. - Service type provided by the component. - Function mapping types to service keys. - Registration builder allowing the registration to be configured. - - - - Specifies how a type from a scanned assembly is mapped to a keyed service. - - Registration limit type. - Registration style. - Activator data type. - Registration to set service mapping on. - Service type provided by the component. - Function mapping types to service keys. - Registration builder allowing the registration to be configured. - - - - Specifies that a type from a scanned assembly is registered as providing all of its - implemented interfaces. - - Registration limit type. - Registration to set service mapping on. - Registration builder allowing the registration to be configured. - - - - Specifies that a type is registered as providing all of its implemented interfaces. - - Registration limit type. - Activator data type. - Registration to set service mapping on. - Registration builder allowing the registration to be configured. - - - - Specifies that a type is registered as providing all of its implemented interfaces. - - Registration limit type. - Registration to set service mapping on. - Registration builder allowing the registration to be configured. - - - - Set the policy used to find candidate constructors on the implementation type. - - Registration limit type. - Activator data type. - Registration style. - Registration to set policy on. - Policy to be used when searching for constructors. - A registration builder allowing further configuration of the component. - - - - Set the policy used to find candidate constructors on the implementation type. - - Registration limit type. - Activator data type. - Registration style. - Registration to set policy on. - A function that returns the constructors to select from. - A registration builder allowing further configuration of the component. - - - - Set the policy used to select from available constructors on the implementation type. - - Registration limit type. - Activator data type. - Registration style. - Registration to set policy on. - Constructor signature to match. - A registration builder allowing further configuration of the component. - - - - Set the policy used to select from available constructors on the implementation type. - - Registration limit type. - Registration style. - Activator data type. - Registration to set policy on. - Policy to be used when selecting a constructor. - A registration builder allowing further configuration of the component. - - - - Set the policy used to select from available constructors on the implementation type. - - Registration limit type. - Activator data type. - Registration style. - Registration to set policy on. - Expression demonstrating how the constructor is called. - A registration builder allowing further configuration of the component. - - - - Configure an explicit value for a constructor parameter. - - Registration limit type. - Registration style. - Activator data type. - Registration to set parameter on. - Name of a constructor parameter on the target type. - Value to supply to the parameter. - A registration builder allowing further configuration of the component. - - - - Configure an explicit value for a constructor parameter. - - Registration limit type. - Registration style. - Activator data type. - Registration to set parameter on. - The parameter to supply to the constructor. - A registration builder allowing further configuration of the component. - - - - Configure an explicit value for a constructor parameter. - - Registration limit type. - Registration style. - Activator data type. - Registration to set parameter on. - A predicate selecting the parameter to set. - - A registration builder allowing further configuration of the component. - - - - Configure explicit values for constructor parameters. - - Registration limit type. - Registration style. - Activator data type. - Registration to set parameter on. - The parameters to supply to the constructor. - A registration builder allowing further configuration of the component. - - - - Configure an explicit value for a property. - - Registration limit type. - Registration style. - Activator data type. - Registration to set property on. - Name of a property on the target type. - Value to supply to the property. - A registration builder allowing further configuration of the component. - - - - Configure an explicit value for a property. - - Registration limit type. - Registration style. - Activator data type. - Registration to set parameter on. - The property to supply. - A registration builder allowing further configuration of the component. - - - - Configure explicit values for properties. - - Registration limit type. - Registration style. - Activator data type. - Registration to set parameter on. - The properties to supply. - A registration builder allowing further configuration of the component. - - - - Sets the target of the registration (used for metadata generation.) - - The type of the limit. - The type of the activator data. - Registration style - Registration to set target for. - The target. - - Registration builder allowing the registration to be configured. - - - Thrown if or is . - - - - - Provide a handler to be called when the component is registered. - - Registration limit type. - Registration style. - Activator data type. - Registration add handler to. - The handler. - Registration builder allowing the registration to be configured. - - - - Provide a handler to be called when the component is registred. - - Registration limit type. - Registration style. - Registration add handler to. - The handler. - Registration builder allowing the registration to be configured. - - - - Specifies that a type from a scanned assembly is registered if it implements an interface - that closes the provided open generic interface type. - - Registration limit type. - Registration style. - Activator data type. - Registration to set service mapping on. - The open generic interface or base class type for which implementations will be found. - Registration builder allowing the registration to be configured. - - - - Filters the scanned types to include only those assignable to the provided - type. - - Registration limit type. - Registration style. - Activator data type. - Registration to filter types from. - The type or interface which all classes must be assignable from. - Registration builder allowing the registration to be configured. - - - - Filters the scanned types to include only those assignable to the provided - type. - - Registration to filter types from. - The type or interface which all classes must be assignable from. - Registration builder allowing the registration to be configured. - - - - Filters the scanned types to exclude the provided type. - - Registration to filter types from. - The concrete type to exclude. - Registration builder allowing the registration to be configured. - - - - Filters the scanned types to exclude the provided type, providing specific configuration for - the excluded type. - - Registration to filter types from. - Registration for the excepted type. - The concrete type to exclude. - Registration builder allowing the registration to be configured. - - - - Filters the scanned types to include only those in the namespace of the provided type - or one of its sub-namespaces. - - Registration to filter types from. - A type in the target namespace. - Registration builder allowing the registration to be configured. - - - - Filters the scanned types to include only those in the provided namespace - or one of its sub-namespaces. - - Registration limit type. - Registration style. - Activator data type. - Registration to filter types from. - The namespace from which types will be selected. - Registration builder allowing the registration to be configured. - - - - Adapt all components implementing service - to provide using the provided - function. - - Service type to adapt from. - Service type to adapt to. Must not be the - same as . - Container builder. - Function adapting to - service , given the context and parameters. - - - - Adapt all components implementing service - to provide using the provided - function. - - Service type to adapt from. - Service type to adapt to. Must not be the - same as . - Container builder. - Function adapting to - service , given the context. - - - - Adapt all components implementing service - to provide using the provided - function. - - Service type to adapt from. - Service type to adapt to. Must not be the - same as . - Container builder. - Function adapting to - service . - - - - Decorate all components implementing open generic service . - The and parameters must be different values. - - Container builder. - Service type being decorated. Must be an open generic type. - Service key or name associated with the components being decorated. - Service key or name given to the decorated components. - The type of the decorator. Must be an open generic type, and accept a parameter - of type , which will be set to the instance being decorated. - - - - Decorate all components implementing service - using the provided function. - The and parameters must be different values. - - Service type being decorated. - Container builder. - Function decorating a component instance that provides - , given the context and parameters. - Service key or name associated with the components being decorated. - Service key or name given to the decorated components. - - - - Decorate all components implementing service - using the provided function. - The and parameters must be different values. - - Service type being decorated. - Container builder. - Function decorating a component instance that provides - , given the context. - Service key or name associated with the components being decorated. - Service key or name given to the decorated components. - - - - Decorate all components implementing service - using the provided function. - The and parameters must be different values. - - Service type being decorated. - Container builder. - Function decorating a component instance that provides - . - Service key or name associated with the components being decorated. - Service key or name given to the decorated components. - - - - Run a supplied action instead of disposing instances when they're no - longer required. - - Registration limit type. - Activator data type. - Registration style. - Registration to set release action for. - An action to perform instead of disposing the instance. - Registration builder allowing the registration to be configured. - Only one release action can be configured per registration. - - - - Wraps a registration in an implicit and automatically - activates the registration after the container is built. - - Registration to set release action for. - Registration limit type. - Activator data type. - Registration style. - A registration builder allowing further configuration of the component. - - - While you can implement an to perform some logic at - container build time, sometimes you need to just activate a registered component and - that's it. This extension allows you to automatically activate a registration on - container build. No additional logic is executed and the resolved instance is not held - so container disposal will end up disposing of the instance. - - - Depending on how you register the lifetime of the component, you may get an exception - when you build the container - components that are scoped to specific lifetimes (like - ASP.NET components scoped to a request lifetime) will fail to resolve because the - appropriate lifetime is not available. - - - - - - 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 The instance registration '{0}' can support SingleInstance() sharing only.. - - - - - Looks up a localized string similar to A metadata attribute of type {0} was not found on {1}.. - - - - - Looks up a localized string similar to More than one metadata attribute of type {0} was found on {1}.. - - - - - Looks up a localized string similar to No matching constructor exists on type '{0}'.. - - - - - An activator builder with no parameters. - - - - - Return the provided activator. - - The activator to return. - - - - Gets the activator. - - - - - Registration style for individual components. - - - - - The id used for the registration. - - - - - Handlers to notify of the component registration event. - - - - - By default, new registrations override existing registrations as defaults. - If set to true, new registrations will not change existing defaults. - - - - - The component upon which this registration is based. - - - - - Used to build an from component registrations. - - - - var builder = new ContainerBuilder(); - - builder.RegisterType<Logger>() - .As<ILogger>() - .SingleInstance(); - - builder.Register(c => new MessageHandler(c.Resolve<ILogger>())); - - var container = builder.Build(); - // resolve components from container... - - - Most functionality is accessed - via extension methods in . - - - - - - Register a callback that will be invoked when the container is configured. - - This is primarily for extending the builder syntax. - Callback to execute. - - - - Create a new container with the component registrations that have been made. - - Options that influence the way the container is initialised. - - Build can only be called once per - - this prevents ownership issues for provided instances. - Build enables support for the relationship types that come with Autofac (e.g. - Func, Owned, Meta, Lazy, IEnumerable.) To exclude support for these types, - first create the container, then call Update() on the builder. - - A new container with the configured component registrations. - - - - Configure an existing container with the component registrations - that have been made. - - - Update can only be called once per - - this prevents ownership issues for provided instances. - - An existing container to make the registrations in. - - - - Configure an existing registry with the component registrations - that have been made. - - - Update can only be called once per - - this prevents ownership issues for provided instances. - - An existing registry to make the registrations in. - - - - A parameter identified by name. When applied to a reflection-based - component, will be matched against - the name of the component's constructor arguments. When applied to - a delegate-based component, the parameter can be accessed using - . - - - Component with parameter: - - public class MyComponent - { - public MyComponent(int amount) { ... } - } - - Providing the parameter: - - var builder = new ContainerBuilder(); - builder.RegisterType<MyComponent>(); - var container = builder.Build(); - var myComponent = container.Resolve<MyComponent>(new NamedParameter("amount", 123)); - - - - - - Create a with the specified constant value. - - The name of the parameter. - The parameter value. - - - - The name of the parameter. - - - - - Extension methods that simplify extraction of parameter values from - an where T is . - Each method returns the first matching parameter value, or throws an exception if - none is provided. - - - At configuration time, delegate registrations can retrieve parameter values using - the methods , and : - - builder.Register((c, p) => new FtpClient(p.Named<string>("server"))); - - These parameters can be provided at resolution time: - - container.Resolve<FtpClient>(new NamedParameter("server", "ftp.example.com")); - - Alternatively, the parameters can be provided via a Generated Factory - http://code.google.com/p/autofac/wiki/DelegateFactories. - - - - - Retrieve a named parameter value from a instance. - - The type to which the returned value will be cast. - The available parameters to choose from. - The name of the parameter to select. - The value of the selected parameter. - - - - - Retrieve a positional parameter value from a instance. - - The type to which the returned value will be cast. - The available parameters to choose from. - The zero-based position of the parameter to select. - The value of the selected parameter. - The position value is the one associated with the parameter when - it was constructed, not its index into the - sequence. - - - - - Retrieve a typed parameter value from a instance. - - The type to which the returned value will be cast. - The available parameters to choose from. - The value of the selected parameter. - - - - - A parameter that is identified according to an integer representing its - position in an argument list. When applied to a reflection-based - component, will be matched against - the indices of the component's constructor arguments. When applied to - a delegate-based component, the parameter can be accessed using - . - - - Component with parameter: - - public class MyComponent - { - public MyComponent(int amount) { ... } - } - - Providing the parameter: - - var builder = new ContainerBuilder(); - builder.RegisterType<MyComponent>(); - var container = builder.Build(); - var myComponent = container.Resolve<MyComponent>(new PositionalParameter(0, 123)); - - - - - - Construct a positional parameter with the specified constant value. - - The zero-based position of the parameter. - The parameter value. - - - - The zero-based position of the parameter. - - - - - Adds syntactic convenience methods to the interface. - - - - - Set any properties on that can be - resolved in the context. - - Type of instance. Used only to provide method chaining. - The context from which to resolve the service. - The instance to inject properties into. - . - - - - Set any null-valued properties on that can be - resolved by the container. - - Type of instance. Used only to provide method chaining. - The context from which to resolve the service. - The instance to inject properties into. - . - - - - Retrieve a service from the context. - - The type to which the result will be cast. - The context from which to resolve the service. - Name of the service. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context. - - The type to which the result will be cast. - The context from which to resolve the service. - Name of the service. - The parameters. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context. - - The type to which the result will be cast. - The context from which to resolve the service. - Name of the service. - The parameters. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context. - - The type to which the result will be cast. - The context from which to resolve the service. - Key of the service. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context. - - The type to which the result will be cast. - The context from which to resolve the service. - Key of the service. - The parameters. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context. - - The type to which the result will be cast. - The context from which to resolve the service. - Key of the service. - The parameters. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context. - - The service to retrieve. - The context from which to resolve the service. - The component instance that provides the service. - - - - - - Retrieve a service from the context. - - The type to which the result will be cast. - The context from which to resolve the service. - Parameters for the service. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context. - - The type to which the result will be cast. - The context from which to resolve the service. - Parameters for the service. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context. - - The context from which to resolve the service. - The service type. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context. - - The context from which to resolve the service. - Parameters for the service. - The service type. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context. - - The context from which to resolve the service. - Parameters for the service. - The service type. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context. - - The context from which to resolve the service. - The service name. - Type of the service. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context. - - The context from which to resolve the service. - Parameters for the service. - The service name. - Type of the service. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context. - - The context from which to resolve the service. - Parameters for the service. - The service name. - Type of the service. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context. - - The context from which to resolve the service. - Key of the service. - Type of the service. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context. - - The context from which to resolve the service. - Key of the service. - Type of the service. - The parameters. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context. - - The context from which to resolve the service. - Key of the service. - Type of the service. - The parameters. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context. - - The context from which to resolve the service. - The service to resolve. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context. - - The context from which to resolve the service. - Parameters for the service. - The service to resolve. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context. - - The context from which to resolve the service. - Parameters for the service. - The service to resolve. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context, or null if the service is not - registered. - - The context from which to resolve the service. - The service to resolve. - - The component instance that provides the service, or null. - - - - - - Retrieve a service from the context, or null if the service is not - registered. - - The context from which to resolve the service. - Parameters for the service. - The service to resolve. - - The component instance that provides the service, or null. - - - - - - Retrieve a service from the context, or null if the service is not - registered. - - The context from which to resolve the service. - Parameters for the service. - The service to resolve. - - The component instance that provides the service, or null. - - - - - - Retrieve a service from the context, or null if the service is not - registered. - - The context from which to resolve the service. - The name of the service. - The service to resolve. - - The component instance that provides the service, or null. - - - - - - Retrieve a service from the context, or null if the service is not - registered. - - The context from which to resolve the service. - Parameters for the service. - The name of the service. - The service to resolve. - - The component instance that provides the service, or null. - - - - - - Retrieve a service from the context, or null if the service is not - registered. - - The context from which to resolve the service. - Parameters for the service. - The name of the service. - The service to resolve. - - The component instance that provides the service, or null. - - - - - - Retrieve a service from the context, or null if the service is not - registered. - - The context from which to resolve the service. - The name of the service. - The service to resolve. - - The component instance that provides the service, or null. - - - - - - Retrieve a service from the context, or null if the service is not - registered. - - The context from which to resolve the service. - Parameters for the service. - The name of the service. - The service to resolve. - - The component instance that provides the service, or null. - - - - - - Retrieve a service from the context, or null if the service is not - registered. - - The context from which to resolve the service. - Parameters for the service. - The key of the service. - The service to resolve. - - The component instance that provides the service, or null. - - - - - - Retrieve a service from the context, or null if the service is not - registered. - - The context from which to resolve the service. - The type of the service. - - The component instance that provides the service, or null. - - - - - - Retrieve a service from the context, or null if the service is not - registered. - - The context from which to resolve the service. - Parameters for the service. - The type of the service. - - The component instance that provides the service, or null. - - - - - - Retrieve a service from the context, or null if the service is not - registered. - - The context from which to resolve the service. - Parameters for the service. - The type of the service. - - The component instance that provides the service, or null. - - - - - - Retrieve a service from the context, or null if the service is not - registered. - - The context from which to resolve the service. - The service. - - The component instance that provides the service, or null. - - - - - - Retrieve a service from the context, or null if the service is not - registered. - - The context from which to resolve the service. - The service. - Parameters for the service. - - The component instance that provides the service, or null. - - - - - - Retrieve a service from the context, or null if the service is not - registered. - - The context from which to resolve the service. - The service. - Parameters for the service. - - The component instance that provides the service, or null. - - - - - - Determine whether the specified service is available in the context. - - The context from which to resolve the service. - The service to test for the registration of. - True if the service is registered. - - - - Determine whether the specified service is available in the context. - - The context from which to resolve the service. - The service to test for the registration of. - True if the service is registered. - - - - Determine whether the specified service is available in the context. - - The context from which to resolve the service. - The name of the service to test for the registration of. - Type type of the service to test for the registration of. - True if the service is registered. - - - - Determine whether the specified service is available in the context. - - The context from which to resolve the service. - The name of the service to test for the registration of. - Type type of the service to test for the registration of. - True if the service is registered. - - - - Determine whether the specified service is available in the context. - - The context from which to resolve the service. - The key of the service to test for the registration of. - Type type of the service to test for the registration of. - True if the service is registered. - - - - Determine whether the specified service is available in the context. - - The context from which to resolve the service. - The key of the service to test for the registration of. - Type type of the service to test for the registration of. - True if the service is registered. - - - - Determine whether the specified service is available in the context. - - The context from which to resolve the service. - The service to test for the registration of. - True if the service is registered. - - - - Try to retrieve a service from the context. - - The context from which to resolve the service. - The service to resolve. - The resulting component instance providing the service, or null. - The parameters. - - True if a component providing the service is available. - - - - Thrown if is . - - - - - Try to retrieve a service from the context. - - The context from which to resolve the service. - The service to resolve. - The resulting component instance providing the service, or null. - - True if a component providing the service is available. - - - - - - Try to retrieve a service from the context. - - The context from which to resolve the service. - The service type to resolve. - The resulting component instance providing the service, or null. - - True if a component providing the service is available. - - - - - - Try to retrieve a service from the context. - - The service type to resolve. - The context from which to resolve the service. - The resulting component instance providing the service, or default(T). - - True if a component providing the service is available. - - - - - - Try to retrieve a service from the context. - - The context from which to resolve the service. - The name of the service to resolve. - The type of the service to resolve. - The resulting component instance providing the service, or null. - - True if a component providing the service is available. - - - - - - Try to retrieve a service from the context. - - The context from which to resolve the service. - The key of the service to resolve. - The type of the service to resolve. - The resulting component instance providing the service, or null. - - True if a component providing the service is available. - - - - - - Flexible parameter type allows arbitrary values to be retrieved - from the resolution context. - - - - - Create an instance of the ResolvedParameter class. - - A predicate that determines which parameters on a constructor will be supplied by this instance. - A function that supplies the parameter value given the context. - - - - Returns true if the parameter is able to provide a value to a particular site. - - Constructor, method, or property-mutator parameter. - The component context in which the value is being provided. - If the result is true, the valueProvider parameter will - be set to a function that will lazily retrieve the parameter value. If the result is false, - will be set to null. - True if a value can be supplied; otherwise, false. - - - - Construct a that will match parameters of type - and resolve for those parameters an implementation - registered with the name . - - The type of the parameter to match. - The name of the matching service to resolve. - A configured instance. - - - - - - Construct a that will match parameters of type - and resolve for those parameters an implementation - registered with the key . - - The type of the parameter to match. - The key of the matching service to resolve. - A configured instance. - - - - A parameter that can supply values to sites that exactly - match a specified type. When applied to a reflection-based - component, will be matched against - the types of the component's constructor arguments. When applied to - a delegate-based component, the parameter can be accessed using - . - - - Component with parameter: - - public class MyComponent - { - public MyComponent(int amount) { ... } - } - - Providing the parameter: - - var builder = new ContainerBuilder(); - builder.RegisterType<MyComponent>(); - var container = builder.Build(); - var myComponent = container.Resolve<MyComponent>(new TypedParameter(typeof(int), 123)); - - - - - - Create a typed parameter with the specified constant value. - - The exact type to match. - The parameter value. - - - - Shortcut for creating - by using the - - type to be used for the parameter - The parameter value. - new typed parameter - - - - The type against which targets are matched. - - - - - Extends with methods that are useful in - building scanning rules for . - - - - - Returns true if this type is in the namespace - or one of its sub-namespaces. - - The type to test. - The namespace to test. - True if this type is in the namespace - or one of its sub-namespaces; otherwise, false. - - - - Returns true if this type is in the same namespace as - or one of its sub-namespaces. - - The type to test. - True if this type is in the same namespace as - or one of its sub-namespaces; otherwise, false. - - - Determines whether the candidate type supports any base or - interface that closes the provided generic type. - - - - - - - Determines whether this type is assignable to . - - The type to test assignability to. - True if this type is assignable to references of type - ; otherwise, False. - - - - 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 The type '{0}' is not an open generic class or interface type.. - - - - - Extension methods for . - - - - - Safely returns the set of loadable types from an assembly. - - The from which to load types. - - The set of types from the , or the subset - of types that could be loaded if there was any error. - - - Thrown if is . - - - - - Helper methods used throughout the codebase. - - - - - Enforce that an argument is not null. Returns the - value if valid so that it can be used inline in - base initialiser syntax. - - - - - - - - - Enforce that sequence does not contain null. Returns the - value if valid so that it can be used inline in - base initialiser syntax. - - - The value. - The name. - - - - - Enforces that the provided object is non-null. - - - The value. - - - - - Enforce that an argument is not null or empty. Returns the - value if valid so that it can be used inline in - base initialiser syntax. - - The value. - The description. - - - - - Enforce that the argument is a delegate type. - - The type to test. - - - - 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 The argument '{0}' cannot be empty.. - - - - - Looks up a localized string similar to The object of type '{0}' cannot be null.. - - - - - Looks up a localized string similar to Type {0} returns void.. - - - - - Looks up a localized string similar to The sequence provided as argument '{0}' cannot contain null elements.. - - - - - Looks up a localized string similar to Type {0} is not a delegate type.. - - - - - Extension methods for reflection-related types. - - - - - Maps from a property-set-value parameter to the declaring property. - - Parameter to the property setter. - The property info on which the setter is specified. - True if the parameter is a property setter. - - - - Get a PropertyInfo object from an expression of the form - x => x.P. - - Type declaring the property. - The type of the property. - Expression mapping an instance of the - declaring type to the property value. - Property info. - - - - Get the MethodInfo for a method called in the - expression. - - Type on which the method is called. - Expression demonstrating how the method appears. - The method info for the called method. - - - - Gets the for the new operation called in the expression. - - The type on which the constructor is called. - Expression demonstrating how the constructor is called. - The for the called constructor. - - - - Retrieves a custom attribute of a specified type that is applied to a specified member, - and optionally inspects the ancestors of that member. - - The type of attribute to search for. - The member to inspect. - true to inspect the ancestors of element; otherwise, false. - A custom attribute that matches , or null if no such attribute is found. - - - - 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 The provided expression must be of the form () =>new X(), but the provided expression was {0}.. - - - - - Looks up a localized string similar to The provided expression must be of the form x =>x.M(), but the provided expression was {0}.. - - - - - Looks up a localized string similar to The provided expression must be of the form x =>x.P, but the provided expression was {0}.. - - - - - Adapts an action to the interface. - - - - - Joins the strings into one single string interspersing the elements with the separator (a-la - System.String.Join()). - - The elements. - The separator. - The joined string. - - - - Appends the item to the specified sequence. - - - The sequence. - The trailing item. - - - - - Prepends the item to the specified sequence. - - - The sequence. - The leading item. - - - - Returns the first concrete interface supported by the candidate type that - closes the provided open generic service type. - The type that is being checked for the interface. - The open generic type to locate. - The type of the interface. - - - - Looks for an interface on the candidate type that closes the provided open generic interface type. - - The type that is being checked for the interface. - The open generic service type to locate. - True if a closed implementation was found; otherwise false. - - - - Retrieve registrations for an unregistered service, to be used - by the container. - - The service that was requested. - A function that will return existing registrations for a service. - Registrations providing the service. - - - - Signal attribute for static analysis that indicates a helper method is - validating arguments for . - - - - - 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 Delegate Support (Func<T>and Custom Delegates). - - - - diff --git a/packages/Autofac.3.1.1/lib/portable-win+net40+sl50+wp8/Autofac.dll b/packages/Autofac.3.1.1/lib/portable-win+net40+sl50+wp8/Autofac.dll deleted file mode 100644 index 8abe167..0000000 Binary files a/packages/Autofac.3.1.1/lib/portable-win+net40+sl50+wp8/Autofac.dll and /dev/null differ diff --git a/packages/Autofac.3.1.1/lib/portable-win+net40+sl50+wp8/Autofac.xml b/packages/Autofac.3.1.1/lib/portable-win+net40+sl50+wp8/Autofac.xml deleted file mode 100644 index 67e9421..0000000 --- a/packages/Autofac.3.1.1/lib/portable-win+net40+sl50+wp8/Autofac.xml +++ /dev/null @@ -1,6678 +0,0 @@ - - - - Autofac - - - - - Service used as a "flag" to indicate a particular component should be - automatically activated on container build. - - - - - Services are the lookup keys used to locate component instances. - - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Implements the operator ==. - - The left operand. - The right operand. - The result of the operator. - - - - Implements the operator !=. - - The left operand. - The right operand. - The result of the operator. - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - The parameter is null. - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Gets a human-readable description of the service. - - The description. - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - if the specified is not - and is an ; otherwise, . - - - - All services of this type are considered "equal." - - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . Always 0 for this type. - - - - All services of this type are considered "equal" and use the same hash code. - - - - - - Gets the service description. - - - Always returns AutoActivate. - - - - - Used with the WithMetadata configuration method to - associate key-value pairs with an . - - Interface with properties whose names correspond to - the property keys. - This feature was suggested by OJ Reeves (@TheColonial). - - - - Set one of the property values. - - The type of the property. - An expression that accesses the property to set. - The property value to set. - - - - 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 Cannot choose between multiple constructors with equal length {0} on type '{1}'. Select the constructor explicitly, with the UsingConstructor() configuration method, when the component is registered.. - - - - - 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 {0} ---> {1} (See inner exception for details.). - - - - - Support the System.Lazy<T, TMetadata> - types automatically whenever type T is registered with the container. - Metadata values come from the component registration's metadata. - When a dependency of a lazy type is used, the instantiation of the underlying - component will be delayed until the Value property is first accessed. - - - - - Allows registrations to be made on-the-fly when unregistered - services are requested (lazy registrations.) - - - - - Retrieve registrations for an unregistered service, to be used - by the container. - - The service that was requested. - A function that will return existing registrations for a service. - Registrations providing the service. - - If the source is queried for service s, and it returns a component that implements both s and s', then it - will not be queried again for either s or s'. This means that if the source can return other implementations - of s', it should return these, plus the transitive closure of other components implementing their - additional services, along with the implementation of s. It is not an error to return components - that do not implement . - - - - - Gets whether the registrations provided by this source are 1:1 adapters on top - of other components (I.e. like Meta, Func or Owned.) - - - - - 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 Lazy<T, TMetadata> Support. - - - - - 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 The type '{0}' cannot be used as a metadata view. A metadata view must be a concrete class with a parameterless or dictionary constructor.. - - - - - Looks up a localized string similar to Export metadata for '{0}' is missing and no default value was supplied.. - - - - - Provides a value along with metadata describing the value. - - The type of the value. - An interface to which metadata values can be bound. - - - - Create a new instance. - - The value described by the instance. - The metadata describing the value. - - - - The value described by . - - - - - Metadata describing the value. - - - - - Support the - types automatically whenever type T is registered with the container. - Metadata values come from the component registration's metadata. - - - - - Finds constructors that match a finder function. - - - - - Find suitable constructors from which to select. - - - - - Finds suitable constructors on the target type. - - Type to search for constructors. - Suitable constructors. - - - - Initializes a new instance of the class. - - - Default to selecting all public constructors. - - - - - Initializes a new instance of the class. - - The finder function. - - - - Finds suitable constructors on the target type. - - Type to search for constructors. - Suitable constructors. - - - - Extension methods for configuring the . - - - - - Fluent method for setting the registration configuration on . - - The registration source to configure. - A configuration action that will run on any registration provided by the source. - - The with the registration configuration set. - - - - - 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 Module.ThisAssembly is only available in modules that inherit directly from Module.. - - - - - Support the - type automatically whenever type T is registered with the container. - When a dependency of a lazy type is used, the instantiation of the underlying - component will be delayed until the Value property is first accessed. - - - - - Generates context-bound closures that represent factories from - a set of heuristics based on delegate type signatures. - - - - - Create a factory generator. - - The service that will be activated in - order to create the products of the factory. - The delegate to provide as a factory. - The parameter mapping mode to use. - - - - Create a factory generator. - - The component that will be activated in - order to create the products of the factory. - The delegate to provide as a factory. - The parameter mapping mode to use. - - - - Generates a factory delegate that closes over the provided context. - - The context in which the factory will be used. - Parameters provided to the resolve call for the factory itself. - A factory delegate that will work within the context. - - - - Generates a factory delegate that closes over the provided context. - - The context in which the factory will be used. - Parameters provided to the resolve call for the factory itself. - A factory delegate that will work within the context. - - - - Reflection activator data for concrete types. - - - - - Builder for reflection-based activators. - - - - - Specify a reflection activator for the given type. - - Type that will be activated. - - - - Get the implementation type. - - - - - The constructor finder for the registration. - - - - - The constructor selector for the registration. - - - - - The explicitly bound constructor parameters. - - - - - The explicitly bound properties. - - - - - Activator data that can provide an IInstanceActivator instance. - - - - - The instance activator based on the provided data. - - - - - Specify a reflection activator for the given type. - - Type that will be activated. - - - - The instance activator based on the provided data. - - - - - Parameterises the construction of a container by a . - - - - - No options - the default behavior for container building. - - - - - Prevents inclusion of standard modules like support for - relationship types including etc. - - - - - Does not call on components implementing - this interface (useful for module testing.) - - - - - Data structure used to construct registrations. - - The most specific type to which instances of the registration - can be cast. - Activator builder type. - Registration style type. - - - - Configure the component so that instances are never disposed by the container. - - A registration builder allowing further configuration of the component. - - - - Configure the component so that instances that support IDisposable are - disposed by the container (default.) - - A registration builder allowing further configuration of the component. - - - - Configure the component so that every dependent component or call to Resolve() - gets a new, unique instance (default.) - - A registration builder allowing further configuration of the component. - - - - Configure the component so that every dependent component or call to Resolve() - gets the same, shared instance. - - A registration builder allowing further configuration of the component. - - - - Configure the component so that every dependent component or call to Resolve() - within a single ILifetimeScope gets the same, shared instance. Dependent components in - different lifetime scopes will get different instances. - - A registration builder allowing further configuration of the component. - - - - Configure the component so that every dependent component or call to Resolve() within - a ILifetimeScope tagged with any of the provided tags value gets the same, shared instance. - Dependent components in lifetime scopes that are children of the tagged scope will - share the parent's instance. If no appropriately tagged scope can be found in the - hierarchy an is thrown. - - Tag applied to matching lifetime scopes. - A registration builder allowing further configuration of the component. - - - - Configure the component so that every dependent component or call to Resolve() - within a ILifetimeScope created by an owned instance gets the same, shared instance. - Dependent components in lifetime scopes that are children of the owned instance scope will - share the parent's instance. If no appropriate owned instance scope can be found in the - hierarchy an is thrown. - - Service type. - A registration builder allowing further configuration of the component. - - - - Configure the component so that every dependent component or call to Resolve() - within a ILifetimeScope created by an owned instance gets the same, shared instance. - Dependent components in lifetime scopes that are children of the owned instance scope will - share the parent's instance. If no appropriate owned instance scope can be found in the - hierarchy an is thrown. - - Service type. - A registration builder allowing further configuration of the component. - - - - Configure the component so that every dependent component or call to Resolve() - within a ILifetimeScope created by an owned instance gets the same, shared instance. - Dependent components in lifetime scopes that are children of the owned instance scope will - share the parent's instance. If no appropriate owned instance scope can be found in the - hierarchy an is thrown. - - The service type provided by the component. - Key to associate with the component. - A registration builder allowing further configuration of the component. - - - - Configure the component so that every dependent component or call to Resolve() - within a ILifetimeScope created by an owned instance gets the same, shared instance. - Dependent components in lifetime scopes that are children of the owned instance scope will - share the parent's instance. If no appropriate owned instance scope can be found in the - hierarchy an is thrown. - - Key to associate with the component. - The service type provided by the component. - A registration builder allowing further configuration of the component. - - - - Configure the services that the component will provide. The generic parameter(s) to As() - will be exposed as TypedService instances. - - Service type. - A registration builder allowing further configuration of the component. - - - - Configure the services that the component will provide. The generic parameter(s) to As() - will be exposed as TypedService instances. - - Service type. - Service type. - A registration builder allowing further configuration of the component. - - - - Configure the services that the component will provide. The generic parameter(s) to As() - will be exposed as TypedService instances. - - Service type. - Service type. - Service type. - A registration builder allowing further configuration of the component. - - - - Configure the services that the component will provide. - - Service types to expose. - A registration builder allowing further configuration of the component. - - - - Configure the services that the component will provide. - - Services to expose. - A registration builder allowing further configuration of the component. - - - - Provide a textual name that can be used to retrieve the component. - - Named service to associate with the component. - The service type provided by the component. - A registration builder allowing further configuration of the component. - - - - Provide a textual name that can be used to retrieve the component. - - Named service to associate with the component. - The service type provided by the component. - A registration builder allowing further configuration of the component. - - - - Provide a key that can be used to retrieve the component. - - Key to associate with the component. - The service type provided by the component. - A registration builder allowing further configuration of the component. - - - - Provide a key that can be used to retrieve the component. - - Key to associate with the component. - The service type provided by the component. - A registration builder allowing further configuration of the component. - - - - Add a handler for the Preparing event. This event allows manipulating of the parameters - that will be provided to the component. - - The event handler. - A registration builder allowing further configuration of the component. - - - - Add a handler for the Activating event. - - The event handler. - A registration builder allowing further configuration of the component. - - - - Add a handler for the Activated event. - - The event handler. - A registration builder allowing further configuration of the component. - - - - Configure the component so that any properties whose types are registered in the - container will be wired to instances of the appropriate service. - - Set wiring options such as circular dependency wiring support. - A registration builder allowing further configuration of the component. - - - - Associates data with the component. - - Key by which the data can be located. - The data value. - A registration builder allowing further configuration of the component. - - - - Associates data with the component. - - The extended properties to associate with the component. - A registration builder allowing further configuration of the component. - - - - Associates data with the component. - - A type with properties whose names correspond to the - property names to configure. - A registration builder allowing further configuration of the component. - - - - The activator data. - - - - - The registration style. - - - - - The registration data. - - - - - Delegates registration lookups to a specified registry. When write operations are applied, - initialises a new 'writeable' registry. - - - Safe for concurrent access by multiple readers. Write operations are single-threaded. - - - - - Provides component registrations according to the services they provide. - - - - - Attempts to find a default registration for the specified service. - - The service to look up. - The default registration for the service. - True if a registration exists. - - - - Determines whether the specified service is registered. - - The service to test. - True if the service is registered. - - - - Register a component. - - The component registration. - - - - Register a component. - - The component registration. - If true, existing defaults for the services provided by the - component will not be changed. - - - - Selects from the available registrations after ensuring that any - dynamic registration sources that may provide - have been invoked. - - The service for which registrations are sought. - Registrations supporting . - - - - Add a registration source that will provide registrations on-the-fly. - - The source to register. - - - - Enumerate the registered components. - - - - - Fired whenever a component is registered - either explicitly or via a - . - - - - - Gets the registration sources that are used by the registry. - - - - - True if the registry contains its own components; false if it is forwarding - registrations from another external registry. - - This property is used when walking up the scope tree looking for - registrations for a new customised scope. (See issue 336.) - - - - Fired when an is added to the registry. - - - - - Enables contravariant Resolve() for interfaces that have a single contravariant ('in') parameter. - - - interface IHandler<in TCommand> - { - void Handle(TCommand command); - } - - class Command { } - - class DerivedCommand : Command { } - - class CommandHandler : IHandler<Command> { ... } - - var builder = new ContainerBuilder(); - builder.RegisterSource(new ContravariantRegistrationSource()); - builder.RegisterType<CommandHandler>(); - var container = builder.Build(); - // Source enables this line, even though IHandler<Command> is the - // actual registered type. - var handler = container.Resolve<IHandler<DerivedCommand>>(); - handler.Handle(new DerivedCommand()); - - - - - Retrieve registrations for an unregistered service, to be used - by the container. - - The service that was requested. - A function that will return existing registrations for a service. - Registrations providing the service. - - If the source is queried for service s, and it returns a component that implements both s and s', then it - will not be queried again for either s or s'. This means that if the source can return other implementations - of s', it should return these, plus the transitive closure of other components implementing their - additional services, along with the implementation of s. It is not an error to return components - that do not implement . - - - - - Gets whether the registrations provided by this source are 1:1 adapters on top - of other components (I.e. like Meta, Func or Owned.) - - - - - Options that can be applied when autowiring properties on a component. (Multiple options can - be specified using bitwise 'or' - e.g. AllowCircularDependencies | PreserveSetValues. - - - - - Default behavior. Circular dependencies are not allowed; existing non-default - property values are overwritten. - - - - - Allows property-property and property-constructor circular dependency wiring. - This flag moves property wiring from the Activating to the Activated event. - - - - - If specified, properties that already have a non-default value will be left - unchanged in the wiring operation. - - - - - Static factory methods to simplify the creation and handling of IRegistrationBuilder{L,A,R}. - - - To create an for a specific type, use: - - var cr = RegistrationBuilder.ForType(t).CreateRegistration(); - - The full builder syntax is supported: - - var cr = RegistrationBuilder.ForType(t).Named("foo").ExternallyOwned().CreateRegistration(); - - - - - - Creates a registration builder for the provided delegate. - - Instance type returned by delegate. - Delegate to register. - A registration builder. - - - - Creates a registration builder for the provided delegate. - - Delegate to register. - Most specific type return value of delegate can be cast to. - A registration builder. - - - - Creates a registration builder for the provided type. - - Implementation type to register. - A registration builder. - - - - Creates a registration builder for the provided type. - - Implementation type to register. - A registration builder. - - - - Create an from a . - (There is no need to call - this method when registering components through a .) - - - When called on the result of one of the methods, - the returned registration will be different from the one the builder itself registers - in the container. - - - - var registration = RegistrationBuilder.ForType<Foo>().CreateRegistration(); - - - - - - The registration builder. - An IComponentRegistration. - - Thrown if is . - - - - - Create an IComponentRegistration from data. - - Id of the registration. - Registration data. - Activator. - Services provided by the registration. - An IComponentRegistration. - - - - Create an IComponentRegistration from data. - - Id of the registration. - Registration data. - Activator. - Services provided by the registration. - Optional; target registration. - An IComponentRegistration. - - Thrown if or is . - - - - - Register a component in the component registry. This helper method is necessary - in order to execute OnRegistered hooks and respect PreserveDefaults. - - Hoping to refactor this out. - - - - Component registry to make registration in. - Registration builder with data for new registration. - - - - 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 The type '{0}' is not assignable to service '{1}'.. - - - - - Adds registration syntax for less commonly-used features. - - - These features are in this namespace because they will remain accessible to - applications originally written against Autofac 1.4. In Autofac 2, this functionality - is implicitly provided and thus making explicit registrations is rarely necessary. - - - - - Registers a factory delegate. - - Container builder. - Factory type to generate. - Registration builder allowing the registration to be configured. - Factory delegates are provided automatically in Autofac 2, - and this method is generally not required. - - - - Registers a factory delegate. - - Container builder. - Factory type to generate. - The service that the delegate will return instances of. - Registration builder allowing the registration to be configured. - Factory delegates are provided automatically in Autofac 2, and - this method is generally not required. - - - - Registers a factory delegate. - - The type of the delegate. - Container builder. - The service that the delegate will return instances of. - Registration builder allowing the registration to be configured. - Factory delegates are provided automatically in Autofac 2, - and this method is generally not required. - - - - Registers a factory delegate. - - The type of the delegate. - Container builder. - Registration builder allowing the registration to be configured. - Factory delegates are provided automatically in Autofac 2, - and this method is generally not required. - - - - Changes the parameter mapping mode of the supplied delegate type to match - parameters by name. - - Factory delegate type - Activator data type - Registration style - Registration to change parameter mapping mode of. - Registration builder allowing the registration to be configured. - - Thrown if is . - - - - - Changes the parameter mapping mode of the supplied delegate type to match - parameters by position. - - Factory delegate type - Activator data type - Registration style - Registration to change parameter mapping mode of. - Registration builder allowing the registration to be configured. - - Thrown if is . - - - - - Changes the parameter mapping mode of the supplied delegate type to match - parameters by type. - - Factory delegate type - Activator data type - Registration style - Registration to change parameter mapping mode of. - Registration builder allowing the registration to be configured. - - Thrown if is . - - - - - Registers the type as a collection. If no services or names are specified, the - default services will be IList<T>, ICollection<T>, and IEnumerable<T> - - The type of the collection elements. - Container builder. - A unique name for the collection that can be passed to MemberOf(). - Registration builder allowing the registration to be configured. - Collections are provided automatically in Autofac 2, - and this method is generally not required. - - - - Registers the type as a collection. If no services or names are specified, the - default services will be IList<T>, ICollection<T>, and IEnumerable<T> - - The type of the collection elements. - Container builder. - A unique name for the collection that can be passed to MemberOf(). - Registration builder allowing the registration to be configured. - Collections are provided automatically in Autofac 2, - and this method is generally not required. - - - - Include the element explicitly in a collection configured using RegisterCollection. - - Registration limit type. - Registration style. - Activator data type. - Registration to export. - The collection name, as passed to RegisterCollection. - A registration builder allowing further configuration of the component. - - - - 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 Build() or Update() can only be called once on a ContainerBuilder.. - - - - - Looks up a localized string similar to An error occurred while attempting to automatically activate registration '{0}'. See the inner exception for information on the source of the failure.. - - - - - 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 A delegate registered to create instances of '{0}' returned null.. - - - - - 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 Bound constructor '{0}'.. - - - - - Looks up a localized string similar to The binding cannot be instantiated.. - - - - - Looks up a localized string similar to An exception was thrown while invoking the constructor '{0}' on type '{1}'.. - - - - - Looks up a localized string similar to Cannot resolve parameter '{1}' of constructor '{0}'.. - - - - - Provides parameters that have a default value, set with an optional parameter - declaration in C# or VB. - - - - - Used in order to provide a value to a constructor parameter or property on an instance - being created by the container. - - - Not all parameters can be applied to all sites. - - - - - Returns true if the parameter is able to provide a value to a particular site. - - Constructor, method, or property-mutator parameter. - The component context in which the value is being provided. - If the result is true, the valueProvider parameter will - be set to a function that will lazily retrieve the parameter value. If the result is false, - will be set to null. - True if a value can be supplied; otherwise, false. - - - - Returns true if the parameter is able to provide a value to a particular site. - - Constructor, method, or property-mutator parameter. - The component context in which the value is being provided. - If the result is true, the valueProvider parameter will - be set to a function that will lazily retrieve the parameter value. If the result is false, - will be set to null. - True if a value can be supplied; otherwise, false. - - Thrown if is . - - - - - 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 The container's self-registration of context interfaces should never be activated as it is hard-wired into the LifetimeScope class.. - - - - - Marks a module as container-aware (for the purposes of attaching to diagnostic events.) - - - - - Initialise the module with the container into which it is being registered. - - The container. - - - - Fired when the activation process for a new instance is complete. - - - - - The context in which the activation occurred. - - - - - The component providing the instance. - - - - - The paramters provided when resolved. - - - - - The instance that will be used to satisfy the request. - - - - - Fired after the construction of an instance but before that instance - is shared with any other or any members are invoked on it. - - - - - The instance can be replaced if needed, e.g. by an interface proxy. - - The object to use instead of the activated instance. - - - - The context in which the activation occurred. - - - - - The component providing the instance. - - - - - The instance that will be used to satisfy the request. - - - - - The parameters supplied to the activator. - - - - - Interface supported by services that carry type information. - - - - - Return a new service of the same kind, but carrying - as the . - - The new service type. - A new service with the service type. - - - - Gets the type of the service. - - The type of the service. - - - - Identifies a service using a key in addition to its type. - - - - - Initializes a new instance of the class. - - Key of the service. - Type of the service. - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - The parameter is null. - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Return a new service of the same kind, but carrying - as the . - - The new service type. - A new service with the service type. - - - - Gets or sets the key of the service. - - The key of the service. - - - - Gets the type of the service. - - The type of the service. - - - - Gets a human-readable description of the service. - - The description. - - - - Describes when a lifetime scope is beginning. - - - - - Create an instance of the class. - - The lifetime scope that is beginning. - - - - The lifetime scope that is beginning. - - - - - Describes when a lifetime scope is ending. - - - - - Create an instance of the class. - - The lifetime scope that is ending. - - - - The lifetime scope that is ending. - - - - - 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 Instances cannot be resolved and nested lifetimes cannot be created from this LifetimeScope as it has already been disposed.. - - - - - Fired when an is added to the registry. - - - - - Construct an instance of the class. - - The registry to which the source was added. - The source that was added. - - - - - The registry to which the source was added. - - - - - The source that was added. - - - - - Represents the process of finding a component during a resolve operation. - - - - - The component for which an instance is to be looked up. - - - - - The scope in which the instance will be looked up. - - - - - The parameters provided for new instance creation. - - - - - Raised when the lookup phase of the operation is ending. - - - - - Raised when the completion phase of an instance lookup operation begins. - - - - - Raised when the completion phase of an instance lookup operation ends. - - - - - Raised when the completion phase of an instance lookup operation begins. - - - - - Create an instance of the class. - - The instance lookup that is beginning the completion phase. - - - - The instance lookup operation that is beginning the completion phase. - - - - - Raised when the completion phase of an instance lookup operation ends. - - - - - Create an instance of the class. - - The instance lookup that is ending the completion phase. - - - - The instance lookup operation that is ending the completion phase. - - - - - Fired when an instance is looked up. - - - - - Create an instance of the class. - - The instance lookup that is ending. - True if a new instance was created as part of the operation. - - - - True if a new instance was created as part of the operation. - - - - - The instance lookup operation that is ending. - - - - - Fired when instance lookup is complete. - - - - The instance lookup that is ending. - - - - The instance lookup operation that is beginning. - - - - - Describes the commencement of a new resolve operation. - - - - - Create an instance of the class. - - The resolve operation that is beginning. - - - - The resolve operation that is beginning. - - - - - Wraps a component registration, switching its lifetime. - - - - - Base class for disposable objects. - - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Returns true if the current instance has been disposed; otherwise false; - - - - - Describes a logical component within the container. - - - - - Called by the container when an instance is required. - - The context in which the instance will be activated. - Parameters for activation. These may be modified by the event handler. - - - - Called by the container once an instance has been constructed. - - The context in which the instance was activated. - The parameters supplied to the activator. - The instance. - - - - Called by the container once an instance has been fully constructed, including - any requested objects that depend on the instance. - - The context in which the instance was activated. - The parameters supplied to the activator. - The instance. - - - - A unique identifier for this component (shared in all sub-contexts.) - This value also appears in Services. - - - - - The activator used to create instances. - - - - - The lifetime associated with the component. - - - - - Whether the component instances are shared or not. - - - - - Whether the instances of the component should be disposed by the container. - - - - - The services provided by the component. - - - - - Additional data associated with the component. - - - - - The component registration upon which this registration is based. - - - - - Fired when a new instance is required. The instance can be - provided in order to skip the regular activator, by setting the Instance property in - the provided event arguments. - - - - - Fired when a new instance is being activated. The instance can be - wrapped or switched at this time by setting the Instance property in - the provided event arguments. - - - - - Fired when the activation process for a new instance is complete. - - - - - 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 Activator = {0}, Services = [{1}], Lifetime = {2}, Sharing = {3}, Ownership = {4}. - - - - - Pulls registrations from another component registry. - Excludes most auto-generated registrations - currently has issues with - collection registrations. - - - - - Create an external registry source that draws components from - . - - Component registry to pull registrations from. - - - - Retrieve registrations for an unregistered service, to be used - by the container. - - The service that was requested. - A function that will return existing registrations for a service. - Registrations providing the service. - - - - In this case because the components that are adapted do not come from the same - logical scope, we must return false to avoid duplicating them. - - - - - Switches components with a RootScopeLifetime (singletons) with - decorators exposing MatchingScopeLifetime targeting the specified scope. - - - - - Maps services onto the components that provide them. - - - The component registry provides services directly from components, - and also uses to generate components - on-the-fly or as adapters for other components. A component registry - is normally used through a , and not - directly by application code. - - - - - Protects instance variables from concurrent access. - - - - - External registration sources. - - - - - All registrations. - - - - - Keeps track of the status of registered services. - - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Attempts to find a default registration for the specified service. - - The service to look up. - The default registration for the service. - True if a registration exists. - - - - Determines whether the specified service is registered. - - The service to test. - True if the service is registered. - - - - Register a component. - - The component registration. - - - - Register a component. - - The component registration. - If true, existing defaults for the services provided by the - component will not be changed. - - - - Selects from the available registrations after ensuring that any - dynamic registration sources that may provide - have been invoked. - - The service for which registrations are sought. - Registrations supporting . - - - - Add a registration source that will provide registrations on-the-fly. - - The source to register. - - - - Enumerate the registered components. - - - - - Fired whenever a component is registered - either explicitly or via a - . - - - - - Gets the registration sources that are used by the registry. - - - - - True if the registry contains its own components; false if it is forwarding - registrations from another external registry. - - This property is used when walking up the scope tree looking for - registrations for a new customised scope. (See issue 336.) - - - - Fired when an is added to the registry. - - - - - Tracks the services known to the registry. - - - - - Used for bookkeeping so that the same source is not queried twice (may be null.) - - - - - Initializes a new instance of the class. - - The tracked service. - - - - The first time a service is requested, initialization (e.g. reading from sources) - happens. This value will then be set to true. Calling many methods on this type before - initialisation is an error. - - - - - The known implementations. - - - - - True if any implementations are known. - - - - - 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 The operation is only valid during initialization.. - - - - - Looks up a localized string similar to The operation is not valid until the object is initialized.. - - - - - 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 The activation has already been executed.. - - - - - Describes the commencement of a new resolve operation. - - - - - Create an instance of the class. - - The resolve operation that is ending. - If included, the exception causing the operation to end; otherwise, null. - - - - The exception causing the operation to end, or null. - - - - - The resolve operation that is ending. - - - - - 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 Subclasses of Autofac.Service must override Object.Equals(). - - - - - Looks up a localized string similar to Subclasses of Autofac.Service must override Object.GetHashCode(). - - - - - 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 Collection Support (Arrays and Generic Collection Interfaces). - - - - - 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 Lazy<T> Support. - - - - - Describes the basic requirements for generating a lightweight adapter. - - - - - Create an instance of . - - The service that will be adapted from. - The adapter function. - - - - The adapter function. - - - - - The service to be adapted from. - - - - - 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 Lightweight Adapter from {0} to {1}. - - - - - Looks up a localized string similar to The service {0} cannot be both the adapter's from and to parameters - these must differ.. - - - - - Internal implementation of the RegisterCollection/MemberOf-style collection feature. - - - - - Registration style for dynamic registrations. - - - - - Data used to create factory activators. - - - - - Create a new GeneratedFactoryActivatorData - - The type of the factory. - The service used to provide the products of the factory. - - - - Determines how the parameters of the delegate type are passed on - to the generated Resolve() call as Parameter objects. - For Func-based delegates, this defaults to ByType. Otherwise, the - parameters will be mapped by name. - - - - - Activator data that can provide an IInstanceActivator instance. - - - - - Hides standard Object members to make fluent interfaces - easier to read. - Based on blog post by @kzu here: - http://www.clariusconsulting.net/blogs/kzu/archive/2008/03/10/58301.aspx - - - - - Standard System.Object member. - - Standard result. - - - - Standard System.Object member. - - Standard result. - - - - Standard System.Object member. - - Standard result. - - - - Standard System.Object member. - - The other. - Standard result. - - - - Determines how the parameters of the delegate type are passed on - to the generated Resolve() call as Parameter objects. - - - - - Chooses parameter mapping based on the factory type. - For Func-based factories this is equivalent to ByType, for all - others ByName will be used. - - - - - Pass the parameters supplied to the delegate through to the - underlying registration as NamedParameters based on the parameter - names in the delegate type's formal argument list. - - - - - Pass the parameters supplied to the delegate through to the - underlying registration as TypedParameters based on the parameter - types in the delegate type's formal argument list. - - - - - Pass the parameters supplied to the delegate through to the - underlying registration as PositionalParameters based on the parameter - indices in the delegate type's formal argument list. - - - - - Provides components by lookup operations via an index (key) type. - - The type of the index. - The service provided by the indexed components. - - Retrieving a value given a key: - - IIndex<AccountType, IRenderer> accountRenderers = // ... - var renderer = accountRenderers[AccountType.User]; - - - - - - Get the value associated with if any is available. - - The key to look up. - The retrieved value. - True if a value associated with the key exists. - - - - Get the value associated with . - - The value to retrieve. - The associated value. - - - - - - - - - - - - - Support the - types automatically whenever type T is registered with the container. - Metadata values come from the component registration's metadata. - - - - - Provides a value along with a dictionary of metadata describing the value. - - The type of the value. - - - - Create a new instance. - - The value described by the instance. - The metadata describing the value. - - - - The value described by . - - - - - Metadata describing the value. - - - - - 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 Meta<T> Support. - - - - - Looks up a localized string similar to Meta<T, TMetadata> Support. - - - - - 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 The service '{0}' is not an open generic type.. - - - - - 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 {0} providing {1}. - - - - - Describes the activator for an open generic decorator. - - - - - Construct an . - - The decorator type. - The open generic service type to decorate. - - - - The open generic service type to decorate. - - - - - 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 The service {0} cannot be both the adapter's from and to parameters - these must differ.. - - - - - Looks up a localized string similar to Open Generic Decorator {0} from {1} to {2}. - - - - - 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 The type {0} is not an open generic type definition.. - - - - - 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 The implementation type '{0}' is not an open generic type definition.. - - - - - Looks up a localized string similar to The implementation type '{0}' does not support the interface '{1}'.. - - - - - Looks up a localized string similar to The service '{0}' is not an open generic type definition.. - - - - - Looks up a localized string similar to The service '{1}' is not assignable from implementation type '{0}'.. - - - - - 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 Owned<T> Support. - - - - - Provides registrations on-the-fly for any concrete type not already registered with - the container. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - A predicate that selects types the source will register. - - - - Retrieve registrations for an unregistered service, to be used - by the container. - - The service that was requested. - A function that will return existing registrations for a service. - Registrations providing the service. - - - - Returns a that represents the current . - - - A that represents the current . - - 2 - - - - Gets whether the registrations provided by this source are 1:1 adapters on top - of other components (I.e. like Meta, Func or Owned.) - - - - - Gets or sets an expression used to configure generated registrations. - - - A that can be used to modify the behavior - of registrations that are generated by this source. - - - - - 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 "Resolve Anything" Support. - - - - - Activation data for types located by scanning assemblies. - - - - - Create an instance of . - - - - - The filters applied to the types from the scanned assembly. - - - - - Additional actions to be performed on the concrete type registrations. - - - - - Actions to be called once the scanning operation is complete. - - - - - Fired when the activation process for a new instance is complete. - - - - - Initializes a new instance of the class. - - The context. - The component. - The parameters. - The instance. - - - - The context in which the activation occurred. - - - - - The component providing the instance. - - - - - The paramters provided when resolved. - - - - - The instance that will be used to satisfy the request. - - - - - Fired after the construction of an instance but before that instance - is shared with any other or any members are invoked on it. - - - - - Initializes a new instance of the class. - - The context. - The component. - The parameters. - The instance. - - - - The instance can be replaced if needed, e.g. by an interface proxy. - - The object to use instead of the activated instance. - - - - The context in which the activation occurred. - - - - - The component providing the instance. - - - - - The instance that will be used to satisfy the request. - - - The instance can be replaced if needed, e.g. by an interface proxy. - - - - - The parameters supplied to the activator. - - - - - Activate instances using a delegate. - - - - - Base class for instance activators. - - - - - Create an instance activator that will return instances compatible - with . - - Most derived type to which instances can be cast. - - - - Gets a string representation of the activator. - - A string describing the activator. - - - - The most specific type that the component instances are known to be castable to. - - - - - Activates component instances. - - - - - Activate an instance in the provided context. - - Context in which to activate instances. - Parameters to the instance. - The activated instance. - - The context parameter here should probably be ILifetimeScope in order to reveal Disposer, - but will wait until implementing a concrete use case to make the decision - - - - - The most specific type that the component instances are known to be castable to. - - - - - Create a delegate activator. - - The most specific type to which activated instances can be cast. - Activation delegate. - - - - Activate an instance in the provided context. - - Context in which to activate instances. - Parameters to the instance. - The activated instance. - - The context parameter here should probably be ILifetimeScope in order to reveal Disposer, - but will wait until implementing a concrete use case to make the decision - - - - - Provides a pre-constructed instance. - - - - - Provide the specified instance. - - The instance to provide. - - - - Activate an instance in the provided context. - - Context in which to activate instances. - Parameters to the instance. - The activated instance. - - The context parameter here should probably be ILifetimeScope in order to reveal Disposer, - but will wait until implementing a concrete use case to make the decision - - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Determines whether the activator disposes the instance that it holds. - Necessary because otherwise instances that are never resolved will never be - disposed. - - - - - 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 The provided instance has already been used in an activation request. Did you combine a provided instance with non-root/single-instance lifetime/sharing?. - - - - - Supplies values based on the target parameter type. - - - - - Returns true if the parameter is able to provide a value to a particular site. - - Constructor, method, or property-mutator parameter. - The component context in which the value is being provided. - If the result is true, the valueProvider parameter will - be set to a function that will lazily retrieve the parameter value. If the result is false, - will be set to null. - True if a value can be supplied; otherwise, false. - - Thrown if or is . - - - - - Binds a constructor to the parameters that will be used when it is invoked. - - - - - Construct a new ConstructorParameterBinding. - - ConstructorInfo to bind. - Available parameters. - Context in which to construct instance. - - - - Invoke the constructor with the parameter bindings. - - The constructed instance. - - - Returns a System.String that represents the current System.Object. - A System.String that represents the current System.Object. - - - - The constructor on the target type. The actual constructor used - might differ, e.g. if using a dynamic proxy. - - - - - True if the binding is valid. - - - - - Describes the constructor parameter binding. - - - - - Selects the best constructor from a set of available constructors. - - - - - Selects the best constructor from the available constructors. - - Available constructors. - The best constructor. - - - - Selects a constructor based on its signature. - - - - - Match constructors with the provided signature. - - Signature to match. - - - - Selects the best constructor from the available constructors. - - Available constructors. - The best constructor. - - - - 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 At least one binding must be provided in order to select a constructor.. - - - - - Looks up a localized string similar to The required constructor on type '{0}' with signature '{1}' is unavailable.. - - - - - Looks up a localized string similar to More than one constructor matches the signature '{0}'.. - - - - - Selects the constructor with the most parameters. - - - - - Selects the best constructor from the available constructors. - - Available constructors. - The best constructor. - A single unambiguous match could not be chosen. - - - - Uses reflection to activate instances of a type. - - - - - Create an activator for the provided type. - - Type to activate. - Constructor finder. - Constructor selector. - Parameters configured explicitly for this instance. - Properties configured explicitly for this instance. - - - - Activate an instance in the provided context. - - Context in which to activate instances. - Parameters to the instance. - The activated instance. - - The context parameter here should probably be ILifetimeScope in order to reveal Disposer, - but will wait until implementing a concrete use case to make the decision - - - - - The constructor finder. - - - - - The constructor selector. - - - - - 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 No constructors on type '{0}' can be found with the constructor finder '{1}'.. - - - - - Looks up a localized string similar to None of the constructors found with '{0}' on type '{1}' can be invoked with the available services and parameters:{2}. - - - - - Base class for parameters that provide a constant value. - - - - - Create a constant parameter that will apply to parameters matching - the supplied predicate. - - - - - - - Returns true if the parameter is able to provide a value to a particular site. - - Constructor, method, or property-mutator parameter. - The component context in which the value is being provided. - If the result is true, the valueProvider parameter will - be set to a function that will lazily retrieve the parameter value. If the result is false, - will be set to null. - True if a value can be supplied; otherwise, false. - - - - The value of the parameter. - - - - - Standard container implementation. - - - - - Creates, wires dependencies and manages lifetime for a set of components. - Most instances of are created - by a . - - - - // See ContainerBuilder for the definition of the builder variable - using (var container = builder.Build()) - { - var program = container.Resolve<Program>(); - program.Run(); - } - - - - Most functionality is provided by extension methods - on the inherited interface. - - - - - - - - - An tracks the instantiation of component instances. - It defines a boundary in which instances are shared and configured. - Disposing an will dispose the components that were - resolved through it. - - - - // See IContainer for definition of the container variable - using (var requestScope = container.BeginLifetimeScope()) - { - // Note that handler is resolved from requestScope, not - // from the container: - - var handler = requestScope.Resolve<IRequestHandler>(); - handler.Handle(request); - - // When requestScope is disposed, all resources used in processing - // the request will be released. - } - - - - All long-running applications should resolve components via an - . Choosing the duration of the lifetime is application- - specific. The standard Autofac WCF and ASP.NET/MVC integrations are already configured - to create and release s as appropriate. For example, the - ASP.NET integration will create and release an per HTTP - request. - Most functionality is provided by extension methods - on the inherited interface. - - - - - - - - - - - The context in which a service can be accessed or a component's - dependencies resolved. Disposal of a context will dispose any owned - components. - - - - - Resolve an instance of the provided registration within the context. - - The registration. - Parameters for the instance. - - The component instance. - - - - - - - Associates services with the components that provide them. - - - - - Begin a new nested scope. Component instances created via the new scope - will be disposed along with it. - - A new lifetime scope. - - - - Begin a new nested scope. Component instances created via the new scope - will be disposed along with it. - - The tag applied to the . - A new lifetime scope. - - - - Begin a new nested scope, with additional components available to it. - Component instances created via the new scope - will be disposed along with it. - - - The components registered in the sub-scope will be treated as though they were - registered in the root scope, i.e., SingleInstance() components will live as long - as the root scope. - - Action on a - that adds component registations visible only in the new scope. - A new lifetime scope. - - - - Begin a new nested scope, with additional components available to it. - Component instances created via the new scope - will be disposed along with it. - - - The components registered in the sub-scope will be treated as though they were - registered in the root scope, i.e., SingleInstance() components will live as long - as the root scope. - - The tag applied to the . - Action on a - that adds component registations visible only in the new scope. - A new lifetime scope. - - - - The disposer associated with this . - Component instances can be associated with it manually if required. - - Typical usage does not require interaction with this member- it - is used when extending the container. - - - - The tag applied to the . - - Tags allow a level in the lifetime hierarchy to be identified. - In most applications, tags are not necessary. - - - - - Fired when a new scope based on the current scope is beginning. - - - - - Fired when this scope is ending. - - - - - Fired when a resolve operation is beginning in this scope. - - - - - Create a new container. - - - - - Begin a new sub-scope. Instances created via the sub-scope - will be disposed along with it. - - A new lifetime scope. - - - - Begin a new sub-scope. Instances created via the sub-scope - will be disposed along with it. - - The tag applied to the . - A new lifetime scope. - - - - Begin a new nested scope, with additional components available to it. - Component instances created via the new scope - will be disposed along with it. - - Action on a - that adds component registations visible only in the new scope. - A new lifetime scope. - - - - Begin a new nested scope, with additional components available to it. - Component instances created via the new scope - will be disposed along with it. - - The tag applied to the . - Action on a - that adds component registations visible only in the new scope. - A new lifetime scope. - - - - Resolve an instance of the provided registration within the context. - - The registration. - Parameters for the instance. - - The component instance. - - - - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Gets the service object of the specified type. - - An object that specifies the type of service object - to get. - - A service object of type .-or- null if there is - no service object of type . - - - - - The disposer associated with this container. Instances can be associated - with it manually if required. - - - - - Tag applied to the lifetime scope. - - The tag applied to this scope and the contexts generated when - it resolves component dependencies. - - - - Fired when a new scope based on the current scope is beginning. - - - - - Fired when this scope is ending. - - - - - Fired when a resolve operation is beginning in this scope. - - - - - Associates services with the components that provide them. - - - - - Base exception type thrown whenever the dependency resolution process fails. This is a fatal - exception, as Autofac is unable to 'roll back' changes to components that may have already - been made during the operation. For example, 'on activated' handlers may have already been - fired, or 'single instance' components partially constructed. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The message. - The inner exception. - - - - Gets a message that describes the current exception. - - - The error message that explains the reason for the exception, or an empty string(""). - - - - - Maintains a set of objects to dispose, and disposes them in the reverse order - from which they were added when the Disposer is itself disposed. - - - - - Provided on an object that will dispose of other objects when it is - itself disposed. - - - - - Adds an object to the disposer. When the disposer is - disposed, so will the object be. - - The instance. - - - - Contents all implement IDisposable. - - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Adds an object to the disposer. When the disposer is - disposed, so will the object be. - - The instance. - - - - Locates the lifetime to which instances of a component should be attached. - - - - - Given the most nested scope visible within the resolve operation, find - the scope for the component. - - The most nested visible scope. - The scope for the component. - - - - Represents a set of components and related functionality - packaged together. - - - - - Apply the module to the component registry. - - Component registry to apply configuration to. - - - - Determines when instances supporting IDisposable are disposed. - - - - - The lifetime scope does not dispose the instances. - - - - - The instances are disposed when the lifetime scope is disposed. - - - - - Determines whether instances are shared within a lifetime scope. - - - - - Each request for an instance will return a new object. - - - - - Each request for an instance will return the same object. - - - - - Defines a nested structure of lifetimes. - - - - - Try to retrieve an instance based on a GUID key. If the instance - does not exist, invoke to create it. - - Key to look up. - Creation function. - An instance. - - - - The root of the sharing hierarchy. - - - - - The parent of this node of the hierarchy, or null. - - - - - Attaches the instance's lifetime to the current lifetime scope. - - - - - Given the most nested scope visible within the resolve operation, find - the scope for the component. - - The most nested visible scope. - The scope for the component. - - - - Lifetime scope implementation. - - - - - Protects shared instances from concurrent access. Other members and the base class are threadsafe. - - - - - The tag applied to root scopes when no other tag is specified. - - - - - Create a lifetime scope for the provided components and nested beneath a parent. - - The tag applied to the . - Components used in the scope. - Parent scope. - - - - Create a root lifetime scope for the provided components. - - The tag applied to the . - Components used in the scope. - - - - Create a root lifetime scope for the provided components. - - Components used in the scope. - - - - Begin a new anonymous sub-scope. Instances created via the sub-scope - will be disposed along with it. - - A new lifetime scope. - - - - Begin a new tagged sub-scope. Instances created via the sub-scope - will be disposed along with it. - - The tag applied to the . - A new lifetime scope. - - - - Begin a new anonymous sub-scope, with additional components available to it. - Component instances created via the new scope - will be disposed along with it. - - Action on a - that adds component registations visible only in the new scope. - A new lifetime scope. - - IContainer cr = // ... - using (var lifetime = cr.BeginLifetimeScope(builder => { - builder.RegisterType<Foo>(); - builder.RegisterType<Bar>().As<IBar>(); }) - { - var foo = lifetime.Resolve<Foo>(); - } - - - - - Begin a new tagged sub-scope, with additional components available to it. - Component instances created via the new scope - will be disposed along with it. - - The tag applied to the . - Action on a - that adds component registations visible only in the new scope. - A new lifetime scope. - - IContainer cr = // ... - using (var lifetime = cr.BeginLifetimeScope("unitOfWork", builder => { - builder.RegisterType<Foo>(); - builder.RegisterType<Bar>().As<IBar>(); }) - { - var foo = lifetime.Resolve<Foo>(); - } - - - - - Resolve an instance of the provided registration within the context. - - The registration. - Parameters for the instance. - - The component instance. - - - - - - - Try to retrieve an instance based on a GUID key. If the instance - does not exist, invoke to create it. - - Key to look up. - Creation function. - An instance. - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Gets the service object of the specified type. - - An object that specifies the type of service object - to get. - - A service object of type .-or- null if there is - no service object of type . - - - - - The parent of this node of the hierarchy, or null. - - - - - The root of the sharing hierarchy. - - - - - The disposer associated with this container. Instances can be associated - with it manually if required. - - - - - Tag applied to the lifetime scope. - - The tag applied to this scope and the contexts generated when - it resolves component dependencies. - - - - Associates services with the components that provide them. - - - - - Fired when a new scope based on the current scope is beginning. - - - - - Fired when this scope is ending. - - - - - Fired when a resolve operation is beginning in this scope. - - - - - Attaches the component's lifetime to scopes matching a supplied expression. - - - - - Match scopes by comparing tags for equality. - - The tags applied to matching scopes. - - - - Given the most nested scope visible within the resolve operation, find - the scope for the component. - - The most nested visible scope. - The scope for the component. - - - - 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 No scope with a Tag matching '{0}' is visible from the scope in which the instance was requested. This generally indicates that a component registered as per-HTTP request is being requested by a SingleInstance() component (or a similar scenario.) Under the web integration always request dependencies from the DependencyResolver.Current or ILifetimeScopeProvider.RequestLifetime, never from the container itself.. - - - - - Attaches the component's lifetime to the root scope. - - - - - Given the most nested scope visible within the resolve operation, find - the scope for the component. - - The most nested visible scope. - The scope for the component. - - - - A property identified by name. When applied to a reflection-based - component, the name will be matched against property names. - - - - - Create a with the specified constant value. - - The name of the property. - The property value. - - - - The name of the property. - - - - - Fired before the activation process to allow parameters to be changed or an alternative - instance to be provided. - - - - - Initializes a new instance of the class. - - The context. - The component. - The parameters. - - - - The context in which the activation is occurring. - - - - - The component providing the instance being activated. - - - - - The parameters supplied to the activator. - - - - - A service was requested that cannot be provided by the container. To avoid this exception, either register a component - to provide the required service, check for service registration using IsRegistered(), or use the ResolveOptional() - method to resolve an optional dependency. - - This exception is fatal. See for more information. - - - - Initializes a new instance of the class. - - The service. - - - - Initializes a new instance of the class. - - The service. - The inner exception. - - - - 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 The requested service '{0}' has not been registered. To avoid this exception, either register a component to provide the service, check for service registration using IsRegistered(), or use the ResolveOptional() method to resolve an optional dependency.. - - - - - Information about the ocurrence of a component being registered - with a container. - - - - - Create a new instance with a valid container and component registration. - - The container into which the registration - was made. - The component registration. - - - - The container into which the registration was made. - - - - - The component registration. - - - - - Describes a logical component within the container. - - - - - Create a new component registration. - - Unique identifier for the component. - Activator used to activate instances. - Determines how the component will be associated with its lifetime. - Whether the component is shared within its lifetime scope. - Whether the component instances are disposed at the end of their lifetimes. - Services the component provides. - Data associated with the component. - - - - Create a new component registration. - - Unique identifier for the component. - Activator used to activate instances. - Determines how the component will be associated with its lifetime. - Whether the component is shared within its lifetime scope. - Whether the component instances are disposed at the end of their lifetimes. - Services the component provides. - Data associated with the component. - The component registration upon which this registration is based. - - - - Called by the container when an instance is required. - - The context in which the instance will be activated. - Parameters for activation. - - - - Called by the container once an instance has been constructed. - - The context in which the instance was activated. - The parameters supplied to the activator. - The instance. - - - - Called by the container once an instance has been fully constructed, including - any requested objects that depend on the instance. - - The context in which the instance was activated. - The parameters supplied to the activator. - The instance. - - - - Describes the component in a human-readable form. - - A description of the component. - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - The component registration upon which this registration is based. - If this registration was created directly by the user, returns this. - - - - - A unique identifier for this component (shared in all sub-contexts.) - This value also appears in Services. - - - - - The activator used to create instances. - - - - - The lifetime associated with the component. - - - - - Whether the component instances are shared or not. - - - - - Whether the instances of the component should be disposed by the container. - - - - - The services provided by the component. - - - - - Additional data associated with the component. - - - - - Fired when a new instance is required. The instance can be - provided in order to skip the regular activator, by setting the Instance property in - the provided event arguments. - - - - - Fired when a new instance is being activated. The instance can be - wrapped or switched at this time by setting the Instance property in - the provided event arguments. - - - - - Fired when the activation process for a new instance is complete. - - - - - Catch circular dependencies that are triggered by post-resolve processing (e.g. 'OnActivated') - - - - - 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 Circular component dependency detected: {0}.. - - - - - Looks up a localized string similar to Probable circular dependency between factory-scoped components. Chain includes '{0}'. - - - - - An is a component context that sequences and monitors the multiple - activations that go into producing a single requested object graph. - - - - - Get or create and share an instance of in the . - - The scope in the hierarchy in which the operation will begin. - The component to resolve. - Parameters for the component. - The component instance. - - - - Raised when the entire operation is complete. - - - - - Raised when an instance is looked up within the operation. - - - - - A is a component context that sequences and monitors the multiple - activations that go into producing a single requested object graph. - - - - - Create an instance of in the provided scope. - - The most nested scope in which to begin the operation. The operation - can move upward to less nested scopes as components with wider sharing scopes are activated - - - - Resolve an instance of the provided registration within the context. - - The registration. - Parameters for the instance. - - The component instance. - - - - - - - Execute the complete resolve operation. - - - - - Continue building the object graph by instantiating in the - current . - - The current scope of the operation. - The component to activate. - The parameters for the component. - The resolved instance. - - - - - Associates services with the components that provide them. - - - - - 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 exception was thrown while executing a resolve operation. See the InnerException for details.. - - - - - Looks up a localized string similar to Probable circular dependency between factory-scoped components. Chain includes '{0}'. - - - - - Looks up a localized string similar to This resolve operation has already ended. When registering components using lambdas, the IComponentContext 'c' parameter to the lambda cannot be stored. Instead, either resolve IComponentContext again from 'c', or resolve a Func<> based factory to create subsequent components from.. - - - - - Identifies a service according to a type to which it can be assigned. - - - - - Initializes a new instance of the class. - - Type of the service. - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - The parameter is null. - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Return a new service of the same kind, but carrying - as the . - - The new service type. - A new service with the service type. - - - - Gets the type of the service. - - The type of the service. - - - - Gets a human-readable description of the service. - - The description. - - - - A handy unique service identifier type - all instances will be regarded as unequal. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The id. - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - The parameter is null. - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Provides a programmer-readable description of the identifying feature of the service. - - - - - - Retrieve registrations for an unregistered service, to be used - by the container. - - The service that was requested. - A function that will return existing registrations for a service. - Registrations providing the service. - - - - Generates activators for open generic types. - - - - - Represents a dependency that can be released by the dependent component. - - The service provided by the dependency. - - - Autofac automatically provides instances of whenever the - service is registered. - - - It is not necessary for , or the underlying component, to implement . - Disposing of the object is the correct way to handle cleanup of the dependency, - as this will dispose of any other components created indirectly as well. - - - When is resolved, a new is created for the - underlying , and tagged with the service matching , - generally a . This means that shared instances can be tied to this - scope by registering them as InstancePerMatchingLifetimeScope(new TypedService(typeof(T))). - - - - The component D below is disposable and implements IService: - - public class D : IService, IDisposable - { - // ... - } - - The dependent component C can dispose of the D instance whenever required by taking a dependency on - : - - public class C - { - IService _service; - - public C(Owned<IService> service) - { - _service = service; - } - - void DoWork() - { - _service.Value.DoSomething(); - } - - void OnFinished() - { - _service.Dispose(); - } - } - - In general, rather than depending on directly, components will depend on - System.Func<Owned<T>> in order to create and dispose of other components as required. - - - - - Create an instance of . - - The value representing the instance. - An IDisposable interface through which ownership can be released. - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - The owned value. - - - - - Generates registrations for services of type whenever the service - T is available. - - - - - Retrieve registrations for an unregistered service, to be used - by the container. - - The service that was requested. - A function that will return existing registrations for a service. - Registrations providing the service. - - - - When implemented by a component, an instance of the component will be resolved - and started as soon as the container is built. Autofac will not call the Start() - method when subsequent instances are resolved. If this behavior is required, use - an OnActivated() event handler instead. - - - For equivalent "Stop" functionality, implement . Autofac - will always dispose a component before any of its dependencies (except in the presence - of circular dependencies, in which case the components in the cycle are disposed in - reverse-construction order.) - - - - - Perform once-off startup processing. - - - - - Base class for user-defined modules. Modules can add a set of releated components - to a container () or attach cross-cutting functionality - to other components (. - Modules are given special support in the XML configuration feature - see - http://code.google.com/p/autofac/wiki/StructuringWithModules. - - Provides a user-friendly way to implement - via . - - Defining a module: - - public class DataAccessModule : Module - { - public string ConnectionString { get; set; } - - public override void Load(ContainerBuilder moduleBuilder) - { - moduleBuilder.RegisterGeneric(typeof(MyRepository<>)) - .As(typeof(IRepository<>)) - .InstancePerMatchingLifetimeScope(WebLifetime.Request); - - moduleBuilder.Register(c => new MyDbConnection(ConnectionString)) - .As<IDbConnection>() - .InstancePerMatchingLifetimeScope(WebLifetime.Request); - } - } - - Using the module: - - var builder = new ContainerBuilder(); - builder.RegisterModule(new DataAccessModule { ConnectionString = "..." }); - var container = builder.Build(); - var customers = container.Resolve<IRepository<Customer>>(); - - - - - - Apply the module to the component registry. - - Component registry to apply configuration to. - - - - Override to add registrations to the container. - - - Note that the ContainerBuilder parameter is unique to this module. - - The builder through which components can be - registered. - - - - Override to attach module-specific functionality to a - component registration. - - This method will be called for all existing and future component - registrations - ordering is not important. - The component registry. - The registration to attach functionality to. - - - - Override to perform module-specific processing on a registration source. - - This method will be called for all existing and future sources - - ordering is not important. - The component registry into which the source was added. - The registration source. - - - - The assembly in which the concrete module type is located. To avoid bugs whereby deriving from a module will - change the target assembly, this property can only be used by modules that inherit directly from - . - - - - - Configure the component so that instances are never disposed by the container. - - A registration builder allowing further configuration of the component. - - - - Configure the component so that instances that support IDisposable are - disposed by the container (default.) - - A registration builder allowing further configuration of the component. - - - - Configure the component so that every dependent component or call to Resolve() - gets a new, unique instance (default.) - - A registration builder allowing further configuration of the component. - - - - Configure the component so that every dependent component or call to Resolve() - gets the same, shared instance. - - A registration builder allowing further configuration of the component. - - - - Configure the component so that every dependent component or call to Resolve() - within a single ILifetimeScope gets the same, shared instance. Dependent components in - different lifetime scopes will get different instances. - - A registration builder allowing further configuration of the component. - - - - Configure the component so that every dependent component or call to Resolve() within - a ILifetimeScope tagged with any of the provided tags value gets the same, shared instance. - Dependent components in lifetime scopes that are children of the tagged scope will - share the parent's instance. If no appropriately tagged scope can be found in the - hierarchy an is thrown. - - Tag applied to matching lifetime scopes. - A registration builder allowing further configuration of the component. - - - - Configure the component so that every dependent component or call to Resolve() - within a ILifetimeScope created by an owned instance gets the same, shared instance. - Dependent components in lifetime scopes that are children of the owned instance scope will - share the parent's instance. If no appropriate owned instance scope can be found in the - hierarchy an is thrown. - - The service type provided by the component. - A registration builder allowing further configuration of the component. - - - - Configure the component so that every dependent component or call to Resolve() - within a ILifetimeScope created by an owned instance gets the same, shared instance. - Dependent components in lifetime scopes that are children of the owned instance scope will - share the parent's instance. If no appropriate owned instance scope can be found in the - hierarchy an is thrown. - - The service type provided by the component. - A registration builder allowing further configuration of the component. - - - - Configure the component so that every dependent component or call to Resolve() - within a ILifetimeScope created by an owned instance gets the same, shared instance. - Dependent components in lifetime scopes that are children of the owned instance scope will - share the parent's instance. If no appropriate owned instance scope can be found in the - hierarchy an is thrown. - - The service type provided by the component. - Key to associate with the component. - A registration builder allowing further configuration of the component. - - - - Configure the component so that every dependent component or call to Resolve() - within a ILifetimeScope created by an owned instance gets the same, shared instance. - Dependent components in lifetime scopes that are children of the owned instance scope will - share the parent's instance. If no appropriate owned instance scope can be found in the - hierarchy an is thrown. - - Key to associate with the component. - The service type provided by the component. - A registration builder allowing further configuration of the component. - - - - Configure the services that the component will provide. The generic parameter(s) to As() - will be exposed as TypedService instances. - - Service type. - A registration builder allowing further configuration of the component. - - - - Configure the services that the component will provide. The generic parameter(s) to As() - will be exposed as TypedService instances. - - Service type. - Service type. - A registration builder allowing further configuration of the component. - - - - Configure the services that the component will provide. The generic parameter(s) to As() - will be exposed as TypedService instances. - - Service type. - Service type. - Service type. - A registration builder allowing further configuration of the component. - - - - Configure the services that the component will provide. - - Service types to expose. - A registration builder allowing further configuration of the component. - - - - Configure the services that the component will provide. - - Services to expose. - A registration builder allowing further configuration of the component. - - - - Provide a textual name that can be used to retrieve the component. - - Named service to associate with the component. - The service type provided by the component. - A registration builder allowing further configuration of the component. - - - - Provide a textual name that can be used to retrieve the component. - - Named service to associate with the component. - The service type provided by the component. - A registration builder allowing further configuration of the component. - - - - Provide a key that can be used to retrieve the component. - - Key to associate with the component. - The service type provided by the component. - A registration builder allowing further configuration of the component. - - - - Provide a key that can be used to retrieve the component. - - Key to associate with the component. - The service type provided by the component. - A registration builder allowing further configuration of the component. - - - - Add a handler for the Preparing event. This event allows manipulating of the parameters - that will be provided to the component. - - The event handler. - A registration builder allowing further configuration of the component. - - - - Add a handler for the Activating event. - - The event handler. - A registration builder allowing further configuration of the component. - - - - Add a handler for the Activated event. - - The event handler. - A registration builder allowing further configuration of the component. - - - - Configure the component so that any properties whose types are registered in the - container will be wired to instances of the appropriate service. - - Set wiring options such as circular dependency wiring support. - A registration builder allowing further configuration of the component. - - - - Associates data with the component. - - Key by which the data can be located. - The data value. - A registration builder allowing further configuration of the component. - - - - Associates data with the component. - - The extended properties to associate with the component. - A registration builder allowing further configuration of the component. - - - - Associates data with the component. - - A type with properties whose names correspond to the - property names to configure. - A registration builder allowing further configuration of the component. - - - - The activator data. - - - - - The registration style. - - - - - The registration data. - - - - - Data common to all registrations made in the container, both direct (IComponentRegistration) - and dynamic (IRegistrationSource.) - - - - - Construct a RegistrationData instance. - - The default service that will be used if no others - are added. - - - - Add multiple services for the registration, overriding the default. - - The services to add. - If an empty collection is specified, this will still - clear the default service. - - - - Add a service to the registration, overriding the default. - - The service to add. - - - - Copies the contents of another RegistrationData object into this one. - - The data to copy. - When true, the default service - will be changed to that of the other. - - Thrown if is . - - - - - Empties the configured services. - - - - - The services explicitly assigned to the component. - - - - - The instance ownership assigned to the component. - - - - - The lifetime assigned to the component. - - - - - The sharing mode assigned to the component. - - - - - Extended properties assigned to the component. - - - - - Handlers for the Preparing event. - - - - - Handlers for the Activating event. - - - - - Handlers for the Activated event. - - - - - Adds registration syntax to the type. - - - - - Add a module to the container. - - The builder to register the module with. - The module to add. - - - - Add a module to the container. - - The builder to register the module with. - The module to add. - - - - Registers modules found in an assembly. - - Container builder. - The assemblies from which to register modules. - - - - Registers modules found in an assembly. - - Container builder. - The assemblies from which to register modules. - The type of the module to add. - - - - Registers modules found in an assembly. - - Container builder. - The of the module to add. - The assemblies from which to register modules. - - - - Add a component to the container. - - The builder to register the component with. - The component to add. - - - - Add a registration source to the container. - - The builder to register the registration source via. - The registration source to add. - - - - Register an instance as a component. - - The type of the instance. - Container builder. - The instance to register. - Registration builder allowing the registration to be configured. - If no services are explicitly specified for the instance, the - static type will be used as the default service (i.e. *not* instance.GetType()). - - - - Register a component to be created through reflection. - - The type of the component implementation. - Container builder. - Registration builder allowing the registration to be configured. - - - - Register a component to be created through reflection. - - The type of the component implementation. - Container builder. - Registration builder allowing the registration to be configured. - - - - Register a delegate as a component. - - The type of the instance. - Container builder. - The delegate to register. - Registration builder allowing the registration to be configured. - - - - Register a delegate as a component. - - The type of the instance. - Container builder. - The delegate to register. - Registration builder allowing the registration to be configured. - - - - Register an un-parameterised generic type, e.g. Repository<>. - Concrete types will be made as they are requested, e.g. with Resolve<Repository<int>>(). - - Container builder. - The open generic implementation type. - Registration builder allowing the registration to be configured. - - - - Specifies that the component being registered should only be made the default for services - that have not already been registered. - - Registration limit type. - Registration style. - Activator data type. - Registration to set service mapping on. - Registration builder allowing the registration to be configured. - - - - Specifies that the components being registered should only be made the default for services - that have not already been registered. - - Registration limit type. - Registration style. - Registration to set service mapping on. - Registration builder allowing the registration to be configured. - - - - Register the types in an assembly. - - Container builder. - The assemblies from which to register types. - Registration builder allowing the registration to be configured. - - - - Register the types in a list. - - Container builder. - The types to register. - Registration builder allowing the registration to be configured. - - - - Specifies a subset of types to register from a scanned assembly. - - Registration limit type. - Registration style. - Activator data type. - Registration to filter types from. - Predicate that returns true for types to register. - Registration builder allowing the registration to be configured. - - - - Specifies how a type from a scanned assembly is mapped to a service. - - Registration limit type. - Registration style. - Activator data type. - Registration to set service mapping on. - Function mapping types to services. - Registration builder allowing the registration to be configured. - - - - Specifies how a type from a scanned assembly is mapped to a service. - - Registration limit type. - Registration style. - Activator data type. - Registration to set service mapping on. - Function mapping types to services. - Registration builder allowing the registration to be configured. - - - - Specifies how a type from a scanned assembly is mapped to a service. - - Registration limit type. - Registration style. - Activator data type. - Registration to set service mapping on. - Function mapping types to services. - Registration builder allowing the registration to be configured. - - - - Specifies how a type from a scanned assembly is mapped to a service. - - Registration limit type. - Registration style. - Activator data type. - Registration to set service mapping on. - Function mapping types to services. - Registration builder allowing the registration to be configured. - - - - Specifies that a type from a scanned assembly provides its own concrete type as a service. - - Registration limit type. - Registration to set service mapping on. - Registration builder allowing the registration to be configured. - - - - Specifies that a type provides its own concrete type as a service. - - Registration limit type. - Activator data type. - Registration to set service mapping on. - Registration builder allowing the registration to be configured. - - - - Specifies that a type provides its own concrete type as a service. - - Registration limit type. - Registration to set service mapping on. - Registration builder allowing the registration to be configured. - - - - Specify how a type from a scanned assembly provides metadata. - - Registration limit type. - Registration style. - Activator data type. - Registration to set metadata on. - A function mapping the type to a list of metadata items. - Registration builder allowing the registration to be configured. - - - - Use the properties of an attribute (or interface implemented by an attribute) on the scanned type - to provide metadata values. - - Inherited attributes are supported; however, there must be at most one matching attribute - in the inheritance chain. - The attribute applied to the scanned type. - Registration to set metadata on. - Registration builder allowing the registration to be configured. - - - - Specify how a type from a scanned assembly provides metadata. - - Registration limit type. - Registration style. - Activator data type. - Registration to set service mapping on. - Key of the metadata item. - A function retrieving the value of the item from the component type. - Registration builder allowing the registration to be configured. - - - - Specifies how a type from a scanned assembly is mapped to a named service. - - Registration to set service mapping on. - Service type provided by the component. - Function mapping types to service names. - Registration builder allowing the registration to be configured. - - - - Specifies how a type from a scanned assembly is mapped to a named service. - - Registration limit type. - Registration style. - Activator data type. - Registration to set service mapping on. - Service type provided by the component. - Function mapping types to service names. - Registration builder allowing the registration to be configured. - - - - Specifies how a type from a scanned assembly is mapped to a keyed service. - - Registration to set service mapping on. - Service type provided by the component. - Function mapping types to service keys. - Registration builder allowing the registration to be configured. - - - - Specifies how a type from a scanned assembly is mapped to a keyed service. - - Registration limit type. - Registration style. - Activator data type. - Registration to set service mapping on. - Service type provided by the component. - Function mapping types to service keys. - Registration builder allowing the registration to be configured. - - - - Specifies that a type from a scanned assembly is registered as providing all of its - implemented interfaces. - - Registration limit type. - Registration to set service mapping on. - Registration builder allowing the registration to be configured. - - - - Specifies that a type is registered as providing all of its implemented interfaces. - - Registration limit type. - Activator data type. - Registration to set service mapping on. - Registration builder allowing the registration to be configured. - - - - Specifies that a type is registered as providing all of its implemented interfaces. - - Registration limit type. - Registration to set service mapping on. - Registration builder allowing the registration to be configured. - - - - Set the policy used to find candidate constructors on the implementation type. - - Registration limit type. - Activator data type. - Registration style. - Registration to set policy on. - Policy to be used when searching for constructors. - A registration builder allowing further configuration of the component. - - - - Set the policy used to find candidate constructors on the implementation type. - - Registration limit type. - Activator data type. - Registration style. - Registration to set policy on. - A function that returns the constructors to select from. - A registration builder allowing further configuration of the component. - - - - Set the policy used to select from available constructors on the implementation type. - - Registration limit type. - Activator data type. - Registration style. - Registration to set policy on. - Constructor signature to match. - A registration builder allowing further configuration of the component. - - - - Set the policy used to select from available constructors on the implementation type. - - Registration limit type. - Registration style. - Activator data type. - Registration to set policy on. - Policy to be used when selecting a constructor. - A registration builder allowing further configuration of the component. - - - - Set the policy used to select from available constructors on the implementation type. - - Registration limit type. - Activator data type. - Registration style. - Registration to set policy on. - Expression demonstrating how the constructor is called. - A registration builder allowing further configuration of the component. - - - - Configure an explicit value for a constructor parameter. - - Registration limit type. - Registration style. - Activator data type. - Registration to set parameter on. - Name of a constructor parameter on the target type. - Value to supply to the parameter. - A registration builder allowing further configuration of the component. - - - - Configure an explicit value for a constructor parameter. - - Registration limit type. - Registration style. - Activator data type. - Registration to set parameter on. - The parameter to supply to the constructor. - A registration builder allowing further configuration of the component. - - - - Configure an explicit value for a constructor parameter. - - Registration limit type. - Registration style. - Activator data type. - Registration to set parameter on. - A predicate selecting the parameter to set. - - A registration builder allowing further configuration of the component. - - - - Configure explicit values for constructor parameters. - - Registration limit type. - Registration style. - Activator data type. - Registration to set parameter on. - The parameters to supply to the constructor. - A registration builder allowing further configuration of the component. - - - - Configure an explicit value for a property. - - Registration limit type. - Registration style. - Activator data type. - Registration to set property on. - Name of a property on the target type. - Value to supply to the property. - A registration builder allowing further configuration of the component. - - - - Configure an explicit value for a property. - - Registration limit type. - Registration style. - Activator data type. - Registration to set parameter on. - The property to supply. - A registration builder allowing further configuration of the component. - - - - Configure explicit values for properties. - - Registration limit type. - Registration style. - Activator data type. - Registration to set parameter on. - The properties to supply. - A registration builder allowing further configuration of the component. - - - - Sets the target of the registration (used for metadata generation.) - - The type of the limit. - The type of the activator data. - Registration style - Registration to set target for. - The target. - - Registration builder allowing the registration to be configured. - - - Thrown if or is . - - - - - Provide a handler to be called when the component is registered. - - Registration limit type. - Registration style. - Activator data type. - Registration add handler to. - The handler. - Registration builder allowing the registration to be configured. - - - - Provide a handler to be called when the component is registred. - - Registration limit type. - Registration style. - Registration add handler to. - The handler. - Registration builder allowing the registration to be configured. - - - - Specifies that a type from a scanned assembly is registered if it implements an interface - that closes the provided open generic interface type. - - Registration limit type. - Registration style. - Activator data type. - Registration to set service mapping on. - The open generic interface or base class type for which implementations will be found. - Registration builder allowing the registration to be configured. - - - - Filters the scanned types to include only those assignable to the provided - type. - - Registration limit type. - Registration style. - Activator data type. - Registration to filter types from. - The type or interface which all classes must be assignable from. - Registration builder allowing the registration to be configured. - - - - Filters the scanned types to include only those assignable to the provided - type. - - Registration to filter types from. - The type or interface which all classes must be assignable from. - Registration builder allowing the registration to be configured. - - - - Filters the scanned types to exclude the provided type. - - Registration to filter types from. - The concrete type to exclude. - Registration builder allowing the registration to be configured. - - - - Filters the scanned types to exclude the provided type, providing specific configuration for - the excluded type. - - Registration to filter types from. - Registration for the excepted type. - The concrete type to exclude. - Registration builder allowing the registration to be configured. - - - - Filters the scanned types to include only those in the namespace of the provided type - or one of its sub-namespaces. - - Registration to filter types from. - A type in the target namespace. - Registration builder allowing the registration to be configured. - - - - Filters the scanned types to include only those in the provided namespace - or one of its sub-namespaces. - - Registration limit type. - Registration style. - Activator data type. - Registration to filter types from. - The namespace from which types will be selected. - Registration builder allowing the registration to be configured. - - - - Adapt all components implementing service - to provide using the provided - function. - - Service type to adapt from. - Service type to adapt to. Must not be the - same as . - Container builder. - Function adapting to - service , given the context and parameters. - - - - Adapt all components implementing service - to provide using the provided - function. - - Service type to adapt from. - Service type to adapt to. Must not be the - same as . - Container builder. - Function adapting to - service , given the context. - - - - Adapt all components implementing service - to provide using the provided - function. - - Service type to adapt from. - Service type to adapt to. Must not be the - same as . - Container builder. - Function adapting to - service . - - - - Decorate all components implementing open generic service . - The and parameters must be different values. - - Container builder. - Service type being decorated. Must be an open generic type. - Service key or name associated with the components being decorated. - Service key or name given to the decorated components. - The type of the decorator. Must be an open generic type, and accept a parameter - of type , which will be set to the instance being decorated. - - - - Decorate all components implementing service - using the provided function. - The and parameters must be different values. - - Service type being decorated. - Container builder. - Function decorating a component instance that provides - , given the context and parameters. - Service key or name associated with the components being decorated. - Service key or name given to the decorated components. - - - - Decorate all components implementing service - using the provided function. - The and parameters must be different values. - - Service type being decorated. - Container builder. - Function decorating a component instance that provides - , given the context. - Service key or name associated with the components being decorated. - Service key or name given to the decorated components. - - - - Decorate all components implementing service - using the provided function. - The and parameters must be different values. - - Service type being decorated. - Container builder. - Function decorating a component instance that provides - . - Service key or name associated with the components being decorated. - Service key or name given to the decorated components. - - - - Run a supplied action instead of disposing instances when they're no - longer required. - - Registration limit type. - Activator data type. - Registration style. - Registration to set release action for. - An action to perform instead of disposing the instance. - Registration builder allowing the registration to be configured. - Only one release action can be configured per registration. - - - - Wraps a registration in an implicit and automatically - activates the registration after the container is built. - - Registration to set release action for. - Registration limit type. - Activator data type. - Registration style. - A registration builder allowing further configuration of the component. - - - While you can implement an to perform some logic at - container build time, sometimes you need to just activate a registered component and - that's it. This extension allows you to automatically activate a registration on - container build. No additional logic is executed and the resolved instance is not held - so container disposal will end up disposing of the instance. - - - Depending on how you register the lifetime of the component, you may get an exception - when you build the container - components that are scoped to specific lifetimes (like - ASP.NET components scoped to a request lifetime) will fail to resolve because the - appropriate lifetime is not available. - - - - - - 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 The instance registration '{0}' can support SingleInstance() sharing only.. - - - - - Looks up a localized string similar to A metadata attribute of type {0} was not found on {1}.. - - - - - Looks up a localized string similar to More than one metadata attribute of type {0} was found on {1}.. - - - - - Looks up a localized string similar to No matching constructor exists on type '{0}'.. - - - - - An activator builder with no parameters. - - - - - Return the provided activator. - - The activator to return. - - - - Gets the activator. - - - - - Registration style for individual components. - - - - - The id used for the registration. - - - - - Handlers to notify of the component registration event. - - - - - By default, new registrations override existing registrations as defaults. - If set to true, new registrations will not change existing defaults. - - - - - The component upon which this registration is based. - - - - - Used to build an from component registrations. - - - - var builder = new ContainerBuilder(); - - builder.RegisterType<Logger>() - .As<ILogger>() - .SingleInstance(); - - builder.Register(c => new MessageHandler(c.Resolve<ILogger>())); - - var container = builder.Build(); - // resolve components from container... - - - Most functionality is accessed - via extension methods in . - - - - - - Register a callback that will be invoked when the container is configured. - - This is primarily for extending the builder syntax. - Callback to execute. - - - - Create a new container with the component registrations that have been made. - - Options that influence the way the container is initialised. - - Build can only be called once per - - this prevents ownership issues for provided instances. - Build enables support for the relationship types that come with Autofac (e.g. - Func, Owned, Meta, Lazy, IEnumerable.) To exclude support for these types, - first create the container, then call Update() on the builder. - - A new container with the configured component registrations. - - - - Configure an existing container with the component registrations - that have been made. - - - Update can only be called once per - - this prevents ownership issues for provided instances. - - An existing container to make the registrations in. - - - - Configure an existing registry with the component registrations - that have been made. - - - Update can only be called once per - - this prevents ownership issues for provided instances. - - An existing registry to make the registrations in. - - - - A parameter identified by name. When applied to a reflection-based - component, will be matched against - the name of the component's constructor arguments. When applied to - a delegate-based component, the parameter can be accessed using - . - - - Component with parameter: - - public class MyComponent - { - public MyComponent(int amount) { ... } - } - - Providing the parameter: - - var builder = new ContainerBuilder(); - builder.RegisterType<MyComponent>(); - var container = builder.Build(); - var myComponent = container.Resolve<MyComponent>(new NamedParameter("amount", 123)); - - - - - - Create a with the specified constant value. - - The name of the parameter. - The parameter value. - - - - The name of the parameter. - - - - - Extension methods that simplify extraction of parameter values from - an where T is . - Each method returns the first matching parameter value, or throws an exception if - none is provided. - - - At configuration time, delegate registrations can retrieve parameter values using - the methods , and : - - builder.Register((c, p) => new FtpClient(p.Named<string>("server"))); - - These parameters can be provided at resolution time: - - container.Resolve<FtpClient>(new NamedParameter("server", "ftp.example.com")); - - Alternatively, the parameters can be provided via a Generated Factory - http://code.google.com/p/autofac/wiki/DelegateFactories. - - - - - Retrieve a named parameter value from a instance. - - The type to which the returned value will be cast. - The available parameters to choose from. - The name of the parameter to select. - The value of the selected parameter. - - - - - Retrieve a positional parameter value from a instance. - - The type to which the returned value will be cast. - The available parameters to choose from. - The zero-based position of the parameter to select. - The value of the selected parameter. - The position value is the one associated with the parameter when - it was constructed, not its index into the - sequence. - - - - - Retrieve a typed parameter value from a instance. - - The type to which the returned value will be cast. - The available parameters to choose from. - The value of the selected parameter. - - - - - A parameter that is identified according to an integer representing its - position in an argument list. When applied to a reflection-based - component, will be matched against - the indices of the component's constructor arguments. When applied to - a delegate-based component, the parameter can be accessed using - . - - - Component with parameter: - - public class MyComponent - { - public MyComponent(int amount) { ... } - } - - Providing the parameter: - - var builder = new ContainerBuilder(); - builder.RegisterType<MyComponent>(); - var container = builder.Build(); - var myComponent = container.Resolve<MyComponent>(new PositionalParameter(0, 123)); - - - - - - Construct a positional parameter with the specified constant value. - - The zero-based position of the parameter. - The parameter value. - - - - The zero-based position of the parameter. - - - - - Adds syntactic convenience methods to the interface. - - - - - Set any properties on that can be - resolved in the context. - - Type of instance. Used only to provide method chaining. - The context from which to resolve the service. - The instance to inject properties into. - . - - - - Set any null-valued properties on that can be - resolved by the container. - - Type of instance. Used only to provide method chaining. - The context from which to resolve the service. - The instance to inject properties into. - . - - - - Retrieve a service from the context. - - The type to which the result will be cast. - The context from which to resolve the service. - Name of the service. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context. - - The type to which the result will be cast. - The context from which to resolve the service. - Name of the service. - The parameters. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context. - - The type to which the result will be cast. - The context from which to resolve the service. - Name of the service. - The parameters. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context. - - The type to which the result will be cast. - The context from which to resolve the service. - Key of the service. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context. - - The type to which the result will be cast. - The context from which to resolve the service. - Key of the service. - The parameters. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context. - - The type to which the result will be cast. - The context from which to resolve the service. - Key of the service. - The parameters. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context. - - The service to retrieve. - The context from which to resolve the service. - The component instance that provides the service. - - - - - - Retrieve a service from the context. - - The type to which the result will be cast. - The context from which to resolve the service. - Parameters for the service. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context. - - The type to which the result will be cast. - The context from which to resolve the service. - Parameters for the service. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context. - - The context from which to resolve the service. - The service type. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context. - - The context from which to resolve the service. - Parameters for the service. - The service type. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context. - - The context from which to resolve the service. - Parameters for the service. - The service type. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context. - - The context from which to resolve the service. - The service name. - Type of the service. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context. - - The context from which to resolve the service. - Parameters for the service. - The service name. - Type of the service. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context. - - The context from which to resolve the service. - Parameters for the service. - The service name. - Type of the service. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context. - - The context from which to resolve the service. - Key of the service. - Type of the service. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context. - - The context from which to resolve the service. - Key of the service. - Type of the service. - The parameters. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context. - - The context from which to resolve the service. - Key of the service. - Type of the service. - The parameters. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context. - - The context from which to resolve the service. - The service to resolve. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context. - - The context from which to resolve the service. - Parameters for the service. - The service to resolve. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context. - - The context from which to resolve the service. - Parameters for the service. - The service to resolve. - - The component instance that provides the service. - - - - - - - Retrieve a service from the context, or null if the service is not - registered. - - The context from which to resolve the service. - The service to resolve. - - The component instance that provides the service, or null. - - - - - - Retrieve a service from the context, or null if the service is not - registered. - - The context from which to resolve the service. - Parameters for the service. - The service to resolve. - - The component instance that provides the service, or null. - - - - - - Retrieve a service from the context, or null if the service is not - registered. - - The context from which to resolve the service. - Parameters for the service. - The service to resolve. - - The component instance that provides the service, or null. - - - - - - Retrieve a service from the context, or null if the service is not - registered. - - The context from which to resolve the service. - The name of the service. - The service to resolve. - - The component instance that provides the service, or null. - - - - - - Retrieve a service from the context, or null if the service is not - registered. - - The context from which to resolve the service. - Parameters for the service. - The name of the service. - The service to resolve. - - The component instance that provides the service, or null. - - - - - - Retrieve a service from the context, or null if the service is not - registered. - - The context from which to resolve the service. - Parameters for the service. - The name of the service. - The service to resolve. - - The component instance that provides the service, or null. - - - - - - Retrieve a service from the context, or null if the service is not - registered. - - The context from which to resolve the service. - The name of the service. - The service to resolve. - - The component instance that provides the service, or null. - - - - - - Retrieve a service from the context, or null if the service is not - registered. - - The context from which to resolve the service. - Parameters for the service. - The name of the service. - The service to resolve. - - The component instance that provides the service, or null. - - - - - - Retrieve a service from the context, or null if the service is not - registered. - - The context from which to resolve the service. - Parameters for the service. - The key of the service. - The service to resolve. - - The component instance that provides the service, or null. - - - - - - Retrieve a service from the context, or null if the service is not - registered. - - The context from which to resolve the service. - The type of the service. - - The component instance that provides the service, or null. - - - - - - Retrieve a service from the context, or null if the service is not - registered. - - The context from which to resolve the service. - Parameters for the service. - The type of the service. - - The component instance that provides the service, or null. - - - - - - Retrieve a service from the context, or null if the service is not - registered. - - The context from which to resolve the service. - Parameters for the service. - The type of the service. - - The component instance that provides the service, or null. - - - - - - Retrieve a service from the context, or null if the service is not - registered. - - The context from which to resolve the service. - The service. - - The component instance that provides the service, or null. - - - - - - Retrieve a service from the context, or null if the service is not - registered. - - The context from which to resolve the service. - The service. - Parameters for the service. - - The component instance that provides the service, or null. - - - - - - Retrieve a service from the context, or null if the service is not - registered. - - The context from which to resolve the service. - The service. - Parameters for the service. - - The component instance that provides the service, or null. - - - - - - Determine whether the specified service is available in the context. - - The context from which to resolve the service. - The service to test for the registration of. - True if the service is registered. - - - - Determine whether the specified service is available in the context. - - The context from which to resolve the service. - The service to test for the registration of. - True if the service is registered. - - - - Determine whether the specified service is available in the context. - - The context from which to resolve the service. - The name of the service to test for the registration of. - Type type of the service to test for the registration of. - True if the service is registered. - - - - Determine whether the specified service is available in the context. - - The context from which to resolve the service. - The name of the service to test for the registration of. - Type type of the service to test for the registration of. - True if the service is registered. - - - - Determine whether the specified service is available in the context. - - The context from which to resolve the service. - The key of the service to test for the registration of. - Type type of the service to test for the registration of. - True if the service is registered. - - - - Determine whether the specified service is available in the context. - - The context from which to resolve the service. - The key of the service to test for the registration of. - Type type of the service to test for the registration of. - True if the service is registered. - - - - Determine whether the specified service is available in the context. - - The context from which to resolve the service. - The service to test for the registration of. - True if the service is registered. - - - - Try to retrieve a service from the context. - - The context from which to resolve the service. - The service to resolve. - The resulting component instance providing the service, or null. - The parameters. - - True if a component providing the service is available. - - - - Thrown if is . - - - - - Try to retrieve a service from the context. - - The context from which to resolve the service. - The service to resolve. - The resulting component instance providing the service, or null. - - True if a component providing the service is available. - - - - - - Try to retrieve a service from the context. - - The context from which to resolve the service. - The service type to resolve. - The resulting component instance providing the service, or null. - - True if a component providing the service is available. - - - - - - Try to retrieve a service from the context. - - The service type to resolve. - The context from which to resolve the service. - The resulting component instance providing the service, or default(T). - - True if a component providing the service is available. - - - - - - Try to retrieve a service from the context. - - The context from which to resolve the service. - The name of the service to resolve. - The type of the service to resolve. - The resulting component instance providing the service, or null. - - True if a component providing the service is available. - - - - - - Try to retrieve a service from the context. - - The context from which to resolve the service. - The key of the service to resolve. - The type of the service to resolve. - The resulting component instance providing the service, or null. - - True if a component providing the service is available. - - - - - - Flexible parameter type allows arbitrary values to be retrieved - from the resolution context. - - - - - Create an instance of the ResolvedParameter class. - - A predicate that determines which parameters on a constructor will be supplied by this instance. - A function that supplies the parameter value given the context. - - - - Returns true if the parameter is able to provide a value to a particular site. - - Constructor, method, or property-mutator parameter. - The component context in which the value is being provided. - If the result is true, the valueProvider parameter will - be set to a function that will lazily retrieve the parameter value. If the result is false, - will be set to null. - True if a value can be supplied; otherwise, false. - - - - Construct a that will match parameters of type - and resolve for those parameters an implementation - registered with the name . - - The type of the parameter to match. - The name of the matching service to resolve. - A configured instance. - - - - - - Construct a that will match parameters of type - and resolve for those parameters an implementation - registered with the key . - - The type of the parameter to match. - The key of the matching service to resolve. - A configured instance. - - - - A parameter that can supply values to sites that exactly - match a specified type. When applied to a reflection-based - component, will be matched against - the types of the component's constructor arguments. When applied to - a delegate-based component, the parameter can be accessed using - . - - - Component with parameter: - - public class MyComponent - { - public MyComponent(int amount) { ... } - } - - Providing the parameter: - - var builder = new ContainerBuilder(); - builder.RegisterType<MyComponent>(); - var container = builder.Build(); - var myComponent = container.Resolve<MyComponent>(new TypedParameter(typeof(int), 123)); - - - - - - Create a typed parameter with the specified constant value. - - The exact type to match. - The parameter value. - - - - Shortcut for creating - by using the - - type to be used for the parameter - The parameter value. - new typed parameter - - - - The type against which targets are matched. - - - - - Extends with methods that are useful in - building scanning rules for . - - - - - Returns true if this type is in the namespace - or one of its sub-namespaces. - - The type to test. - The namespace to test. - True if this type is in the namespace - or one of its sub-namespaces; otherwise, false. - - - - Returns true if this type is in the same namespace as - or one of its sub-namespaces. - - The type to test. - True if this type is in the same namespace as - or one of its sub-namespaces; otherwise, false. - - - Determines whether the candidate type supports any base or - interface that closes the provided generic type. - - - - - - - Determines whether this type is assignable to . - - The type to test assignability to. - True if this type is assignable to references of type - ; otherwise, False. - - - - 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 The type '{0}' is not an open generic class or interface type.. - - - - - Extension methods for . - - - - - Safely returns the set of loadable types from an assembly. - - The from which to load types. - - The set of types from the , or the subset - of types that could be loaded if there was any error. - - - Thrown if is . - - - - - Helper methods used throughout the codebase. - - - - - Enforce that an argument is not null. Returns the - value if valid so that it can be used inline in - base initialiser syntax. - - - - - - - - - Enforce that sequence does not contain null. Returns the - value if valid so that it can be used inline in - base initialiser syntax. - - - The value. - The name. - - - - - Enforces that the provided object is non-null. - - - The value. - - - - - Enforce that an argument is not null or empty. Returns the - value if valid so that it can be used inline in - base initialiser syntax. - - The value. - The description. - - - - - Enforce that the argument is a delegate type. - - The type to test. - - - - 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 The argument '{0}' cannot be empty.. - - - - - Looks up a localized string similar to The object of type '{0}' cannot be null.. - - - - - Looks up a localized string similar to Type {0} returns void.. - - - - - Looks up a localized string similar to The sequence provided as argument '{0}' cannot contain null elements.. - - - - - Looks up a localized string similar to Type {0} is not a delegate type.. - - - - - Extension methods for reflection-related types. - - - - - Maps from a property-set-value parameter to the declaring property. - - Parameter to the property setter. - The property info on which the setter is specified. - True if the parameter is a property setter. - - - - Get a PropertyInfo object from an expression of the form - x => x.P. - - Type declaring the property. - The type of the property. - Expression mapping an instance of the - declaring type to the property value. - Property info. - - - - Get the MethodInfo for a method called in the - expression. - - Type on which the method is called. - Expression demonstrating how the method appears. - The method info for the called method. - - - - Gets the for the new operation called in the expression. - - The type on which the constructor is called. - Expression demonstrating how the constructor is called. - The for the called constructor. - - - - Retrieves a custom attribute of a specified type that is applied to a specified member, - and optionally inspects the ancestors of that member. - - The type of attribute to search for. - The member to inspect. - true to inspect the ancestors of element; otherwise, false. - A custom attribute that matches , or null if no such attribute is found. - - - - 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 The provided expression must be of the form () =>new X(), but the provided expression was {0}.. - - - - - Looks up a localized string similar to The provided expression must be of the form x =>x.M(), but the provided expression was {0}.. - - - - - Looks up a localized string similar to The provided expression must be of the form x =>x.P, but the provided expression was {0}.. - - - - - Adapts an action to the interface. - - - - - Joins the strings into one single string interspersing the elements with the separator (a-la - System.String.Join()). - - The elements. - The separator. - The joined string. - - - - Appends the item to the specified sequence. - - - The sequence. - The trailing item. - - - - - Prepends the item to the specified sequence. - - - The sequence. - The leading item. - - - - Returns the first concrete interface supported by the candidate type that - closes the provided open generic service type. - The type that is being checked for the interface. - The open generic type to locate. - The type of the interface. - - - - Looks for an interface on the candidate type that closes the provided open generic interface type. - - The type that is being checked for the interface. - The open generic service type to locate. - True if a closed implementation was found; otherwise false. - - - - Retrieve registrations for an unregistered service, to be used - by the container. - - The service that was requested. - A function that will return existing registrations for a service. - Registrations providing the service. - - - - Signal attribute for static analysis that indicates a helper method is - validating arguments for . - - - - - 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 Delegate Support (Func<T>and Custom Delegates). - - - - diff --git a/packages/Castle.Core.3.2.0/ASL - Apache Software Foundation License.txt b/packages/Castle.Core.3.2.0/ASL - Apache Software Foundation License.txt deleted file mode 100644 index 9e90f82..0000000 --- a/packages/Castle.Core.3.2.0/ASL - Apache Software Foundation License.txt +++ /dev/null @@ -1,57 +0,0 @@ -Apache License, Version 2.0 - -Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. - -"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: - - 1. You must give any other recipients of the Work or Derivative Works a copy of this License; and - - 2. You must cause any modified files to carry prominent notices stating that You changed the files; and - - 3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and - - 4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. - -You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS diff --git a/packages/Castle.Core.3.2.0/BreakingChanges.txt b/packages/Castle.Core.3.2.0/BreakingChanges.txt deleted file mode 100644 index 6f39a7a..0000000 --- a/packages/Castle.Core.3.2.0/BreakingChanges.txt +++ /dev/null @@ -1,71 +0,0 @@ -=== version 3.0 -================================================================================================ -change - Removed overloads of logging methods that were taking format string from ILogger and - ILogger and IExtendedLogger and didn't have word Format in their name. - For example: - void Error(string format, params object[] args); // was removed - void ErrorFormat(string format, params object[] args); //use this one instead - - -impact - low -fixability - medium -revision - - -description - To minimize confusion and duplication those methods were removed. - -fix - Use methods that have explicit "Format" word in their name and same signature. -================================================================================================ -change - Removed WebLogger and WebLoggerFactory - -impact - low -fixability - medium -revision - - -description - To minimize management overhead the classes were removed so that only single - Client Profile version of Castle.Core can be distributed. - -fix - You can use NLog or Log4Net web logger integration, or reuse implementation of existing - web logger and use it as a custom logger. - -================================================================================================ -change - Removed obsolete overload of ProxyGenerator.CreateClassProxy - -impact - low -fixability - trivial -revision - - -description - Deprecated overload of ProxyGenerator.CreateClassProxy was removed to keep the - method consistent with other methods and to remove confusion - -fix - whenever removed overload was used, use one of the other overloads. - -================================================================================================ -change - IProxyGenerationHook.NonVirtualMemberNotification method was renamed - -impact - high -fixability - easy -revision - - -description - to accommodate class proxies with target method NonVirtualMemberNotification on - IProxyGenerationHook type was renamed to more accurate NonProxyableMemberNotification - since for class proxies with target not just methods but also fields and other member that - break the abstraction will be passed to this method. - -fix - whenever NonVirtualMemberNotification is used/implemented change the method name to - NonProxyableMemberNotification. Implementors should also accommodate possibility that not - only MethodInfos will be passed as method's second parameter. - -================================================================================================ -change - DynamicProxy will now allow to intercept members of System.Object - -impact - very low -fixability - easy -revision - - -description - to allow scenarios like mocking of System.Object members, DynamicProxy will not - disallow proxying of these methods anymore. AllMethodsHook (default IProxyGenerationHook) - will still filter them out though. - -fix - whenever custom IProxyGenerationHook is used, user should account for System.Object's - members being now passed to ShouldInterceptMethod and NonVirtualMemberNotification methods - and if neccessary update the code to handle them appropriately. diff --git a/packages/Castle.Core.3.2.0/Castle.Core.3.2.0.nupkg b/packages/Castle.Core.3.2.0/Castle.Core.3.2.0.nupkg deleted file mode 100644 index 6051310..0000000 Binary files a/packages/Castle.Core.3.2.0/Castle.Core.3.2.0.nupkg and /dev/null differ diff --git a/packages/Castle.Core.3.2.0/Castle.Core.3.2.0.nuspec b/packages/Castle.Core.3.2.0/Castle.Core.3.2.0.nuspec deleted file mode 100644 index 9a2eb2d..0000000 --- a/packages/Castle.Core.3.2.0/Castle.Core.3.2.0.nuspec +++ /dev/null @@ -1,17 +0,0 @@ - - - - Castle.Core - 3.2.0 - Castle Project Contributors - Castle Project Contributors - http://www.apache.org/licenses/LICENSE-2.0.html - http://www.castleproject.org/ - http://docs.castleproject.org/GetFile.aspx?File=/castleLogo100px.png - false - Castle Project Core, including DynamicProxy, Logging Abstractions and DictionaryAdapter - Castle Project Core, including DynamicProxy, Logging Abstractions and DictionaryAdapter - Copyright 2004-2013 Castle Project - http://www.castleproject.org/ - castle dynamicproxy dynamic proxy dynamicproxy2 dictionaryadapter emailsender - - \ No newline at end of file diff --git a/packages/Castle.Core.3.2.0/Changes.txt b/packages/Castle.Core.3.2.0/Changes.txt deleted file mode 100644 index 009b3a8..0000000 --- a/packages/Castle.Core.3.2.0/Changes.txt +++ /dev/null @@ -1,196 +0,0 @@ -3.2.0 (2013-02-16) -================== -- fixed DYNPROXY-179 - Exception when creating a generic proxy (from cache) -- fixed DYNPROXY-175 - invalid CompositionInvocation type used when code uses interface proxies with and without InterceptorSelector - -3.1.0 (2012-08-05) -================== -- fixed DYNPROXY-174 - Unable to cast object of type 'System.Collections.ObjectModel.ReadOnlyCollection`1[System.Reflection.CustomAttributeTypedArgument]' to type 'System.Array' - -3.1.0 RC (2012-07-08) -================== -- support multiple inheritance of DA attributes on interfaces. -- BREAKING CHANGE: removed propogate child notifications as it violated INotifyPropertyChanged contract -- improved DictionaryAdapter performance -- generalized IBindingList support for DictionaryAdapters -- added reference support to XmlAdapter -- BRAKING CHANGE: refactored XPathAdapter into XmlAdapter with much more flexibility to support other input like XLinq - -- implemented CORE-43 - Add option to skip configuring log4net/nlog - -- fixed CORE-44 - NLog logger does not preserver call site info -- fixed DYNPROXY-171 - PEVerify error on generic method definition -- fixed DYNPROXY-170 - Calls to properties inside non-intercepted methods are not forwarded to target object (regression from v2.5) -- fixed DYNPROXY-169 - Support IChangeProxyTarget on additional interfaces and mixins when using CreateInterfaceProxyWithTargetInterface - -3.0.0 (2011-12-13) -================== -no major changes since RC - -3.0.0 RC 1 (2011-11-20) -================== -- Applied Jeff Sharps patch that refactored Xml DictionaryAdapter to improve maintainability and enable more complete functionality - -- fixed DYNPROXY-165 - Object.GetType() and Object.MemberwiseClone() should be ignored and not reported as non-interceptable to IProxyGenerationHook -- fixed DYNPROXY-164 - Invalid Proxy type generated when there are more than one base class generic constraints -- fixed DYNPROXY-162 - ref or out parameters can not be passed back if proxied method throw an exception - -3.0.0 beta 1 (2011-08-14) -================== -- fixed CORE-37 - TAB characters in the XML Configuration of a component parameter is read as String.Empty -- fixed DYNPROXY-161 - Strong Named DynamicProxy Assembly Not Available in Silverligh -- fixed DYNPROXY-159 - Sorting MemberInfo array for serialization has side effects -- fixed DYNPROXY-158 - Can't create class proxy with target and without target in same ProxyGenerator -- fixed DYNPROXY-153 - When proxying a generic interface which has an interface as GenericType . No proxy can be created -- fixed DYNPROXY-151 - Cast error when using attributes - -- implemented CORE-33 - Add lazy logging -- implemented DYNPROXY-156 - Provide mechanism for interceptors to implement retry logic - -- removed obsolete members from ILogger and its implementations - -2.5.2 (2010-11-15) -================== -- fixed DYNPROXY-150 - Finalizer should not be proxied -- implemented DYNPROXY-149 - Make AllMethodsHook members virtual so it can be used as a base class -- fixed DYNPROXY-147 - Can't crete class proxies with two non-public methods having same argument types but different return type -- fixed DYNPROXY-145 Unable to proxy System.Threading.SynchronizationContext (.NET 4.0) -- fixed DYNPROXY-144 - params argument not supported in constructor -- fixed DYNPROXY-143 - Permit call to reach "non-proxied" methods of inherited interfaces -- implemented DYNPROXY-139 - Better error message -- fixed DYNPROXY-133 - Debug assertion in ClassProxyInstanceContributor fails when proxying ISerializable with an explicit implementation of GetObjectData -- fixed CORE-32 - Determining if permission is granted via PermissionUtil does not work in .NET 4 -- applied patch by Alwin Meijs - ExtendedLog4netFactory can be configured with a stream from for example an embedded log4net xml config -- Upgraded NLog to 2.0 Beta 1 -- Added DefaultXmlSerializer to bridge XPathAdapter with standard Xml Serialization. -- XPathAdapter for DictionaryAdapter added IXPathSerializer to provide hooks for custom serialization. - -2.5.1 (2010-09-21) -================== -- Interface proxy with target Interface now accepts null as a valid target value (which can be replaced at a later stage). -- DictionaryAdapter behavior overrides are now ordered with all other behaviors -- BREAKING CHANGE: removed web logger so that by default Castle.Core works in .NET 4 client profile -- added paramter to ModuleScope disabling usage of signed modules. This is to workaround issue DYNPROXY-134. Also a descriptive exception message is being thrown now when the issue is detected. -- Added IDictionaryBehaviorBuilder to allow grouping behaviors -- Added GenericDictionaryAdapter to simplify generic value sources -- fixed issue DYNPROXY-138 - Error message missing space -- fixed false positive where DynamicProxy would not let you proxy interface with target interface when target object was a COM object. -- fixed ReflectionBasedDictionaryAdapter when using indexed properties - -2.5.0 (2010-08-21) -================== -- DynamicProxy will now not replicate non-public attribute types -- Applied patch from Kenneth Siewers Mller which adds parameterless constructor to DefaultSmtpSender implementation, to be able to configure the inner SmtpClient from the application configuration file (system.net.smtp). -- added support for .NET 4 and Silverlight 4, updated solution to VisualStudio 2010 -- Removed obsolete overload of CreateClassProxy -- Added class proxy with taget -- Added ability to intercept explicitly implemented generic interface methods on class proxy. -- DynamicProxy does not disallow intercepting members of System.Object anymore. AllMethodsHook will still filter them out though. -- Added ability to intercept explicitly implemented interface members on class proxy. Does not support generic members. -- Merged DynamicProxy into Core binary -- fixed DYNPROXY-ISSUE-132 - "MetaProperty equals implementation incorrect" -- Fixed bug in DiagnosticsLoggerTestCase, where when running as non-admin, the teardown will throw SecurityException (contributed by maxild) -- Split IoC specific classes into Castle.Windsor project -- Merged logging services solution -- Merged DynamicProxy project - -1.2.0 (2010-01-11) -================== - -- Added IEmailSender interface and its default implementation - -1.2.0 beta (2009-12-04) -================== - -- BREAKING CHANGE - added ChangeProxyTarget method to IChangeProxyTarget interface -- added docs to IChangeProxyTarget methods -- Fixed DYNPROXY-ISSUE-108 - Obtaining replicated custom attributes on proxy may fail when property setter throws exception on default value -- Moved custom attribute replication from CustomAttributeUtil to new interface - IAttributeDisassembler -- Exposed IAttributeDisassembler via ProxyGenerationOptions, so that users can plug their implementation for some convoluted scenarios. (for Silverlight) -- Moved IInterceptorSelector from Dynamic Proxy to Core (IOC-ISSUE-156) - -1.1.0 (2009-05-04) -================== - -- Applied Eric Hauser's patch fixing CORE-ISSUE-22 - "Support for environment variables in resource URI" - -- Applied Gauthier Segay's patch fixing CORE-ISSUE-20 - "Castle.Core.Tests won't build via nant because it use TraceContext without referencing System.Web.dll" - -- Added simple interface to ComponentModel to make optional properties required. - -- Applied Mark's -- -- patch that changes - the Core to support being compiled for Silverlight 2 - -- Applied Louis DeJardin's patch adding TraceLogger as a new logger implementation - -- Applied Chris Bilson's patch fixing CORE-15 - "WebLogger Throws When Logging Outside of an HttpContext" - -Release Candidate 3 -=================== - -- Added IServiceProviderEx which extends IServiceProvider - -- Added Pair class. - -- Applied Bill Pierce's patch fixing CORE-9 - "Allow CastleComponent Attribute to Specify Lifestyle in Constructor" - -- Added UseSingleInterfaceProxy to CompomentModel to control the proxying - behavior while maintaining backward compatibility. - Added the corresponding ComponentProxyBehaviorAttribute. - -- Made NullLogger and IExtnededLogger - -- Enabled a new format on ILogger interface, with 6 overloads for each method: - Debug(string) - Debug(string, Exception) - Debug(string, params object[]) - DebugFormat(string, params object[]) - DebugFormat(Exception, string, params object[]) - DebugFormat(IFormatProvider, string, params object[]) - DebugFormat(IFormatProvider, Exception, string, params object[]) - - The "FatalError" overloads where marked as [Obsolete], replaced by "Fatal" and "FatalFormat". - -0.0.1.0 -======= - -- Included IProxyTargetAccessor - -- Removed IMethodInterceptor and IMethodInvocation, that have been replaced - by IInterceptor and IInvocation - -- Added FindByPropertyInfo to PropertySetCollection - -- Made the DependencyModel.IsOptional property writable - -- Applied Curtis Schlak's patch fixing IOC-27 - "assembly resource format only works for resources where the assemblies name and default namespace are the same." - - Quoting: - - "I chose to preserve backwards compatibility by implementing the code in the - reverse order as suggested by the reporter. Given the following URI for a resource: - - assembly://my.cool.assembly/context/moo/file.xml - - It will initially look for an embedded resource with the manifest name of - "my.cool.assembly.context.moo.file.xml" in the loaded assembly my.cool.assembly.dll. - If it does not find it, then it looks for the embedded resource with the manifest name - of "context.moo.file.xml". - -- IServiceEnabledComponent Introduced to be used across the project as - a standard way to have access to common services, for example, logger factories - -- Added missing log factories - -- Refactor StreamLogger and DiagnosticLogger to be more consistent behavior-wise - -- Refactored WebLogger to extend LevelFilteredLogger (removed duplication) - -- Refactored LoggerLevel order - -- Project started diff --git a/packages/Castle.Core.3.2.0/License.txt b/packages/Castle.Core.3.2.0/License.txt deleted file mode 100644 index a00764d..0000000 --- a/packages/Castle.Core.3.2.0/License.txt +++ /dev/null @@ -1,14 +0,0 @@ -Copyright 2004-2013 Castle Project - http://www.castleproject.org/ - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - diff --git a/packages/Castle.Core.3.2.0/lib/net35/Castle.Core.dll b/packages/Castle.Core.3.2.0/lib/net35/Castle.Core.dll deleted file mode 100644 index ccc7d5f..0000000 Binary files a/packages/Castle.Core.3.2.0/lib/net35/Castle.Core.dll and /dev/null differ diff --git a/packages/Castle.Core.3.2.0/lib/net35/Castle.Core.xml b/packages/Castle.Core.3.2.0/lib/net35/Castle.Core.xml deleted file mode 100644 index 6fa66c0..0000000 --- a/packages/Castle.Core.3.2.0/lib/net35/Castle.Core.xml +++ /dev/null @@ -1,4754 +0,0 @@ - - - - Castle.Core - - - - - Specifies assignment by reference rather than by copying. - - - - - Suppresses any on-demand behaviors. - - - - - Removes a property if null or empty string, guid or collection. - - - - - Removes a property if matches value. - - - - - Assigns a specific dictionary key. - - - - - Defines the contract for customizing dictionary access. - - - - - Copies the dictionary behavior. - - null if should not be copied. Otherwise copy. - - - - Determines relative order to apply related behaviors. - - - - - Defines the contract for updating dictionary values. - - - - - Sets the stored dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if the property should be stored. - - - - Contract for value matching. - - - - - Indicates that underlying values are changeable and should not be cached. - - - - - Contract for dictionary initialization. - - - - - Performs any initialization of the - - The dictionary adapter. - The dictionary behaviors. - - - - Abstract implementation of . - - - - - Conract for traversing a . - - - - - Contract for creating additional Dictionary adapters. - - - - - Contract for manipulating the Dictionary adapter. - - - - - Contract for editing the Dictionary adapter. - - - - - Contract for managing Dictionary adapter notifications. - - - - - Contract for validating Dictionary adapter. - - - - - Defines the contract for building s. - - - - - Builds the dictionary behaviors. - - - - - - Abstract adapter for the support - needed by the - - - - - Adds an element with the provided key and value to the object. - - The to use as the key of the element to add. - The to use as the value of the element to add. - An element with the same key already exists in the object. - key is null. - The is read-only.-or- The has a fixed size. - - - - Removes all elements from the object. - - The object is read-only. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - key is null. - - - - Returns an object for the object. - - - An object for the object. - - - - - Removes the element with the specified key from the object. - - The key of the element to remove. - The object is read-only.-or- The has a fixed size. - key is null. - - - - Copies the elements of the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in array at which copying begins. - array is null. - The type of the source cannot be cast automatically to the type of the destination array. - index is less than zero. - array is multidimensional.-or- index is equal to or greater than the length of array.-or- The number of elements in the source is greater than the available space from index to the end of the destination array. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Gets a value indicating whether the object has a fixed size. - - - true if the object has a fixed size; otherwise, false. - - - - Gets a value indicating whether the object is read-only. - - - true if the object is read-only; otherwise, false. - - - - Gets an object containing the keys of the object. - - - An object containing the keys of the object. - - - - Gets an object containing the values in the object. - - - An object containing the values in the object. - - - - Gets or sets the with the specified key. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Gets a value indicating whether access to the is synchronized (thread safe). - - - true if access to the is synchronized (thread safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - Provides a generic collection that supports data binding. - - - This class wraps the CLR - in order to implement the Castle-specific . - - The type of elements in the list. - - - - Initializes a new instance of the class - using default values. - - - - - Initializes a new instance of the class - with the specified list. - - - An of items - to be contained in the . - - - - - Initializes a new instance of the class - wrapping the specified instance. - - - A - to be wrapped by the . - - - - - Defines the contract for retrieving dictionary values. - - - - - Gets the effective dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if return only existing. - The effective property value. - - - - Initializes a new instance of the class - that represents a child object in a larger object graph. - - - - - - - Contract for dictionary meta-data initialization. - - - - - Initializes the given object. - - The dictionary adapter factory. - The dictionary adapter meta. - - - - - Determines whether the given behavior should be included in a new - object. - - A dictionary behavior or annotation. - True if the behavior should be included; otherwise, false. - - behaviors are always included, - regardless of the result of this method. - - - - - - Checks whether or not collection is null or empty. Assumes colleciton can be safely enumerated multiple times. - - - - - - - Constant to use when making assembly internals visible to Castle.Core - [assembly: InternalsVisibleTo(CoreInternalsVisible.ToCastleCore)] - - - - - Constant to use when making assembly internals visible to proxy types generated by DynamicProxy. Required when proxying internal types. - [assembly: InternalsVisibleTo(CoreInternalsVisible.ToDynamicProxyGenAssembly2)] - - - - - Identifies a property should be represented as a nested component. - - - - - Defines the contract for building typed dictionary keys. - - - - - Builds the specified key. - - The dictionary adapter. - The current key. - The property. - The updated key - - - - Applies no prefix. - - - - - Gets or sets the prefix. - - The prefix. - - - - Identifies the dictionary adapter types. - - - - - Identifies an interface or property to be pre-fetched. - - - - - Instructs fetching to occur. - - - - - Instructs fetching according to - - - - - - Gets whether or not fetching should occur. - - - - - Assigns a property to a group. - - - - - Constructs a group assignment. - - The group name. - - - - Constructs a group assignment. - - The group name. - - - - Gets the group the property is assigned to. - - - - - Assigns a specific dictionary key. - - - - - Initializes a new instance of the class. - - The key. - - - - Initializes a new instance of the class. - - The compound key. - - - - Assigns a prefix to the keyed properties of an interface. - - - Key prefixes are not inherited by sub-interfaces. - - - - - Initializes a default instance of the class. - - - - - Initializes a new instance of the class. - - The prefix for the keyed properties of the interface. - - - - Gets the prefix key added to the properties of the interface. - - - - - Substitutes part of key with another string. - - - - - Initializes a new instance of the class. - - The old value. - The new value. - - - - Requests support for multi-level editing. - - - - - Generates a new GUID on demand. - - - - - Support for on-demand value resolution. - - - - - Provides simple string formatting from existing properties. - - - - - Gets the string format. - - - - - Gets the format properties. - - - - - Identifies a property should be represented as a delimited string value. - - - - - Gets the separator. - - - - - Converts all properties to strings. - - - - - Gets or sets the format. - - The format. - - - - Suppress property change notifications. - - - - - Contract for property descriptor initialization. - - - - - Performs any initialization of the - - The property descriptor. - The property behaviors. - - - - Assigns a prefix to the keyed properties using the interface name. - - - - - Manages conversion between property values. - - - - - Initializes a new instance of the class. - - The converter. - - - - Gets the effective dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if return only existing. - The effective property value. - - - - - - - - - Uses Reflection.Emit to expose the properties of a dictionary - through a dynamic implementation of a typed interface. - - - - - Defines the contract for building typed dictionary adapters. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - The property descriptor. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the namedValues. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the namedValues. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the . - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the . - - The type represented by T must be an interface with properties. - - - - - Gets the associated with the type. - - The typed interface. - The adapter meta-data. - - - - Gets the associated with the type. - - The typed interface. - The property descriptor. - The adapter meta-data. - - - - Gets the associated with the type. - - The typed interface. - Another from which to copy behaviors. - The adapter meta-data. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Contract for dictionary validation. - - - - - Determines if is valid. - - The dictionary adapter. - true if valid. - - - - Validates the . - - The dictionary adapter. - The error summary information. - - - - Validates the for a property. - - The dictionary adapter. - The property to validate. - The property summary information. - - - - Invalidates any results cached by the validator. - - The dictionary adapter. - - - - - - - - - Initializes a new instance of the class. - - The name values. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - key is null. - - - - Adapts the specified name values. - - The name values. - - - - - Gets a value indicating whether the object is read-only. - - - true if the object is read-only; otherwise, false. - - - - Gets or sets the with the specified key. - - - - - - Describes a dictionary property. - - - - - Initializes an empty class. - - - - - Initializes a new instance of the class. - - The property. - The annotations. - - - - Initializes a new instance class. - - - - - Copies an existinginstance of the class. - - - - - - - Gets the key. - - The dictionary adapter. - The key. - The descriptor. - - - - - Gets the property value. - - The dictionary adapter. - The key. - The stored value. - The descriptor. - true if return only existing. - - - - - Sets the property value. - - The dictionary adapter. - The key. - The value. - The descriptor. - - - - - Adds a single behavior. - - The behavior. - - - - Adds the behaviors. - - The behaviors. - - - - Adds the behaviors. - - The behaviors. - - - - Copies the behaviors to the other - - - - - - - Copies the - - - - - - - - - - - Gets the property name. - - - - - Gets the property type. - - - - - Gets the property. - - The property. - - - - Returns true if the property is dynamic. - - - - - Gets additional state. - - - - - Determines if property should be fetched. - - - - - Determines if property must exist first. - - - - - Determines if notifications should occur. - - - - - Gets the property behaviors. - - - - - Gets the type converter. - - The type converter. - - - - Gets the extended properties. - - - - - Gets the setter. - - The setter. - - - - Gets the key builders. - - The key builders. - - - - Gets the setter. - - The setter. - - - - Gets the getter. - - The getter. - - - - Gets the initializers. - - The initializers. - - - - Gets the meta-data initializers. - - The meta-data initializers. - - - - Helper class for retrieving attributes. - - - - - Gets the attribute. - - The member. - The member attribute. - - - - Gets the attributes. Does not consider inherited attributes! - - The member. - The member attributes. - - - - Gets the type attribute. - - The type. - The type attribute. - - - - Gets the type attributes. - - The type. - The type attributes. - - - - Gets the type converter. - - The member. - - - - - Gets the attribute. - - The member. - The member attribute. - - - - Contract for typed dynamic value resolution. - - - - - - Contract for dynamic value resolution. - - - - - Supporting Logger levels. - - - - - Logging will be off - - - - - Fatal logging level - - - - - Error logging level - - - - - Warn logging level - - - - - Info logging level - - - - - Debug logging level - - - - - Encapsulates an invocation of a proxied method. - - - - - Gets the value of the argument at the specified . - - The index. - The value of the argument at the specified . - - - - Returns the concrete instantiation of the on the proxy, with any generic - parameters bound to real types. - - - The concrete instantiation of the on the proxy, or the if - not a generic method. - - - Can be slower than calling . - - - - - Returns the concrete instantiation of , with any - generic parameters bound to real types. - For interface proxies, this will point to the on the target class. - - The concrete instantiation of , or - if not a generic method. - - In debug builds this can be slower than calling . - - - - - Proceeds the call to the next interceptor in line, and ultimately to the target method. - - - Since interface proxies without a target don't have the target implementation to proceed to, - it is important, that the last interceptor does not call this method, otherwise a - will be thrown. - - - - - Overrides the value of an argument at the given with the - new provided. - - - This method accepts an , however the value provided must be compatible - with the type of the argument defined on the method, otherwise an exception will be thrown. - - The index of the argument to override. - The new value for the argument. - - - - Gets the arguments that the has been invoked with. - - The arguments the method was invoked with. - - - - Gets the generic arguments of the method. - - The generic arguments, or null if not a generic method. - - - - Gets the object on which the invocation is performed. This is different from proxy object - because most of the time this will be the proxy target object. - - - The invocation target. - - - - Gets the representing the method being invoked on the proxy. - - The representing the method being invoked. - - - - For interface proxies, this will point to the on the target class. - - The method invocation target. - - - - Gets the proxy object on which the intercepted method is invoked. - - Proxy object on which the intercepted method is invoked. - - - - Gets or sets the return value of the method. - - The return value of the method. - - - - Gets the type of the target object for the intercepted method. - - The type of the target object. - - - - Used during the target type inspection process. Implementors have a chance to customize the - proxy generation process. - - - - - Invoked by the generation process to notify that the whole process has completed. - - - - - Invoked by the generation process to notify that a member was not marked as virtual. - - The type which declares the non-virtual member. - The non-virtual member. - - This method gives an opportunity to inspect any non-proxyable member of a type that has - been requested to be proxied, and if appropriate - throw an exception to notify the caller. - - - - - Invoked by the generation process to determine if the specified method should be proxied. - - The type which declares the given method. - The method to inspect. - True if the given method should be proxied; false otherwise. - - - - Interface describing elements composing generated type - - - - - Performs some basic screening and invokes the - to select methods. - - - - - - - - - Provides functionality for disassembling instances of attributes to CustomAttributeBuilder form, during the process of emiting new types by Dynamic Proxy. - - - - - Disassembles given attribute instance back to corresponding CustomAttributeBuilder. - - An instance of attribute to disassemble - corresponding 1 to 1 to given attribute instance, or null reference. - - Implementers should return that corresponds to given attribute instance 1 to 1, - that is after calling specified constructor with specified arguments, and setting specified properties and fields with values specified - we should be able to get an attribute instance identical to the one passed in . Implementer can return null - if it wishes to opt out of replicating the attribute. Notice however, that for some cases, like attributes passed explicitly by the user - it is illegal to return null, and doing so will result in exception. - - - - - Handles error during disassembly process - - Type of the attribute being disassembled - Exception thrown during the process - usually null, or (re)throws the exception - - - - Here we try to match a constructor argument to its value. - Since we can't get the values from the assembly, we use some heuristics to get it. - a/ we first try to match all the properties on the attributes by name (case insensitive) to the argument - b/ if we fail we try to match them by property type, with some smarts about convertions (i,e: can use Guid for string). - - - - - We have the following rules here. - Try to find a matching type, failing that, if the parameter is string, get the first property (under the assumption that - we can convert it. - - - - - Attributes can only accept simple types, so we return null for null, - if the value is passed as string we call to string (should help with converting), - otherwise, we use the value as is (enums, integer, etc). - - - - - Returns list of all unique interfaces implemented given types, including their base interfaces. - - - - - - - Applied to the assemblies saved by in order to persist the cache data included in the persisted assembly. - - - - - Base class that exposes the common functionalities - to proxy generation. - - - - - It is safe to add mapping (no mapping for the interface exists) - - - - - - - - Generates a parameters constructor that initializes the proxy - state with just to make it non-null. - - This constructor is important to allow proxies to be XML serializable - - - - - - Generates the constructor for the class that extends - - - - - - - - - Default implementation of interface producing in-memory proxy assemblies. - - - - - Abstracts the implementation of proxy type construction. - - - - - Creates a proxy type for given , implementing , using provided. - - The class type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified class and interfaces. - Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type that proxies calls to members on , implementing , using provided. - - The interface type to proxy. - Additional interface types to proxy. - Type implementing on which calls to the interface members should be intercepted. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface that 'proceeds' executions to the specified target. - Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given and that delegates all calls to the provided interceptors and allows interceptors to switch the actual target of invocation. - - The interface type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface(s) that delegate all executions to the specified interceptors - and uses an instance of the interface as their targets (i.e. ), rather than a class. All classes should then implement interface, - to allow interceptors to switch invocation target with instance of another type implementing called interface. - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given that delegates all calls to the provided interceptors. - - The interface type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface and additional interfaces that delegate all executions to the specified interceptors. - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Gets or sets the that this logs to. - - - - - Gets the associated with this builder. - - The module scope associated with this builder. - - - - Initializes a new instance of the class with new . - - - - - Initializes a new instance of the class. - - The module scope for generated proxy types. - - - - Registers custom disassembler to handle disassembly of specified type of attributes. - - Type of attributes to handle - Disassembler converting existing instances of Attributes to CustomAttributeBuilders - - When disassembling an attribute Dynamic Proxy will first check if an custom disassembler has been registered to handle attributes of that type, - and if none is found, it'll use the . - - - - - Attributes should be replicated if they are non-inheritable, - but there are some special cases where the attributes means - something to the CLR, where they should be skipped. - - - - - Initializes a new instance of the class. - - Target element. This is either target type or target method for invocation types. - The type of the proxy. This is base type for invocation types. - The interfaces. - The options. - - - - Initializes a new instance of the class. - - Type of the target. - The interfaces. - The options. - - - - s - Provides appropriate Ldc.X opcode for the type of primitive value to be loaded. - - - - - Provides appropriate Ldind.X opcode for - the type of primitive value to be loaded indirectly. - - - - - Emits a load indirect opcode of the appropriate type for a value or object reference. - Pops a pointer off the evaluation stack, dereferences it and loads - a value of the specified type. - - - - - - - Emits a load opcode of the appropriate kind for a constant string or - primitive value. - - - - - - - Emits a load opcode of the appropriate kind for the constant default value of a - type, such as 0 for value types and null for reference types. - - - - - Emits a store indirectopcode of the appropriate type for a value or object reference. - Pops a value of the specified type and a pointer off the evaluation stack, and - stores the value. - - - - - - - Summary description for PropertiesCollection. - - - - - Wraps a reference that is passed - ByRef and provides indirect load/store support. - - - - - Summary description for NewArrayExpression. - - - - - - - - - Provides appropriate Stind.X opcode - for the type of primitive value to be stored indirectly. - - - - - Initializes a new instance of the class. - - The name. - Type declaring the original event being overriten, or null. - - The add method. - The remove method. - The attributes. - - - - Represents the scope of uniquenes of names for types and their members - - - - - Gets a unique name based on - - Name suggested by the caller - Unique name based on . - - Implementers should provide name as closely resembling as possible. - Generally if no collision occurs it is suggested to return suggested name, otherwise append sequential suffix. - Implementers must return deterministic names, that is when is called twice - with the same suggested name, the same returned name should be provided each time. Non-deterministic return - values, like appending random suffices will break serialization of proxies. - - - - - Returns new, disposable naming scope. It is responsibilty of the caller to make sure that no naming collision - with enclosing scope, or other subscopes is possible. - - New naming scope. - - - - Returns the methods implemented by a type. Use this instead of Type.GetMethods() to work around a CLR issue - where duplicate MethodInfos are returned by Type.GetMethods() after a token of a generic type's method was loaded. - - - - - Determines whether the specified method is internal. - - The method. - - true if the specified method is internal; otherwise, false. - - - - - Determines whether this assembly has internals visible to dynamic proxy. - - The assembly to inspect. - - - - Checks if the method is public or protected. - - - - - - - Because we need to cache the types based on the mixed in mixins, we do the following here: - - Get all the mixin interfaces - - Sort them by full name - - Return them by position - - The idea is to have reproducible behavior for the case that mixins are registered in different orders. - This method is here because it is required - - - - - Summary description for ModuleScope. - - - - - The default file name used when the assembly is saved using . - - - - - The default assembly (simple) name used for the assemblies generated by a instance. - - - - - Initializes a new instance of the class; assemblies created by this instance will not be saved. - - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved. - - If set to true saves the generated module. - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved and what simple names are to be assigned to them. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - The simple name of the strong-named assembly generated by this . - The path and file name of the manifest module of the strong-named assembly generated by this . - The simple name of the weak-named assembly generated by this . - The path and file name of the manifest module of the weak-named assembly generated by this . - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved and what simple names are to be assigned to them. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - Naming scope used to provide unique names to generated types and their members (usually via sub-scopes). - The simple name of the strong-named assembly generated by this . - The path and file name of the manifest module of the strong-named assembly generated by this . - The simple name of the weak-named assembly generated by this . - The path and file name of the manifest module of the weak-named assembly generated by this . - - - - Returns a type from this scope's type cache, or null if the key cannot be found. - - The key to be looked up in the cache. - The type from this scope's type cache matching the key, or null if the key cannot be found - - - - Registers a type in this scope's type cache. - - The key to be associated with the type. - The type to be stored in the cache. - - - - Gets the key pair used to sign the strong-named assembly generated by this . - - - - - - Gets the specified module generated by this scope, creating a new one if none has yet been generated. - - If set to true, a strong-named module is returned; otherwise, a weak-named module is returned. - A strong-named or weak-named module generated by this scope, as specified by the parameter. - - - - Gets the strong-named module generated by this scope, creating a new one if none has yet been generated. - - A strong-named module generated by this scope. - - - - Gets the weak-named module generated by this scope, creating a new one if none has yet been generated. - - A weak-named module generated by this scope. - - - - Saves the generated assembly with the name and directory information given when this instance was created (or with - the and current directory if none was given). - - - - This method stores the generated assembly in the directory passed as part of the module information specified when this instance was - constructed (if any, else the current directory is used). If both a strong-named and a weak-named assembly - have been generated, it will throw an exception; in this case, use the overload. - - - If this was created without indicating that the assembly should be saved, this method does nothing. - - - Both a strong-named and a weak-named assembly have been generated. - The path of the generated assembly file, or null if no file has been generated. - - - - Saves the specified generated assembly with the name and directory information given when this instance was created - (or with the and current directory if none was given). - - True if the generated assembly with a strong name should be saved (see ); - false if the generated assembly without a strong name should be saved (see . - - - This method stores the specified generated assembly in the directory passed as part of the module information specified when this instance was - constructed (if any, else the current directory is used). - - - If this was created without indicating that the assembly should be saved, this method does nothing. - - - No assembly has been generated that matches the parameter. - - The path of the generated assembly file, or null if no file has been generated. - - - - Loads the generated types from the given assembly into this 's cache. - - The assembly to load types from. This assembly must have been saved via or - , or it must have the manually applied. - - This method can be used to load previously generated and persisted proxy types from disk into this scope's type cache, eg. in order - to avoid the performance hit associated with proxy generation. - - - - - Users of this should use this lock when accessing the cache. - - - - - Gets the strong-named module generated by this scope, or if none has yet been generated. - - The strong-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the strongly named module generated by this scope. - - The file name of the strongly named module generated by this scope. - - - - Gets the directory where the strongly named module generated by this scope will be saved, or if the current directory - is used. - - The directory where the strongly named module generated by this scope will be saved when is called - (if this scope was created to save modules). - - - - Gets the weak-named module generated by this scope, or if none has yet been generated. - - The weak-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the weakly named module generated by this scope. - - The file name of the weakly named module generated by this scope. - - - - Gets the directory where the weakly named module generated by this scope will be saved, or if the current directory - is used. - - The directory where the weakly named module generated by this scope will be saved when is called - (if this scope was created to save modules). - - - - ProxyBuilder that persists the generated type. - - - The saved assembly contains just the last generated type. - - - - - Initializes a new instance of the class. - - - - - Saves the generated assembly to a physical file. Note that this renders the unusable. - - The path of the generated assembly file, or null if no assembly has been generated. - - This method does not support saving multiple files. If both a signed and an unsigned module have been generated, use the - respective methods of the . - - - - - Initializes a new instance of the class. - - The hook. - - - - Initializes a new instance of the class. - - - - - Provides proxy objects for classes and interfaces. - - - - - Initializes a new instance of the class. - - Proxy types builder. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - If true forces all types to be generated into an unsigned module. - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - Object proxying calls to members of on object. - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates the proxy type for class proxy with given class, implementing given and using provided . - - The base class for proxy type. - The interfaces that proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy with target for given interface, implementing given on given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - Actual type that the proxy type will encompass. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy with target interface for given interface, implementing given on given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy without target for given interface, implementing given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Gets or sets the that this log to. - - - - - Gets the proxy builder instance used to generate proxy types. - - The proxy builder. - - - - - - - - - - - - - For interface proxies, this will point to the - on the target class - - - - - Handles the deserialization of proxies. - - - - - Resets the used for deserialization to a new scope. - - - This is useful for test cases. - - - - - Resets the used for deserialization to a given . - - The scope to be used for deserialization. - - By default, the deserialization process uses a different scope than the rest of the application, which can lead to multiple proxies - being generated for the same type. By explicitly setting the deserialization scope to the application's scope, this can be avoided. - - - - - Gets the used for deserialization. - - As has no way of automatically determining the scope used by the application (and the application might use more than one scope at the same time), uses a dedicated scope instance for deserializing proxy types. This instance can be reset and set to a specific value via and . - - - - Holds objects representing methods of class. - - - - - Holds objects representing methods of class. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Provides an extension point that allows proxies to choose specific interceptors on - a per method basis. - - - - - Selects the interceptors that should intercept calls to the given . - - The type declaring the method to intercept. - The method that will be intercepted. - All interceptors registered with the proxy. - An array of interceptors to invoke upon calling the . - - This method is called only once per proxy instance, upon the first call to the - . Either an empty array or null are valid return values to indicate - that no interceptor should intercept calls to the method. Although it is not advised, it is - legal to return other implementations than these provided in - . - - - - - Creates a new lock. - - - - - - This interface should be implemented by classes - that are available in a bigger context, exposing - the container to different areas in the same application. - - For example, in Web application, the (global) HttpApplication - subclasses should implement this interface to expose - the configured container - - - - - - Exposes means to change target objects of proxies and invocations - - - - - Changes the target object () of current . - - The new value of target of invocation. - - Although the method takes the actual instance must be of type assignable to , otherwise an will be thrown. - Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. - In this case last interceptor in the pipeline mustn't call or a will be throws. - Also while it's technically legal to pass proxy itself as , this would create stack overflow. - In this case last interceptor in the pipeline mustn't call or a will be throws. - - Thrown when is not assignable to the proxied type. - - - - Permanently changes the target object of the proxy. This does not affect target of the current invocation. - - The new value of target of the proxy. - - Although the method takes the actual instance must be of type assignable to proxy's target type, otherwise an will be thrown. - Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. - In this case last interceptor in the pipeline mustn't call or a will be throws. - Also while it's technically legal to pass proxy itself as , this would create stack overflow. - In this case last interceptor in the pipeline mustn't call or a will be throws. - - Thrown when is not assignable to the proxied type. - - - - New interface that is going to be used by DynamicProxy 2 - - - - - Get the proxy target (note that null is a valid target!) - - - - - - Gets the interceptors for the proxy - - - - - - Defines that the implementation wants a - in order to - access other components. The creator must be aware - that the component might (or might not) implement - the interface. - - - Used by Castle Project components to, for example, - gather logging factories - - - - - Increments IServiceProvider with a generic service resolution operation. - - - - - Provides a factory that can produce either or - classes. - - - - - Manages the instantiation of s. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Gets the configuration file. - - i.e. log4net.config - - - - - Used to create the TraceLogger implementation of ILogger interface. See . - - - - - Gets the configuration file. - - i.e. log4net.config - - - - - Interface for Context Properties implementations - - - - This interface defines a basic property get set accessor. - - - Based on the ContextPropertiesBase of log4net, by Nicko Cadell. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - NullLogFactory used when logging is turned off. - - - - - Creates an instance of ILogger with the specified name. - - Name. - - - - - Creates an instance of ILogger with the specified name and LoggerLevel. - - Name. - Level. - - - - - Creates outputing - to files. The name of the file is derived from the log name - plus the 'log' extension. - - - - - Provides an interface that supports and - allows the storage and retrieval of Contexts. These are supported in - both log4net and NLog. - - - - - Manages logging. - - - This is a facade for the different logging subsystems. - It offers a simplified interface that follows IOC patterns - and a simplified priority/level/severity abstraction. - - - - - Create a new child logger. - The name of the child logger is [current-loggers-name].[passed-in-name] - - The Subname of this logger. - The New ILogger instance. - If the name has an empty element name. - - - - Logs a debug message. - - The message to log - - - - Logs a debug message with lazily constructed message. The message will be constructed only if the is true. - - - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The message to log - - - - Logs an error message with lazily constructed message. The message will be constructed only if the is true. - - - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message with lazily constructed message. The message will be constructed only if the is true. - - - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The message to log - - - - Logs a info message with lazily constructed message. The message will be constructed only if the is true. - - - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The message to log - - - - Logs a warn message with lazily constructed message. The message will be constructed only if the is true. - - - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Determines if messages of priority "debug" will be logged. - - True if "debug" messages will be logged. - - - - Determines if messages of priority "error" will be logged. - - True if "error" messages will be logged. - - - - Determines if messages of priority "fatal" will be logged. - - True if "fatal" messages will be logged. - - - - Determines if messages of priority "info" will be logged. - - True if "info" messages will be logged. - - - - Determines if messages of priority "warn" will be logged. - - True if "warn" messages will be logged. - - - - Exposes the Global Context of the extended logger. - - - - - Exposes the Thread Context of the extended logger. - - - - - Exposes the Thread Stack of the extended logger. - - - - - The Logger sending everything to the standard output streams. - This is mainly for the cases when you have a utility that - does not have a logger to supply. - - - - - The Level Filtered Logger class. This is a base clase which - provides a LogLevel attribute and reroutes all functions into - one Log method. - - - - - Creates a new LevelFilteredLogger. - - - - - Keep the instance alive in a remoting scenario - - - - - - Logs a debug message. - - The message to log - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The message to log - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The message to log - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The message to log - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Implementors output the log content by implementing this method only. - Note that exception can be null - - - - - - - - - The LoggerLevel that this logger - will be using. Defaults to LoggerLevel.Off - - - - - The name that this logger will be using. - Defaults to String.Empty - - - - - Determines if messages of priority "debug" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "info" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "warn" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "error" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "fatal" will be logged. - - true if log level flags include the bit - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug and the Name - set to String.Empty. - - - - - Creates a new ConsoleLogger with the Name - set to String.Empty. - - The logs Level. - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug. - - The logs Name. - - - - Creates a new ConsoleLogger. - - The logs Name. - The logs Level. - - - - A Common method to log. - - The level of logging - The name of the logger - The Message - The Exception - - - - Returns a new ConsoleLogger with the name - added after this loggers name, with a dot in between. - - The added hierarchical name. - A new ConsoleLogger. - - - - The Logger using standart Diagnostics namespace. - - - - - Creates a logger based on . - - - - - - Creates a logger based on . - - - - - - - Creates a logger based on . - - - - - - - - The Null Logger class. This is useful for implementations where you need - to provide a logger to a utility class, but do not want any output from it. - It also helps when you have a utility that does not have a logger to supply. - - - - - Returns this NullLogger. - - Ignored - This ILogger instance. - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - Returns empty context properties. - - - - - Returns empty context properties. - - - - - Returns empty context stacks. - - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - The Stream Logger class. This class can stream log information - to any stream, it is suitable for storing a log file to disk, - or to a MemoryStream for testing your components. - - - This logger is not thread safe. - - - - - Creates a new StreamLogger with default encoding - and buffer size. Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - - - Creates a new StreamLogger with default buffer size. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - - - Creates a new StreamLogger. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - The buffer size that will be used for this stream. - - - - - - Creates a new StreamLogger with - Debug as default Level. - - The name of the log. - The StreamWriter the log will write to. - - - - The TraceLogger sends all logging to the System.Diagnostics.TraceSource - built into the .net framework. - - - Logging can be configured in the system.diagnostics configuration - section. - - If logger doesn't find a source name with a full match it will - use source names which match the namespace partially. For example you can - configure from all castle components by adding a source name with the - name "Castle". - - If no portion of the namespace matches the source named "Default" will - be used. - - - - - Build a new trace logger based on the named TraceSource - - The name used to locate the best TraceSource. In most cases comes from the using type's fullname. - - - - Build a new trace logger based on the named TraceSource - - The name used to locate the best TraceSource. In most cases comes from the using type's fullname. - The default logging level at which this source should write messages. In almost all cases this - default value will be overridden in the config file. - - - - Create a new child logger. - The name of the child logger is [current-loggers-name].[passed-in-name] - - The Subname of this logger. - The New ILogger instance. - - - - This is an abstract implementation - that deals with methods that can be abstracted away - from underlying implementations. - - - AbstractConfiguration makes easier to implementers - to create a new version of - - - - - is a interface encapsulating a configuration node - used to retrieve configuration values. - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the conversion fails. - - The Value converted into the specified type. - - - - Gets the name of the node. - - - The Name of the node. - - - - - Gets the value of the node. - - - The Value of the node. - - - - - Gets an of - elements containing all node children. - - The Collection of child nodes. - - - - Gets an of the configuration attributes. - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the conversion fails. - - The Value converted into the specified type. - - - - Gets node attributes. - - - All attributes of the node. - - - - - Gets all child nodes. - - The of child nodes. - - - - Gets the name of the . - - - The Name of the . - - - - - Gets the value of . - - - The Value of the . - - - - - A collection of objects. - - - - - Creates a new instance of ConfigurationCollection. - - - - - Creates a new instance of ConfigurationCollection. - - - - - Summary description for MutableConfiguration. - - - - - Initializes a new instance of the class. - - The name. - - - - Gets the value of . - - - The Value of the . - - - - - Deserializes the specified node into an abstract representation of configuration. - - The node. - - - - - If a config value is an empty string we return null, this is to keep - backward compatibility with old code - - - - - General purpose class to represent a standard pair of values. - - Type of the first value - Type of the second value - - - - Constructs a pair with its values - - - - - - - List of utility methods related to dynamic proxy operations - - - - - Determines whether the specified type is a proxy generated by - DynamicProxy (1 or 2). - - The type. - - true if it is a proxy; otherwise, false. - - - - - Readonly implementation of which uses an anonymous object as its source. Uses names of properties as keys, and property values as... well - values. Keys are not case sensitive. - - - - - Initializes a new instance of the class. - - The target. - - - - Adds an element with the provided key and value to the object. - - The to use as the key of the element to add. - The to use as the value of the element to add. - - is null. - An element with the same key already exists in the object. - The is read-only.-or- The has a fixed size. - - - - Removes all elements from the object. - - The object is read-only. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - - is null. - - - - Removes the element with the specified key from the object. - - The key of the element to remove. - - is null. - The object is read-only.-or- The has a fixed size. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Copies the elements of the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is null. - - is less than zero. - - is multidimensional.-or- 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 type of the source cannot be cast automatically to the type of the destination . - - - - Returns an object for the object. - - - An object for the object. - - - - - Reads values of properties from and inserts them into using property names as keys. - - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Gets a value indicating whether access to the is synchronized (thread safe). - - - true if access to the is synchronized (thread safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - Gets a value indicating whether the object is read-only. - - - true if the object is read-only; otherwise, false. - - - - Gets or sets the with the specified key. - - - - - - Gets an object containing the keys of the object. - - - An object containing the keys of the object. - - - - Gets an object containing the values in the object. - - - An object containing the values in the object. - - - - Gets a value indicating whether the object has a fixed size. - - - true if the object has a fixed size; otherwise, false. - - - - Represents a 'streamable' resource. Can - be a file, a resource in an assembly. - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - - - Returns an instance of - created according to the relativePath - using itself as the root. - - - - - - - - - - Only valid for resources that - can be obtained through relative paths - - - - - - - - - - This returns a new stream instance each time it is called. - It is the responsibility of the caller to dispose of this stream - - - - - Depicts the contract for resource factories. - - - - - Used to check whether the resource factory - is able to deal with the given resource - identifier. - - - Implementors should return true - only if the given identifier is supported - by the resource factory - - - - - - - Creates an instance - for the given resource identifier - - - - - - - Creates an instance - for the given resource identifier - - - - - - - - - - - - - - - - - - Adapts a static string content as an - - - - - Enable access to files on network shares - - - - - Email sender abstraction. - - - - - Sends a mail message. - - From field - To field - E-mail's subject - message's body - - - - Sends a message. - - Message instance - - - - Sends multiple messages. - - List of messages - - - - Default implementation. - - - - - Initializes a new instance of the class based on the configuration provided in the application configuration file. - - - This constructor is based on the default configuration in the application configuration file. - - - - - This service implementation - requires a host name in order to work - - The smtp server name - - - - Sends a message. - - If any of the parameters is null - From field - To field - e-mail's subject - message's body - - - - Sends a message. - - If the message is null - Message instance - - - - Configures the sender - with port information and eventual credential - informed - - Message instance - - - - Gets or sets the port used to - access the SMTP server - - - - - Gets the hostname. - - The hostname. - - - - Gets or sets a value which is used to - configure if emails are going to be sent asynchronously or not. - - - - - Gets or sets a value that specifies - the amount of time after which a synchronous Send call times out. - - - - - Gets or sets a value indicating whether the email should be sent using - a secure communication channel. - - true if should use SSL; otherwise, false. - - - - Gets or sets the domain. - - The domain. - - - - Gets or sets the name of the user. - - The name of the user. - - - - Gets or sets the password. - - The password. - - - - Gets a value indicating whether credentials were informed. - - - if this instance has credentials; otherwise, . - - - - diff --git a/packages/Castle.Core.3.2.0/lib/net40-client/Castle.Core.dll b/packages/Castle.Core.3.2.0/lib/net40-client/Castle.Core.dll deleted file mode 100644 index 24f4b2f..0000000 Binary files a/packages/Castle.Core.3.2.0/lib/net40-client/Castle.Core.dll and /dev/null differ diff --git a/packages/Castle.Core.3.2.0/lib/net40-client/Castle.Core.xml b/packages/Castle.Core.3.2.0/lib/net40-client/Castle.Core.xml deleted file mode 100644 index 6fa66c0..0000000 --- a/packages/Castle.Core.3.2.0/lib/net40-client/Castle.Core.xml +++ /dev/null @@ -1,4754 +0,0 @@ - - - - Castle.Core - - - - - Specifies assignment by reference rather than by copying. - - - - - Suppresses any on-demand behaviors. - - - - - Removes a property if null or empty string, guid or collection. - - - - - Removes a property if matches value. - - - - - Assigns a specific dictionary key. - - - - - Defines the contract for customizing dictionary access. - - - - - Copies the dictionary behavior. - - null if should not be copied. Otherwise copy. - - - - Determines relative order to apply related behaviors. - - - - - Defines the contract for updating dictionary values. - - - - - Sets the stored dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if the property should be stored. - - - - Contract for value matching. - - - - - Indicates that underlying values are changeable and should not be cached. - - - - - Contract for dictionary initialization. - - - - - Performs any initialization of the - - The dictionary adapter. - The dictionary behaviors. - - - - Abstract implementation of . - - - - - Conract for traversing a . - - - - - Contract for creating additional Dictionary adapters. - - - - - Contract for manipulating the Dictionary adapter. - - - - - Contract for editing the Dictionary adapter. - - - - - Contract for managing Dictionary adapter notifications. - - - - - Contract for validating Dictionary adapter. - - - - - Defines the contract for building s. - - - - - Builds the dictionary behaviors. - - - - - - Abstract adapter for the support - needed by the - - - - - Adds an element with the provided key and value to the object. - - The to use as the key of the element to add. - The to use as the value of the element to add. - An element with the same key already exists in the object. - key is null. - The is read-only.-or- The has a fixed size. - - - - Removes all elements from the object. - - The object is read-only. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - key is null. - - - - Returns an object for the object. - - - An object for the object. - - - - - Removes the element with the specified key from the object. - - The key of the element to remove. - The object is read-only.-or- The has a fixed size. - key is null. - - - - Copies the elements of the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in array at which copying begins. - array is null. - The type of the source cannot be cast automatically to the type of the destination array. - index is less than zero. - array is multidimensional.-or- index is equal to or greater than the length of array.-or- The number of elements in the source is greater than the available space from index to the end of the destination array. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Gets a value indicating whether the object has a fixed size. - - - true if the object has a fixed size; otherwise, false. - - - - Gets a value indicating whether the object is read-only. - - - true if the object is read-only; otherwise, false. - - - - Gets an object containing the keys of the object. - - - An object containing the keys of the object. - - - - Gets an object containing the values in the object. - - - An object containing the values in the object. - - - - Gets or sets the with the specified key. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Gets a value indicating whether access to the is synchronized (thread safe). - - - true if access to the is synchronized (thread safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - Provides a generic collection that supports data binding. - - - This class wraps the CLR - in order to implement the Castle-specific . - - The type of elements in the list. - - - - Initializes a new instance of the class - using default values. - - - - - Initializes a new instance of the class - with the specified list. - - - An of items - to be contained in the . - - - - - Initializes a new instance of the class - wrapping the specified instance. - - - A - to be wrapped by the . - - - - - Defines the contract for retrieving dictionary values. - - - - - Gets the effective dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if return only existing. - The effective property value. - - - - Initializes a new instance of the class - that represents a child object in a larger object graph. - - - - - - - Contract for dictionary meta-data initialization. - - - - - Initializes the given object. - - The dictionary adapter factory. - The dictionary adapter meta. - - - - - Determines whether the given behavior should be included in a new - object. - - A dictionary behavior or annotation. - True if the behavior should be included; otherwise, false. - - behaviors are always included, - regardless of the result of this method. - - - - - - Checks whether or not collection is null or empty. Assumes colleciton can be safely enumerated multiple times. - - - - - - - Constant to use when making assembly internals visible to Castle.Core - [assembly: InternalsVisibleTo(CoreInternalsVisible.ToCastleCore)] - - - - - Constant to use when making assembly internals visible to proxy types generated by DynamicProxy. Required when proxying internal types. - [assembly: InternalsVisibleTo(CoreInternalsVisible.ToDynamicProxyGenAssembly2)] - - - - - Identifies a property should be represented as a nested component. - - - - - Defines the contract for building typed dictionary keys. - - - - - Builds the specified key. - - The dictionary adapter. - The current key. - The property. - The updated key - - - - Applies no prefix. - - - - - Gets or sets the prefix. - - The prefix. - - - - Identifies the dictionary adapter types. - - - - - Identifies an interface or property to be pre-fetched. - - - - - Instructs fetching to occur. - - - - - Instructs fetching according to - - - - - - Gets whether or not fetching should occur. - - - - - Assigns a property to a group. - - - - - Constructs a group assignment. - - The group name. - - - - Constructs a group assignment. - - The group name. - - - - Gets the group the property is assigned to. - - - - - Assigns a specific dictionary key. - - - - - Initializes a new instance of the class. - - The key. - - - - Initializes a new instance of the class. - - The compound key. - - - - Assigns a prefix to the keyed properties of an interface. - - - Key prefixes are not inherited by sub-interfaces. - - - - - Initializes a default instance of the class. - - - - - Initializes a new instance of the class. - - The prefix for the keyed properties of the interface. - - - - Gets the prefix key added to the properties of the interface. - - - - - Substitutes part of key with another string. - - - - - Initializes a new instance of the class. - - The old value. - The new value. - - - - Requests support for multi-level editing. - - - - - Generates a new GUID on demand. - - - - - Support for on-demand value resolution. - - - - - Provides simple string formatting from existing properties. - - - - - Gets the string format. - - - - - Gets the format properties. - - - - - Identifies a property should be represented as a delimited string value. - - - - - Gets the separator. - - - - - Converts all properties to strings. - - - - - Gets or sets the format. - - The format. - - - - Suppress property change notifications. - - - - - Contract for property descriptor initialization. - - - - - Performs any initialization of the - - The property descriptor. - The property behaviors. - - - - Assigns a prefix to the keyed properties using the interface name. - - - - - Manages conversion between property values. - - - - - Initializes a new instance of the class. - - The converter. - - - - Gets the effective dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if return only existing. - The effective property value. - - - - - - - - - Uses Reflection.Emit to expose the properties of a dictionary - through a dynamic implementation of a typed interface. - - - - - Defines the contract for building typed dictionary adapters. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - The property descriptor. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the namedValues. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the namedValues. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the . - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the . - - The type represented by T must be an interface with properties. - - - - - Gets the associated with the type. - - The typed interface. - The adapter meta-data. - - - - Gets the associated with the type. - - The typed interface. - The property descriptor. - The adapter meta-data. - - - - Gets the associated with the type. - - The typed interface. - Another from which to copy behaviors. - The adapter meta-data. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Contract for dictionary validation. - - - - - Determines if is valid. - - The dictionary adapter. - true if valid. - - - - Validates the . - - The dictionary adapter. - The error summary information. - - - - Validates the for a property. - - The dictionary adapter. - The property to validate. - The property summary information. - - - - Invalidates any results cached by the validator. - - The dictionary adapter. - - - - - - - - - Initializes a new instance of the class. - - The name values. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - key is null. - - - - Adapts the specified name values. - - The name values. - - - - - Gets a value indicating whether the object is read-only. - - - true if the object is read-only; otherwise, false. - - - - Gets or sets the with the specified key. - - - - - - Describes a dictionary property. - - - - - Initializes an empty class. - - - - - Initializes a new instance of the class. - - The property. - The annotations. - - - - Initializes a new instance class. - - - - - Copies an existinginstance of the class. - - - - - - - Gets the key. - - The dictionary adapter. - The key. - The descriptor. - - - - - Gets the property value. - - The dictionary adapter. - The key. - The stored value. - The descriptor. - true if return only existing. - - - - - Sets the property value. - - The dictionary adapter. - The key. - The value. - The descriptor. - - - - - Adds a single behavior. - - The behavior. - - - - Adds the behaviors. - - The behaviors. - - - - Adds the behaviors. - - The behaviors. - - - - Copies the behaviors to the other - - - - - - - Copies the - - - - - - - - - - - Gets the property name. - - - - - Gets the property type. - - - - - Gets the property. - - The property. - - - - Returns true if the property is dynamic. - - - - - Gets additional state. - - - - - Determines if property should be fetched. - - - - - Determines if property must exist first. - - - - - Determines if notifications should occur. - - - - - Gets the property behaviors. - - - - - Gets the type converter. - - The type converter. - - - - Gets the extended properties. - - - - - Gets the setter. - - The setter. - - - - Gets the key builders. - - The key builders. - - - - Gets the setter. - - The setter. - - - - Gets the getter. - - The getter. - - - - Gets the initializers. - - The initializers. - - - - Gets the meta-data initializers. - - The meta-data initializers. - - - - Helper class for retrieving attributes. - - - - - Gets the attribute. - - The member. - The member attribute. - - - - Gets the attributes. Does not consider inherited attributes! - - The member. - The member attributes. - - - - Gets the type attribute. - - The type. - The type attribute. - - - - Gets the type attributes. - - The type. - The type attributes. - - - - Gets the type converter. - - The member. - - - - - Gets the attribute. - - The member. - The member attribute. - - - - Contract for typed dynamic value resolution. - - - - - - Contract for dynamic value resolution. - - - - - Supporting Logger levels. - - - - - Logging will be off - - - - - Fatal logging level - - - - - Error logging level - - - - - Warn logging level - - - - - Info logging level - - - - - Debug logging level - - - - - Encapsulates an invocation of a proxied method. - - - - - Gets the value of the argument at the specified . - - The index. - The value of the argument at the specified . - - - - Returns the concrete instantiation of the on the proxy, with any generic - parameters bound to real types. - - - The concrete instantiation of the on the proxy, or the if - not a generic method. - - - Can be slower than calling . - - - - - Returns the concrete instantiation of , with any - generic parameters bound to real types. - For interface proxies, this will point to the on the target class. - - The concrete instantiation of , or - if not a generic method. - - In debug builds this can be slower than calling . - - - - - Proceeds the call to the next interceptor in line, and ultimately to the target method. - - - Since interface proxies without a target don't have the target implementation to proceed to, - it is important, that the last interceptor does not call this method, otherwise a - will be thrown. - - - - - Overrides the value of an argument at the given with the - new provided. - - - This method accepts an , however the value provided must be compatible - with the type of the argument defined on the method, otherwise an exception will be thrown. - - The index of the argument to override. - The new value for the argument. - - - - Gets the arguments that the has been invoked with. - - The arguments the method was invoked with. - - - - Gets the generic arguments of the method. - - The generic arguments, or null if not a generic method. - - - - Gets the object on which the invocation is performed. This is different from proxy object - because most of the time this will be the proxy target object. - - - The invocation target. - - - - Gets the representing the method being invoked on the proxy. - - The representing the method being invoked. - - - - For interface proxies, this will point to the on the target class. - - The method invocation target. - - - - Gets the proxy object on which the intercepted method is invoked. - - Proxy object on which the intercepted method is invoked. - - - - Gets or sets the return value of the method. - - The return value of the method. - - - - Gets the type of the target object for the intercepted method. - - The type of the target object. - - - - Used during the target type inspection process. Implementors have a chance to customize the - proxy generation process. - - - - - Invoked by the generation process to notify that the whole process has completed. - - - - - Invoked by the generation process to notify that a member was not marked as virtual. - - The type which declares the non-virtual member. - The non-virtual member. - - This method gives an opportunity to inspect any non-proxyable member of a type that has - been requested to be proxied, and if appropriate - throw an exception to notify the caller. - - - - - Invoked by the generation process to determine if the specified method should be proxied. - - The type which declares the given method. - The method to inspect. - True if the given method should be proxied; false otherwise. - - - - Interface describing elements composing generated type - - - - - Performs some basic screening and invokes the - to select methods. - - - - - - - - - Provides functionality for disassembling instances of attributes to CustomAttributeBuilder form, during the process of emiting new types by Dynamic Proxy. - - - - - Disassembles given attribute instance back to corresponding CustomAttributeBuilder. - - An instance of attribute to disassemble - corresponding 1 to 1 to given attribute instance, or null reference. - - Implementers should return that corresponds to given attribute instance 1 to 1, - that is after calling specified constructor with specified arguments, and setting specified properties and fields with values specified - we should be able to get an attribute instance identical to the one passed in . Implementer can return null - if it wishes to opt out of replicating the attribute. Notice however, that for some cases, like attributes passed explicitly by the user - it is illegal to return null, and doing so will result in exception. - - - - - Handles error during disassembly process - - Type of the attribute being disassembled - Exception thrown during the process - usually null, or (re)throws the exception - - - - Here we try to match a constructor argument to its value. - Since we can't get the values from the assembly, we use some heuristics to get it. - a/ we first try to match all the properties on the attributes by name (case insensitive) to the argument - b/ if we fail we try to match them by property type, with some smarts about convertions (i,e: can use Guid for string). - - - - - We have the following rules here. - Try to find a matching type, failing that, if the parameter is string, get the first property (under the assumption that - we can convert it. - - - - - Attributes can only accept simple types, so we return null for null, - if the value is passed as string we call to string (should help with converting), - otherwise, we use the value as is (enums, integer, etc). - - - - - Returns list of all unique interfaces implemented given types, including their base interfaces. - - - - - - - Applied to the assemblies saved by in order to persist the cache data included in the persisted assembly. - - - - - Base class that exposes the common functionalities - to proxy generation. - - - - - It is safe to add mapping (no mapping for the interface exists) - - - - - - - - Generates a parameters constructor that initializes the proxy - state with just to make it non-null. - - This constructor is important to allow proxies to be XML serializable - - - - - - Generates the constructor for the class that extends - - - - - - - - - Default implementation of interface producing in-memory proxy assemblies. - - - - - Abstracts the implementation of proxy type construction. - - - - - Creates a proxy type for given , implementing , using provided. - - The class type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified class and interfaces. - Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type that proxies calls to members on , implementing , using provided. - - The interface type to proxy. - Additional interface types to proxy. - Type implementing on which calls to the interface members should be intercepted. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface that 'proceeds' executions to the specified target. - Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given and that delegates all calls to the provided interceptors and allows interceptors to switch the actual target of invocation. - - The interface type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface(s) that delegate all executions to the specified interceptors - and uses an instance of the interface as their targets (i.e. ), rather than a class. All classes should then implement interface, - to allow interceptors to switch invocation target with instance of another type implementing called interface. - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given that delegates all calls to the provided interceptors. - - The interface type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface and additional interfaces that delegate all executions to the specified interceptors. - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Gets or sets the that this logs to. - - - - - Gets the associated with this builder. - - The module scope associated with this builder. - - - - Initializes a new instance of the class with new . - - - - - Initializes a new instance of the class. - - The module scope for generated proxy types. - - - - Registers custom disassembler to handle disassembly of specified type of attributes. - - Type of attributes to handle - Disassembler converting existing instances of Attributes to CustomAttributeBuilders - - When disassembling an attribute Dynamic Proxy will first check if an custom disassembler has been registered to handle attributes of that type, - and if none is found, it'll use the . - - - - - Attributes should be replicated if they are non-inheritable, - but there are some special cases where the attributes means - something to the CLR, where they should be skipped. - - - - - Initializes a new instance of the class. - - Target element. This is either target type or target method for invocation types. - The type of the proxy. This is base type for invocation types. - The interfaces. - The options. - - - - Initializes a new instance of the class. - - Type of the target. - The interfaces. - The options. - - - - s - Provides appropriate Ldc.X opcode for the type of primitive value to be loaded. - - - - - Provides appropriate Ldind.X opcode for - the type of primitive value to be loaded indirectly. - - - - - Emits a load indirect opcode of the appropriate type for a value or object reference. - Pops a pointer off the evaluation stack, dereferences it and loads - a value of the specified type. - - - - - - - Emits a load opcode of the appropriate kind for a constant string or - primitive value. - - - - - - - Emits a load opcode of the appropriate kind for the constant default value of a - type, such as 0 for value types and null for reference types. - - - - - Emits a store indirectopcode of the appropriate type for a value or object reference. - Pops a value of the specified type and a pointer off the evaluation stack, and - stores the value. - - - - - - - Summary description for PropertiesCollection. - - - - - Wraps a reference that is passed - ByRef and provides indirect load/store support. - - - - - Summary description for NewArrayExpression. - - - - - - - - - Provides appropriate Stind.X opcode - for the type of primitive value to be stored indirectly. - - - - - Initializes a new instance of the class. - - The name. - Type declaring the original event being overriten, or null. - - The add method. - The remove method. - The attributes. - - - - Represents the scope of uniquenes of names for types and their members - - - - - Gets a unique name based on - - Name suggested by the caller - Unique name based on . - - Implementers should provide name as closely resembling as possible. - Generally if no collision occurs it is suggested to return suggested name, otherwise append sequential suffix. - Implementers must return deterministic names, that is when is called twice - with the same suggested name, the same returned name should be provided each time. Non-deterministic return - values, like appending random suffices will break serialization of proxies. - - - - - Returns new, disposable naming scope. It is responsibilty of the caller to make sure that no naming collision - with enclosing scope, or other subscopes is possible. - - New naming scope. - - - - Returns the methods implemented by a type. Use this instead of Type.GetMethods() to work around a CLR issue - where duplicate MethodInfos are returned by Type.GetMethods() after a token of a generic type's method was loaded. - - - - - Determines whether the specified method is internal. - - The method. - - true if the specified method is internal; otherwise, false. - - - - - Determines whether this assembly has internals visible to dynamic proxy. - - The assembly to inspect. - - - - Checks if the method is public or protected. - - - - - - - Because we need to cache the types based on the mixed in mixins, we do the following here: - - Get all the mixin interfaces - - Sort them by full name - - Return them by position - - The idea is to have reproducible behavior for the case that mixins are registered in different orders. - This method is here because it is required - - - - - Summary description for ModuleScope. - - - - - The default file name used when the assembly is saved using . - - - - - The default assembly (simple) name used for the assemblies generated by a instance. - - - - - Initializes a new instance of the class; assemblies created by this instance will not be saved. - - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved. - - If set to true saves the generated module. - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved and what simple names are to be assigned to them. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - The simple name of the strong-named assembly generated by this . - The path and file name of the manifest module of the strong-named assembly generated by this . - The simple name of the weak-named assembly generated by this . - The path and file name of the manifest module of the weak-named assembly generated by this . - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved and what simple names are to be assigned to them. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - Naming scope used to provide unique names to generated types and their members (usually via sub-scopes). - The simple name of the strong-named assembly generated by this . - The path and file name of the manifest module of the strong-named assembly generated by this . - The simple name of the weak-named assembly generated by this . - The path and file name of the manifest module of the weak-named assembly generated by this . - - - - Returns a type from this scope's type cache, or null if the key cannot be found. - - The key to be looked up in the cache. - The type from this scope's type cache matching the key, or null if the key cannot be found - - - - Registers a type in this scope's type cache. - - The key to be associated with the type. - The type to be stored in the cache. - - - - Gets the key pair used to sign the strong-named assembly generated by this . - - - - - - Gets the specified module generated by this scope, creating a new one if none has yet been generated. - - If set to true, a strong-named module is returned; otherwise, a weak-named module is returned. - A strong-named or weak-named module generated by this scope, as specified by the parameter. - - - - Gets the strong-named module generated by this scope, creating a new one if none has yet been generated. - - A strong-named module generated by this scope. - - - - Gets the weak-named module generated by this scope, creating a new one if none has yet been generated. - - A weak-named module generated by this scope. - - - - Saves the generated assembly with the name and directory information given when this instance was created (or with - the and current directory if none was given). - - - - This method stores the generated assembly in the directory passed as part of the module information specified when this instance was - constructed (if any, else the current directory is used). If both a strong-named and a weak-named assembly - have been generated, it will throw an exception; in this case, use the overload. - - - If this was created without indicating that the assembly should be saved, this method does nothing. - - - Both a strong-named and a weak-named assembly have been generated. - The path of the generated assembly file, or null if no file has been generated. - - - - Saves the specified generated assembly with the name and directory information given when this instance was created - (or with the and current directory if none was given). - - True if the generated assembly with a strong name should be saved (see ); - false if the generated assembly without a strong name should be saved (see . - - - This method stores the specified generated assembly in the directory passed as part of the module information specified when this instance was - constructed (if any, else the current directory is used). - - - If this was created without indicating that the assembly should be saved, this method does nothing. - - - No assembly has been generated that matches the parameter. - - The path of the generated assembly file, or null if no file has been generated. - - - - Loads the generated types from the given assembly into this 's cache. - - The assembly to load types from. This assembly must have been saved via or - , or it must have the manually applied. - - This method can be used to load previously generated and persisted proxy types from disk into this scope's type cache, eg. in order - to avoid the performance hit associated with proxy generation. - - - - - Users of this should use this lock when accessing the cache. - - - - - Gets the strong-named module generated by this scope, or if none has yet been generated. - - The strong-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the strongly named module generated by this scope. - - The file name of the strongly named module generated by this scope. - - - - Gets the directory where the strongly named module generated by this scope will be saved, or if the current directory - is used. - - The directory where the strongly named module generated by this scope will be saved when is called - (if this scope was created to save modules). - - - - Gets the weak-named module generated by this scope, or if none has yet been generated. - - The weak-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the weakly named module generated by this scope. - - The file name of the weakly named module generated by this scope. - - - - Gets the directory where the weakly named module generated by this scope will be saved, or if the current directory - is used. - - The directory where the weakly named module generated by this scope will be saved when is called - (if this scope was created to save modules). - - - - ProxyBuilder that persists the generated type. - - - The saved assembly contains just the last generated type. - - - - - Initializes a new instance of the class. - - - - - Saves the generated assembly to a physical file. Note that this renders the unusable. - - The path of the generated assembly file, or null if no assembly has been generated. - - This method does not support saving multiple files. If both a signed and an unsigned module have been generated, use the - respective methods of the . - - - - - Initializes a new instance of the class. - - The hook. - - - - Initializes a new instance of the class. - - - - - Provides proxy objects for classes and interfaces. - - - - - Initializes a new instance of the class. - - Proxy types builder. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - If true forces all types to be generated into an unsigned module. - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - Object proxying calls to members of on object. - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates the proxy type for class proxy with given class, implementing given and using provided . - - The base class for proxy type. - The interfaces that proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy with target for given interface, implementing given on given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - Actual type that the proxy type will encompass. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy with target interface for given interface, implementing given on given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy without target for given interface, implementing given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Gets or sets the that this log to. - - - - - Gets the proxy builder instance used to generate proxy types. - - The proxy builder. - - - - - - - - - - - - - For interface proxies, this will point to the - on the target class - - - - - Handles the deserialization of proxies. - - - - - Resets the used for deserialization to a new scope. - - - This is useful for test cases. - - - - - Resets the used for deserialization to a given . - - The scope to be used for deserialization. - - By default, the deserialization process uses a different scope than the rest of the application, which can lead to multiple proxies - being generated for the same type. By explicitly setting the deserialization scope to the application's scope, this can be avoided. - - - - - Gets the used for deserialization. - - As has no way of automatically determining the scope used by the application (and the application might use more than one scope at the same time), uses a dedicated scope instance for deserializing proxy types. This instance can be reset and set to a specific value via and . - - - - Holds objects representing methods of class. - - - - - Holds objects representing methods of class. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Provides an extension point that allows proxies to choose specific interceptors on - a per method basis. - - - - - Selects the interceptors that should intercept calls to the given . - - The type declaring the method to intercept. - The method that will be intercepted. - All interceptors registered with the proxy. - An array of interceptors to invoke upon calling the . - - This method is called only once per proxy instance, upon the first call to the - . Either an empty array or null are valid return values to indicate - that no interceptor should intercept calls to the method. Although it is not advised, it is - legal to return other implementations than these provided in - . - - - - - Creates a new lock. - - - - - - This interface should be implemented by classes - that are available in a bigger context, exposing - the container to different areas in the same application. - - For example, in Web application, the (global) HttpApplication - subclasses should implement this interface to expose - the configured container - - - - - - Exposes means to change target objects of proxies and invocations - - - - - Changes the target object () of current . - - The new value of target of invocation. - - Although the method takes the actual instance must be of type assignable to , otherwise an will be thrown. - Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. - In this case last interceptor in the pipeline mustn't call or a will be throws. - Also while it's technically legal to pass proxy itself as , this would create stack overflow. - In this case last interceptor in the pipeline mustn't call or a will be throws. - - Thrown when is not assignable to the proxied type. - - - - Permanently changes the target object of the proxy. This does not affect target of the current invocation. - - The new value of target of the proxy. - - Although the method takes the actual instance must be of type assignable to proxy's target type, otherwise an will be thrown. - Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. - In this case last interceptor in the pipeline mustn't call or a will be throws. - Also while it's technically legal to pass proxy itself as , this would create stack overflow. - In this case last interceptor in the pipeline mustn't call or a will be throws. - - Thrown when is not assignable to the proxied type. - - - - New interface that is going to be used by DynamicProxy 2 - - - - - Get the proxy target (note that null is a valid target!) - - - - - - Gets the interceptors for the proxy - - - - - - Defines that the implementation wants a - in order to - access other components. The creator must be aware - that the component might (or might not) implement - the interface. - - - Used by Castle Project components to, for example, - gather logging factories - - - - - Increments IServiceProvider with a generic service resolution operation. - - - - - Provides a factory that can produce either or - classes. - - - - - Manages the instantiation of s. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Gets the configuration file. - - i.e. log4net.config - - - - - Used to create the TraceLogger implementation of ILogger interface. See . - - - - - Gets the configuration file. - - i.e. log4net.config - - - - - Interface for Context Properties implementations - - - - This interface defines a basic property get set accessor. - - - Based on the ContextPropertiesBase of log4net, by Nicko Cadell. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - NullLogFactory used when logging is turned off. - - - - - Creates an instance of ILogger with the specified name. - - Name. - - - - - Creates an instance of ILogger with the specified name and LoggerLevel. - - Name. - Level. - - - - - Creates outputing - to files. The name of the file is derived from the log name - plus the 'log' extension. - - - - - Provides an interface that supports and - allows the storage and retrieval of Contexts. These are supported in - both log4net and NLog. - - - - - Manages logging. - - - This is a facade for the different logging subsystems. - It offers a simplified interface that follows IOC patterns - and a simplified priority/level/severity abstraction. - - - - - Create a new child logger. - The name of the child logger is [current-loggers-name].[passed-in-name] - - The Subname of this logger. - The New ILogger instance. - If the name has an empty element name. - - - - Logs a debug message. - - The message to log - - - - Logs a debug message with lazily constructed message. The message will be constructed only if the is true. - - - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The message to log - - - - Logs an error message with lazily constructed message. The message will be constructed only if the is true. - - - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message with lazily constructed message. The message will be constructed only if the is true. - - - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The message to log - - - - Logs a info message with lazily constructed message. The message will be constructed only if the is true. - - - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The message to log - - - - Logs a warn message with lazily constructed message. The message will be constructed only if the is true. - - - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Determines if messages of priority "debug" will be logged. - - True if "debug" messages will be logged. - - - - Determines if messages of priority "error" will be logged. - - True if "error" messages will be logged. - - - - Determines if messages of priority "fatal" will be logged. - - True if "fatal" messages will be logged. - - - - Determines if messages of priority "info" will be logged. - - True if "info" messages will be logged. - - - - Determines if messages of priority "warn" will be logged. - - True if "warn" messages will be logged. - - - - Exposes the Global Context of the extended logger. - - - - - Exposes the Thread Context of the extended logger. - - - - - Exposes the Thread Stack of the extended logger. - - - - - The Logger sending everything to the standard output streams. - This is mainly for the cases when you have a utility that - does not have a logger to supply. - - - - - The Level Filtered Logger class. This is a base clase which - provides a LogLevel attribute and reroutes all functions into - one Log method. - - - - - Creates a new LevelFilteredLogger. - - - - - Keep the instance alive in a remoting scenario - - - - - - Logs a debug message. - - The message to log - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The message to log - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The message to log - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The message to log - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Implementors output the log content by implementing this method only. - Note that exception can be null - - - - - - - - - The LoggerLevel that this logger - will be using. Defaults to LoggerLevel.Off - - - - - The name that this logger will be using. - Defaults to String.Empty - - - - - Determines if messages of priority "debug" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "info" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "warn" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "error" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "fatal" will be logged. - - true if log level flags include the bit - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug and the Name - set to String.Empty. - - - - - Creates a new ConsoleLogger with the Name - set to String.Empty. - - The logs Level. - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug. - - The logs Name. - - - - Creates a new ConsoleLogger. - - The logs Name. - The logs Level. - - - - A Common method to log. - - The level of logging - The name of the logger - The Message - The Exception - - - - Returns a new ConsoleLogger with the name - added after this loggers name, with a dot in between. - - The added hierarchical name. - A new ConsoleLogger. - - - - The Logger using standart Diagnostics namespace. - - - - - Creates a logger based on . - - - - - - Creates a logger based on . - - - - - - - Creates a logger based on . - - - - - - - - The Null Logger class. This is useful for implementations where you need - to provide a logger to a utility class, but do not want any output from it. - It also helps when you have a utility that does not have a logger to supply. - - - - - Returns this NullLogger. - - Ignored - This ILogger instance. - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - Returns empty context properties. - - - - - Returns empty context properties. - - - - - Returns empty context stacks. - - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - The Stream Logger class. This class can stream log information - to any stream, it is suitable for storing a log file to disk, - or to a MemoryStream for testing your components. - - - This logger is not thread safe. - - - - - Creates a new StreamLogger with default encoding - and buffer size. Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - - - Creates a new StreamLogger with default buffer size. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - - - Creates a new StreamLogger. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - The buffer size that will be used for this stream. - - - - - - Creates a new StreamLogger with - Debug as default Level. - - The name of the log. - The StreamWriter the log will write to. - - - - The TraceLogger sends all logging to the System.Diagnostics.TraceSource - built into the .net framework. - - - Logging can be configured in the system.diagnostics configuration - section. - - If logger doesn't find a source name with a full match it will - use source names which match the namespace partially. For example you can - configure from all castle components by adding a source name with the - name "Castle". - - If no portion of the namespace matches the source named "Default" will - be used. - - - - - Build a new trace logger based on the named TraceSource - - The name used to locate the best TraceSource. In most cases comes from the using type's fullname. - - - - Build a new trace logger based on the named TraceSource - - The name used to locate the best TraceSource. In most cases comes from the using type's fullname. - The default logging level at which this source should write messages. In almost all cases this - default value will be overridden in the config file. - - - - Create a new child logger. - The name of the child logger is [current-loggers-name].[passed-in-name] - - The Subname of this logger. - The New ILogger instance. - - - - This is an abstract implementation - that deals with methods that can be abstracted away - from underlying implementations. - - - AbstractConfiguration makes easier to implementers - to create a new version of - - - - - is a interface encapsulating a configuration node - used to retrieve configuration values. - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the conversion fails. - - The Value converted into the specified type. - - - - Gets the name of the node. - - - The Name of the node. - - - - - Gets the value of the node. - - - The Value of the node. - - - - - Gets an of - elements containing all node children. - - The Collection of child nodes. - - - - Gets an of the configuration attributes. - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the conversion fails. - - The Value converted into the specified type. - - - - Gets node attributes. - - - All attributes of the node. - - - - - Gets all child nodes. - - The of child nodes. - - - - Gets the name of the . - - - The Name of the . - - - - - Gets the value of . - - - The Value of the . - - - - - A collection of objects. - - - - - Creates a new instance of ConfigurationCollection. - - - - - Creates a new instance of ConfigurationCollection. - - - - - Summary description for MutableConfiguration. - - - - - Initializes a new instance of the class. - - The name. - - - - Gets the value of . - - - The Value of the . - - - - - Deserializes the specified node into an abstract representation of configuration. - - The node. - - - - - If a config value is an empty string we return null, this is to keep - backward compatibility with old code - - - - - General purpose class to represent a standard pair of values. - - Type of the first value - Type of the second value - - - - Constructs a pair with its values - - - - - - - List of utility methods related to dynamic proxy operations - - - - - Determines whether the specified type is a proxy generated by - DynamicProxy (1 or 2). - - The type. - - true if it is a proxy; otherwise, false. - - - - - Readonly implementation of which uses an anonymous object as its source. Uses names of properties as keys, and property values as... well - values. Keys are not case sensitive. - - - - - Initializes a new instance of the class. - - The target. - - - - Adds an element with the provided key and value to the object. - - The to use as the key of the element to add. - The to use as the value of the element to add. - - is null. - An element with the same key already exists in the object. - The is read-only.-or- The has a fixed size. - - - - Removes all elements from the object. - - The object is read-only. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - - is null. - - - - Removes the element with the specified key from the object. - - The key of the element to remove. - - is null. - The object is read-only.-or- The has a fixed size. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Copies the elements of the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is null. - - is less than zero. - - is multidimensional.-or- 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 type of the source cannot be cast automatically to the type of the destination . - - - - Returns an object for the object. - - - An object for the object. - - - - - Reads values of properties from and inserts them into using property names as keys. - - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Gets a value indicating whether access to the is synchronized (thread safe). - - - true if access to the is synchronized (thread safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - Gets a value indicating whether the object is read-only. - - - true if the object is read-only; otherwise, false. - - - - Gets or sets the with the specified key. - - - - - - Gets an object containing the keys of the object. - - - An object containing the keys of the object. - - - - Gets an object containing the values in the object. - - - An object containing the values in the object. - - - - Gets a value indicating whether the object has a fixed size. - - - true if the object has a fixed size; otherwise, false. - - - - Represents a 'streamable' resource. Can - be a file, a resource in an assembly. - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - - - Returns an instance of - created according to the relativePath - using itself as the root. - - - - - - - - - - Only valid for resources that - can be obtained through relative paths - - - - - - - - - - This returns a new stream instance each time it is called. - It is the responsibility of the caller to dispose of this stream - - - - - Depicts the contract for resource factories. - - - - - Used to check whether the resource factory - is able to deal with the given resource - identifier. - - - Implementors should return true - only if the given identifier is supported - by the resource factory - - - - - - - Creates an instance - for the given resource identifier - - - - - - - Creates an instance - for the given resource identifier - - - - - - - - - - - - - - - - - - Adapts a static string content as an - - - - - Enable access to files on network shares - - - - - Email sender abstraction. - - - - - Sends a mail message. - - From field - To field - E-mail's subject - message's body - - - - Sends a message. - - Message instance - - - - Sends multiple messages. - - List of messages - - - - Default implementation. - - - - - Initializes a new instance of the class based on the configuration provided in the application configuration file. - - - This constructor is based on the default configuration in the application configuration file. - - - - - This service implementation - requires a host name in order to work - - The smtp server name - - - - Sends a message. - - If any of the parameters is null - From field - To field - e-mail's subject - message's body - - - - Sends a message. - - If the message is null - Message instance - - - - Configures the sender - with port information and eventual credential - informed - - Message instance - - - - Gets or sets the port used to - access the SMTP server - - - - - Gets the hostname. - - The hostname. - - - - Gets or sets a value which is used to - configure if emails are going to be sent asynchronously or not. - - - - - Gets or sets a value that specifies - the amount of time after which a synchronous Send call times out. - - - - - Gets or sets a value indicating whether the email should be sent using - a secure communication channel. - - true if should use SSL; otherwise, false. - - - - Gets or sets the domain. - - The domain. - - - - Gets or sets the name of the user. - - The name of the user. - - - - Gets or sets the password. - - The password. - - - - Gets a value indicating whether credentials were informed. - - - if this instance has credentials; otherwise, . - - - - diff --git a/packages/Castle.Core.3.2.0/lib/net45/Castle.Core.dll b/packages/Castle.Core.3.2.0/lib/net45/Castle.Core.dll deleted file mode 100644 index 777ca82..0000000 Binary files a/packages/Castle.Core.3.2.0/lib/net45/Castle.Core.dll and /dev/null differ diff --git a/packages/Castle.Core.3.2.0/lib/net45/Castle.Core.xml b/packages/Castle.Core.3.2.0/lib/net45/Castle.Core.xml deleted file mode 100644 index 6fa66c0..0000000 --- a/packages/Castle.Core.3.2.0/lib/net45/Castle.Core.xml +++ /dev/null @@ -1,4754 +0,0 @@ - - - - Castle.Core - - - - - Specifies assignment by reference rather than by copying. - - - - - Suppresses any on-demand behaviors. - - - - - Removes a property if null or empty string, guid or collection. - - - - - Removes a property if matches value. - - - - - Assigns a specific dictionary key. - - - - - Defines the contract for customizing dictionary access. - - - - - Copies the dictionary behavior. - - null if should not be copied. Otherwise copy. - - - - Determines relative order to apply related behaviors. - - - - - Defines the contract for updating dictionary values. - - - - - Sets the stored dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if the property should be stored. - - - - Contract for value matching. - - - - - Indicates that underlying values are changeable and should not be cached. - - - - - Contract for dictionary initialization. - - - - - Performs any initialization of the - - The dictionary adapter. - The dictionary behaviors. - - - - Abstract implementation of . - - - - - Conract for traversing a . - - - - - Contract for creating additional Dictionary adapters. - - - - - Contract for manipulating the Dictionary adapter. - - - - - Contract for editing the Dictionary adapter. - - - - - Contract for managing Dictionary adapter notifications. - - - - - Contract for validating Dictionary adapter. - - - - - Defines the contract for building s. - - - - - Builds the dictionary behaviors. - - - - - - Abstract adapter for the support - needed by the - - - - - Adds an element with the provided key and value to the object. - - The to use as the key of the element to add. - The to use as the value of the element to add. - An element with the same key already exists in the object. - key is null. - The is read-only.-or- The has a fixed size. - - - - Removes all elements from the object. - - The object is read-only. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - key is null. - - - - Returns an object for the object. - - - An object for the object. - - - - - Removes the element with the specified key from the object. - - The key of the element to remove. - The object is read-only.-or- The has a fixed size. - key is null. - - - - Copies the elements of the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in array at which copying begins. - array is null. - The type of the source cannot be cast automatically to the type of the destination array. - index is less than zero. - array is multidimensional.-or- index is equal to or greater than the length of array.-or- The number of elements in the source is greater than the available space from index to the end of the destination array. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Gets a value indicating whether the object has a fixed size. - - - true if the object has a fixed size; otherwise, false. - - - - Gets a value indicating whether the object is read-only. - - - true if the object is read-only; otherwise, false. - - - - Gets an object containing the keys of the object. - - - An object containing the keys of the object. - - - - Gets an object containing the values in the object. - - - An object containing the values in the object. - - - - Gets or sets the with the specified key. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Gets a value indicating whether access to the is synchronized (thread safe). - - - true if access to the is synchronized (thread safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - Provides a generic collection that supports data binding. - - - This class wraps the CLR - in order to implement the Castle-specific . - - The type of elements in the list. - - - - Initializes a new instance of the class - using default values. - - - - - Initializes a new instance of the class - with the specified list. - - - An of items - to be contained in the . - - - - - Initializes a new instance of the class - wrapping the specified instance. - - - A - to be wrapped by the . - - - - - Defines the contract for retrieving dictionary values. - - - - - Gets the effective dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if return only existing. - The effective property value. - - - - Initializes a new instance of the class - that represents a child object in a larger object graph. - - - - - - - Contract for dictionary meta-data initialization. - - - - - Initializes the given object. - - The dictionary adapter factory. - The dictionary adapter meta. - - - - - Determines whether the given behavior should be included in a new - object. - - A dictionary behavior or annotation. - True if the behavior should be included; otherwise, false. - - behaviors are always included, - regardless of the result of this method. - - - - - - Checks whether or not collection is null or empty. Assumes colleciton can be safely enumerated multiple times. - - - - - - - Constant to use when making assembly internals visible to Castle.Core - [assembly: InternalsVisibleTo(CoreInternalsVisible.ToCastleCore)] - - - - - Constant to use when making assembly internals visible to proxy types generated by DynamicProxy. Required when proxying internal types. - [assembly: InternalsVisibleTo(CoreInternalsVisible.ToDynamicProxyGenAssembly2)] - - - - - Identifies a property should be represented as a nested component. - - - - - Defines the contract for building typed dictionary keys. - - - - - Builds the specified key. - - The dictionary adapter. - The current key. - The property. - The updated key - - - - Applies no prefix. - - - - - Gets or sets the prefix. - - The prefix. - - - - Identifies the dictionary adapter types. - - - - - Identifies an interface or property to be pre-fetched. - - - - - Instructs fetching to occur. - - - - - Instructs fetching according to - - - - - - Gets whether or not fetching should occur. - - - - - Assigns a property to a group. - - - - - Constructs a group assignment. - - The group name. - - - - Constructs a group assignment. - - The group name. - - - - Gets the group the property is assigned to. - - - - - Assigns a specific dictionary key. - - - - - Initializes a new instance of the class. - - The key. - - - - Initializes a new instance of the class. - - The compound key. - - - - Assigns a prefix to the keyed properties of an interface. - - - Key prefixes are not inherited by sub-interfaces. - - - - - Initializes a default instance of the class. - - - - - Initializes a new instance of the class. - - The prefix for the keyed properties of the interface. - - - - Gets the prefix key added to the properties of the interface. - - - - - Substitutes part of key with another string. - - - - - Initializes a new instance of the class. - - The old value. - The new value. - - - - Requests support for multi-level editing. - - - - - Generates a new GUID on demand. - - - - - Support for on-demand value resolution. - - - - - Provides simple string formatting from existing properties. - - - - - Gets the string format. - - - - - Gets the format properties. - - - - - Identifies a property should be represented as a delimited string value. - - - - - Gets the separator. - - - - - Converts all properties to strings. - - - - - Gets or sets the format. - - The format. - - - - Suppress property change notifications. - - - - - Contract for property descriptor initialization. - - - - - Performs any initialization of the - - The property descriptor. - The property behaviors. - - - - Assigns a prefix to the keyed properties using the interface name. - - - - - Manages conversion between property values. - - - - - Initializes a new instance of the class. - - The converter. - - - - Gets the effective dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if return only existing. - The effective property value. - - - - - - - - - Uses Reflection.Emit to expose the properties of a dictionary - through a dynamic implementation of a typed interface. - - - - - Defines the contract for building typed dictionary adapters. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - The property descriptor. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the namedValues. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the namedValues. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the . - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the . - - The type represented by T must be an interface with properties. - - - - - Gets the associated with the type. - - The typed interface. - The adapter meta-data. - - - - Gets the associated with the type. - - The typed interface. - The property descriptor. - The adapter meta-data. - - - - Gets the associated with the type. - - The typed interface. - Another from which to copy behaviors. - The adapter meta-data. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Contract for dictionary validation. - - - - - Determines if is valid. - - The dictionary adapter. - true if valid. - - - - Validates the . - - The dictionary adapter. - The error summary information. - - - - Validates the for a property. - - The dictionary adapter. - The property to validate. - The property summary information. - - - - Invalidates any results cached by the validator. - - The dictionary adapter. - - - - - - - - - Initializes a new instance of the class. - - The name values. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - key is null. - - - - Adapts the specified name values. - - The name values. - - - - - Gets a value indicating whether the object is read-only. - - - true if the object is read-only; otherwise, false. - - - - Gets or sets the with the specified key. - - - - - - Describes a dictionary property. - - - - - Initializes an empty class. - - - - - Initializes a new instance of the class. - - The property. - The annotations. - - - - Initializes a new instance class. - - - - - Copies an existinginstance of the class. - - - - - - - Gets the key. - - The dictionary adapter. - The key. - The descriptor. - - - - - Gets the property value. - - The dictionary adapter. - The key. - The stored value. - The descriptor. - true if return only existing. - - - - - Sets the property value. - - The dictionary adapter. - The key. - The value. - The descriptor. - - - - - Adds a single behavior. - - The behavior. - - - - Adds the behaviors. - - The behaviors. - - - - Adds the behaviors. - - The behaviors. - - - - Copies the behaviors to the other - - - - - - - Copies the - - - - - - - - - - - Gets the property name. - - - - - Gets the property type. - - - - - Gets the property. - - The property. - - - - Returns true if the property is dynamic. - - - - - Gets additional state. - - - - - Determines if property should be fetched. - - - - - Determines if property must exist first. - - - - - Determines if notifications should occur. - - - - - Gets the property behaviors. - - - - - Gets the type converter. - - The type converter. - - - - Gets the extended properties. - - - - - Gets the setter. - - The setter. - - - - Gets the key builders. - - The key builders. - - - - Gets the setter. - - The setter. - - - - Gets the getter. - - The getter. - - - - Gets the initializers. - - The initializers. - - - - Gets the meta-data initializers. - - The meta-data initializers. - - - - Helper class for retrieving attributes. - - - - - Gets the attribute. - - The member. - The member attribute. - - - - Gets the attributes. Does not consider inherited attributes! - - The member. - The member attributes. - - - - Gets the type attribute. - - The type. - The type attribute. - - - - Gets the type attributes. - - The type. - The type attributes. - - - - Gets the type converter. - - The member. - - - - - Gets the attribute. - - The member. - The member attribute. - - - - Contract for typed dynamic value resolution. - - - - - - Contract for dynamic value resolution. - - - - - Supporting Logger levels. - - - - - Logging will be off - - - - - Fatal logging level - - - - - Error logging level - - - - - Warn logging level - - - - - Info logging level - - - - - Debug logging level - - - - - Encapsulates an invocation of a proxied method. - - - - - Gets the value of the argument at the specified . - - The index. - The value of the argument at the specified . - - - - Returns the concrete instantiation of the on the proxy, with any generic - parameters bound to real types. - - - The concrete instantiation of the on the proxy, or the if - not a generic method. - - - Can be slower than calling . - - - - - Returns the concrete instantiation of , with any - generic parameters bound to real types. - For interface proxies, this will point to the on the target class. - - The concrete instantiation of , or - if not a generic method. - - In debug builds this can be slower than calling . - - - - - Proceeds the call to the next interceptor in line, and ultimately to the target method. - - - Since interface proxies without a target don't have the target implementation to proceed to, - it is important, that the last interceptor does not call this method, otherwise a - will be thrown. - - - - - Overrides the value of an argument at the given with the - new provided. - - - This method accepts an , however the value provided must be compatible - with the type of the argument defined on the method, otherwise an exception will be thrown. - - The index of the argument to override. - The new value for the argument. - - - - Gets the arguments that the has been invoked with. - - The arguments the method was invoked with. - - - - Gets the generic arguments of the method. - - The generic arguments, or null if not a generic method. - - - - Gets the object on which the invocation is performed. This is different from proxy object - because most of the time this will be the proxy target object. - - - The invocation target. - - - - Gets the representing the method being invoked on the proxy. - - The representing the method being invoked. - - - - For interface proxies, this will point to the on the target class. - - The method invocation target. - - - - Gets the proxy object on which the intercepted method is invoked. - - Proxy object on which the intercepted method is invoked. - - - - Gets or sets the return value of the method. - - The return value of the method. - - - - Gets the type of the target object for the intercepted method. - - The type of the target object. - - - - Used during the target type inspection process. Implementors have a chance to customize the - proxy generation process. - - - - - Invoked by the generation process to notify that the whole process has completed. - - - - - Invoked by the generation process to notify that a member was not marked as virtual. - - The type which declares the non-virtual member. - The non-virtual member. - - This method gives an opportunity to inspect any non-proxyable member of a type that has - been requested to be proxied, and if appropriate - throw an exception to notify the caller. - - - - - Invoked by the generation process to determine if the specified method should be proxied. - - The type which declares the given method. - The method to inspect. - True if the given method should be proxied; false otherwise. - - - - Interface describing elements composing generated type - - - - - Performs some basic screening and invokes the - to select methods. - - - - - - - - - Provides functionality for disassembling instances of attributes to CustomAttributeBuilder form, during the process of emiting new types by Dynamic Proxy. - - - - - Disassembles given attribute instance back to corresponding CustomAttributeBuilder. - - An instance of attribute to disassemble - corresponding 1 to 1 to given attribute instance, or null reference. - - Implementers should return that corresponds to given attribute instance 1 to 1, - that is after calling specified constructor with specified arguments, and setting specified properties and fields with values specified - we should be able to get an attribute instance identical to the one passed in . Implementer can return null - if it wishes to opt out of replicating the attribute. Notice however, that for some cases, like attributes passed explicitly by the user - it is illegal to return null, and doing so will result in exception. - - - - - Handles error during disassembly process - - Type of the attribute being disassembled - Exception thrown during the process - usually null, or (re)throws the exception - - - - Here we try to match a constructor argument to its value. - Since we can't get the values from the assembly, we use some heuristics to get it. - a/ we first try to match all the properties on the attributes by name (case insensitive) to the argument - b/ if we fail we try to match them by property type, with some smarts about convertions (i,e: can use Guid for string). - - - - - We have the following rules here. - Try to find a matching type, failing that, if the parameter is string, get the first property (under the assumption that - we can convert it. - - - - - Attributes can only accept simple types, so we return null for null, - if the value is passed as string we call to string (should help with converting), - otherwise, we use the value as is (enums, integer, etc). - - - - - Returns list of all unique interfaces implemented given types, including their base interfaces. - - - - - - - Applied to the assemblies saved by in order to persist the cache data included in the persisted assembly. - - - - - Base class that exposes the common functionalities - to proxy generation. - - - - - It is safe to add mapping (no mapping for the interface exists) - - - - - - - - Generates a parameters constructor that initializes the proxy - state with just to make it non-null. - - This constructor is important to allow proxies to be XML serializable - - - - - - Generates the constructor for the class that extends - - - - - - - - - Default implementation of interface producing in-memory proxy assemblies. - - - - - Abstracts the implementation of proxy type construction. - - - - - Creates a proxy type for given , implementing , using provided. - - The class type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified class and interfaces. - Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type that proxies calls to members on , implementing , using provided. - - The interface type to proxy. - Additional interface types to proxy. - Type implementing on which calls to the interface members should be intercepted. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface that 'proceeds' executions to the specified target. - Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given and that delegates all calls to the provided interceptors and allows interceptors to switch the actual target of invocation. - - The interface type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface(s) that delegate all executions to the specified interceptors - and uses an instance of the interface as their targets (i.e. ), rather than a class. All classes should then implement interface, - to allow interceptors to switch invocation target with instance of another type implementing called interface. - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given that delegates all calls to the provided interceptors. - - The interface type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface and additional interfaces that delegate all executions to the specified interceptors. - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Gets or sets the that this logs to. - - - - - Gets the associated with this builder. - - The module scope associated with this builder. - - - - Initializes a new instance of the class with new . - - - - - Initializes a new instance of the class. - - The module scope for generated proxy types. - - - - Registers custom disassembler to handle disassembly of specified type of attributes. - - Type of attributes to handle - Disassembler converting existing instances of Attributes to CustomAttributeBuilders - - When disassembling an attribute Dynamic Proxy will first check if an custom disassembler has been registered to handle attributes of that type, - and if none is found, it'll use the . - - - - - Attributes should be replicated if they are non-inheritable, - but there are some special cases where the attributes means - something to the CLR, where they should be skipped. - - - - - Initializes a new instance of the class. - - Target element. This is either target type or target method for invocation types. - The type of the proxy. This is base type for invocation types. - The interfaces. - The options. - - - - Initializes a new instance of the class. - - Type of the target. - The interfaces. - The options. - - - - s - Provides appropriate Ldc.X opcode for the type of primitive value to be loaded. - - - - - Provides appropriate Ldind.X opcode for - the type of primitive value to be loaded indirectly. - - - - - Emits a load indirect opcode of the appropriate type for a value or object reference. - Pops a pointer off the evaluation stack, dereferences it and loads - a value of the specified type. - - - - - - - Emits a load opcode of the appropriate kind for a constant string or - primitive value. - - - - - - - Emits a load opcode of the appropriate kind for the constant default value of a - type, such as 0 for value types and null for reference types. - - - - - Emits a store indirectopcode of the appropriate type for a value or object reference. - Pops a value of the specified type and a pointer off the evaluation stack, and - stores the value. - - - - - - - Summary description for PropertiesCollection. - - - - - Wraps a reference that is passed - ByRef and provides indirect load/store support. - - - - - Summary description for NewArrayExpression. - - - - - - - - - Provides appropriate Stind.X opcode - for the type of primitive value to be stored indirectly. - - - - - Initializes a new instance of the class. - - The name. - Type declaring the original event being overriten, or null. - - The add method. - The remove method. - The attributes. - - - - Represents the scope of uniquenes of names for types and their members - - - - - Gets a unique name based on - - Name suggested by the caller - Unique name based on . - - Implementers should provide name as closely resembling as possible. - Generally if no collision occurs it is suggested to return suggested name, otherwise append sequential suffix. - Implementers must return deterministic names, that is when is called twice - with the same suggested name, the same returned name should be provided each time. Non-deterministic return - values, like appending random suffices will break serialization of proxies. - - - - - Returns new, disposable naming scope. It is responsibilty of the caller to make sure that no naming collision - with enclosing scope, or other subscopes is possible. - - New naming scope. - - - - Returns the methods implemented by a type. Use this instead of Type.GetMethods() to work around a CLR issue - where duplicate MethodInfos are returned by Type.GetMethods() after a token of a generic type's method was loaded. - - - - - Determines whether the specified method is internal. - - The method. - - true if the specified method is internal; otherwise, false. - - - - - Determines whether this assembly has internals visible to dynamic proxy. - - The assembly to inspect. - - - - Checks if the method is public or protected. - - - - - - - Because we need to cache the types based on the mixed in mixins, we do the following here: - - Get all the mixin interfaces - - Sort them by full name - - Return them by position - - The idea is to have reproducible behavior for the case that mixins are registered in different orders. - This method is here because it is required - - - - - Summary description for ModuleScope. - - - - - The default file name used when the assembly is saved using . - - - - - The default assembly (simple) name used for the assemblies generated by a instance. - - - - - Initializes a new instance of the class; assemblies created by this instance will not be saved. - - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved. - - If set to true saves the generated module. - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved and what simple names are to be assigned to them. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - The simple name of the strong-named assembly generated by this . - The path and file name of the manifest module of the strong-named assembly generated by this . - The simple name of the weak-named assembly generated by this . - The path and file name of the manifest module of the weak-named assembly generated by this . - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved and what simple names are to be assigned to them. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - Naming scope used to provide unique names to generated types and their members (usually via sub-scopes). - The simple name of the strong-named assembly generated by this . - The path and file name of the manifest module of the strong-named assembly generated by this . - The simple name of the weak-named assembly generated by this . - The path and file name of the manifest module of the weak-named assembly generated by this . - - - - Returns a type from this scope's type cache, or null if the key cannot be found. - - The key to be looked up in the cache. - The type from this scope's type cache matching the key, or null if the key cannot be found - - - - Registers a type in this scope's type cache. - - The key to be associated with the type. - The type to be stored in the cache. - - - - Gets the key pair used to sign the strong-named assembly generated by this . - - - - - - Gets the specified module generated by this scope, creating a new one if none has yet been generated. - - If set to true, a strong-named module is returned; otherwise, a weak-named module is returned. - A strong-named or weak-named module generated by this scope, as specified by the parameter. - - - - Gets the strong-named module generated by this scope, creating a new one if none has yet been generated. - - A strong-named module generated by this scope. - - - - Gets the weak-named module generated by this scope, creating a new one if none has yet been generated. - - A weak-named module generated by this scope. - - - - Saves the generated assembly with the name and directory information given when this instance was created (or with - the and current directory if none was given). - - - - This method stores the generated assembly in the directory passed as part of the module information specified when this instance was - constructed (if any, else the current directory is used). If both a strong-named and a weak-named assembly - have been generated, it will throw an exception; in this case, use the overload. - - - If this was created without indicating that the assembly should be saved, this method does nothing. - - - Both a strong-named and a weak-named assembly have been generated. - The path of the generated assembly file, or null if no file has been generated. - - - - Saves the specified generated assembly with the name and directory information given when this instance was created - (or with the and current directory if none was given). - - True if the generated assembly with a strong name should be saved (see ); - false if the generated assembly without a strong name should be saved (see . - - - This method stores the specified generated assembly in the directory passed as part of the module information specified when this instance was - constructed (if any, else the current directory is used). - - - If this was created without indicating that the assembly should be saved, this method does nothing. - - - No assembly has been generated that matches the parameter. - - The path of the generated assembly file, or null if no file has been generated. - - - - Loads the generated types from the given assembly into this 's cache. - - The assembly to load types from. This assembly must have been saved via or - , or it must have the manually applied. - - This method can be used to load previously generated and persisted proxy types from disk into this scope's type cache, eg. in order - to avoid the performance hit associated with proxy generation. - - - - - Users of this should use this lock when accessing the cache. - - - - - Gets the strong-named module generated by this scope, or if none has yet been generated. - - The strong-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the strongly named module generated by this scope. - - The file name of the strongly named module generated by this scope. - - - - Gets the directory where the strongly named module generated by this scope will be saved, or if the current directory - is used. - - The directory where the strongly named module generated by this scope will be saved when is called - (if this scope was created to save modules). - - - - Gets the weak-named module generated by this scope, or if none has yet been generated. - - The weak-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the weakly named module generated by this scope. - - The file name of the weakly named module generated by this scope. - - - - Gets the directory where the weakly named module generated by this scope will be saved, or if the current directory - is used. - - The directory where the weakly named module generated by this scope will be saved when is called - (if this scope was created to save modules). - - - - ProxyBuilder that persists the generated type. - - - The saved assembly contains just the last generated type. - - - - - Initializes a new instance of the class. - - - - - Saves the generated assembly to a physical file. Note that this renders the unusable. - - The path of the generated assembly file, or null if no assembly has been generated. - - This method does not support saving multiple files. If both a signed and an unsigned module have been generated, use the - respective methods of the . - - - - - Initializes a new instance of the class. - - The hook. - - - - Initializes a new instance of the class. - - - - - Provides proxy objects for classes and interfaces. - - - - - Initializes a new instance of the class. - - Proxy types builder. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - If true forces all types to be generated into an unsigned module. - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - Object proxying calls to members of on object. - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates the proxy type for class proxy with given class, implementing given and using provided . - - The base class for proxy type. - The interfaces that proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy with target for given interface, implementing given on given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - Actual type that the proxy type will encompass. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy with target interface for given interface, implementing given on given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy without target for given interface, implementing given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Gets or sets the that this log to. - - - - - Gets the proxy builder instance used to generate proxy types. - - The proxy builder. - - - - - - - - - - - - - For interface proxies, this will point to the - on the target class - - - - - Handles the deserialization of proxies. - - - - - Resets the used for deserialization to a new scope. - - - This is useful for test cases. - - - - - Resets the used for deserialization to a given . - - The scope to be used for deserialization. - - By default, the deserialization process uses a different scope than the rest of the application, which can lead to multiple proxies - being generated for the same type. By explicitly setting the deserialization scope to the application's scope, this can be avoided. - - - - - Gets the used for deserialization. - - As has no way of automatically determining the scope used by the application (and the application might use more than one scope at the same time), uses a dedicated scope instance for deserializing proxy types. This instance can be reset and set to a specific value via and . - - - - Holds objects representing methods of class. - - - - - Holds objects representing methods of class. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Provides an extension point that allows proxies to choose specific interceptors on - a per method basis. - - - - - Selects the interceptors that should intercept calls to the given . - - The type declaring the method to intercept. - The method that will be intercepted. - All interceptors registered with the proxy. - An array of interceptors to invoke upon calling the . - - This method is called only once per proxy instance, upon the first call to the - . Either an empty array or null are valid return values to indicate - that no interceptor should intercept calls to the method. Although it is not advised, it is - legal to return other implementations than these provided in - . - - - - - Creates a new lock. - - - - - - This interface should be implemented by classes - that are available in a bigger context, exposing - the container to different areas in the same application. - - For example, in Web application, the (global) HttpApplication - subclasses should implement this interface to expose - the configured container - - - - - - Exposes means to change target objects of proxies and invocations - - - - - Changes the target object () of current . - - The new value of target of invocation. - - Although the method takes the actual instance must be of type assignable to , otherwise an will be thrown. - Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. - In this case last interceptor in the pipeline mustn't call or a will be throws. - Also while it's technically legal to pass proxy itself as , this would create stack overflow. - In this case last interceptor in the pipeline mustn't call or a will be throws. - - Thrown when is not assignable to the proxied type. - - - - Permanently changes the target object of the proxy. This does not affect target of the current invocation. - - The new value of target of the proxy. - - Although the method takes the actual instance must be of type assignable to proxy's target type, otherwise an will be thrown. - Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. - In this case last interceptor in the pipeline mustn't call or a will be throws. - Also while it's technically legal to pass proxy itself as , this would create stack overflow. - In this case last interceptor in the pipeline mustn't call or a will be throws. - - Thrown when is not assignable to the proxied type. - - - - New interface that is going to be used by DynamicProxy 2 - - - - - Get the proxy target (note that null is a valid target!) - - - - - - Gets the interceptors for the proxy - - - - - - Defines that the implementation wants a - in order to - access other components. The creator must be aware - that the component might (or might not) implement - the interface. - - - Used by Castle Project components to, for example, - gather logging factories - - - - - Increments IServiceProvider with a generic service resolution operation. - - - - - Provides a factory that can produce either or - classes. - - - - - Manages the instantiation of s. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Gets the configuration file. - - i.e. log4net.config - - - - - Used to create the TraceLogger implementation of ILogger interface. See . - - - - - Gets the configuration file. - - i.e. log4net.config - - - - - Interface for Context Properties implementations - - - - This interface defines a basic property get set accessor. - - - Based on the ContextPropertiesBase of log4net, by Nicko Cadell. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - NullLogFactory used when logging is turned off. - - - - - Creates an instance of ILogger with the specified name. - - Name. - - - - - Creates an instance of ILogger with the specified name and LoggerLevel. - - Name. - Level. - - - - - Creates outputing - to files. The name of the file is derived from the log name - plus the 'log' extension. - - - - - Provides an interface that supports and - allows the storage and retrieval of Contexts. These are supported in - both log4net and NLog. - - - - - Manages logging. - - - This is a facade for the different logging subsystems. - It offers a simplified interface that follows IOC patterns - and a simplified priority/level/severity abstraction. - - - - - Create a new child logger. - The name of the child logger is [current-loggers-name].[passed-in-name] - - The Subname of this logger. - The New ILogger instance. - If the name has an empty element name. - - - - Logs a debug message. - - The message to log - - - - Logs a debug message with lazily constructed message. The message will be constructed only if the is true. - - - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The message to log - - - - Logs an error message with lazily constructed message. The message will be constructed only if the is true. - - - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message with lazily constructed message. The message will be constructed only if the is true. - - - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The message to log - - - - Logs a info message with lazily constructed message. The message will be constructed only if the is true. - - - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The message to log - - - - Logs a warn message with lazily constructed message. The message will be constructed only if the is true. - - - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Determines if messages of priority "debug" will be logged. - - True if "debug" messages will be logged. - - - - Determines if messages of priority "error" will be logged. - - True if "error" messages will be logged. - - - - Determines if messages of priority "fatal" will be logged. - - True if "fatal" messages will be logged. - - - - Determines if messages of priority "info" will be logged. - - True if "info" messages will be logged. - - - - Determines if messages of priority "warn" will be logged. - - True if "warn" messages will be logged. - - - - Exposes the Global Context of the extended logger. - - - - - Exposes the Thread Context of the extended logger. - - - - - Exposes the Thread Stack of the extended logger. - - - - - The Logger sending everything to the standard output streams. - This is mainly for the cases when you have a utility that - does not have a logger to supply. - - - - - The Level Filtered Logger class. This is a base clase which - provides a LogLevel attribute and reroutes all functions into - one Log method. - - - - - Creates a new LevelFilteredLogger. - - - - - Keep the instance alive in a remoting scenario - - - - - - Logs a debug message. - - The message to log - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The message to log - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The message to log - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The message to log - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Implementors output the log content by implementing this method only. - Note that exception can be null - - - - - - - - - The LoggerLevel that this logger - will be using. Defaults to LoggerLevel.Off - - - - - The name that this logger will be using. - Defaults to String.Empty - - - - - Determines if messages of priority "debug" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "info" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "warn" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "error" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "fatal" will be logged. - - true if log level flags include the bit - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug and the Name - set to String.Empty. - - - - - Creates a new ConsoleLogger with the Name - set to String.Empty. - - The logs Level. - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug. - - The logs Name. - - - - Creates a new ConsoleLogger. - - The logs Name. - The logs Level. - - - - A Common method to log. - - The level of logging - The name of the logger - The Message - The Exception - - - - Returns a new ConsoleLogger with the name - added after this loggers name, with a dot in between. - - The added hierarchical name. - A new ConsoleLogger. - - - - The Logger using standart Diagnostics namespace. - - - - - Creates a logger based on . - - - - - - Creates a logger based on . - - - - - - - Creates a logger based on . - - - - - - - - The Null Logger class. This is useful for implementations where you need - to provide a logger to a utility class, but do not want any output from it. - It also helps when you have a utility that does not have a logger to supply. - - - - - Returns this NullLogger. - - Ignored - This ILogger instance. - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - Returns empty context properties. - - - - - Returns empty context properties. - - - - - Returns empty context stacks. - - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - The Stream Logger class. This class can stream log information - to any stream, it is suitable for storing a log file to disk, - or to a MemoryStream for testing your components. - - - This logger is not thread safe. - - - - - Creates a new StreamLogger with default encoding - and buffer size. Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - - - Creates a new StreamLogger with default buffer size. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - - - Creates a new StreamLogger. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - The buffer size that will be used for this stream. - - - - - - Creates a new StreamLogger with - Debug as default Level. - - The name of the log. - The StreamWriter the log will write to. - - - - The TraceLogger sends all logging to the System.Diagnostics.TraceSource - built into the .net framework. - - - Logging can be configured in the system.diagnostics configuration - section. - - If logger doesn't find a source name with a full match it will - use source names which match the namespace partially. For example you can - configure from all castle components by adding a source name with the - name "Castle". - - If no portion of the namespace matches the source named "Default" will - be used. - - - - - Build a new trace logger based on the named TraceSource - - The name used to locate the best TraceSource. In most cases comes from the using type's fullname. - - - - Build a new trace logger based on the named TraceSource - - The name used to locate the best TraceSource. In most cases comes from the using type's fullname. - The default logging level at which this source should write messages. In almost all cases this - default value will be overridden in the config file. - - - - Create a new child logger. - The name of the child logger is [current-loggers-name].[passed-in-name] - - The Subname of this logger. - The New ILogger instance. - - - - This is an abstract implementation - that deals with methods that can be abstracted away - from underlying implementations. - - - AbstractConfiguration makes easier to implementers - to create a new version of - - - - - is a interface encapsulating a configuration node - used to retrieve configuration values. - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the conversion fails. - - The Value converted into the specified type. - - - - Gets the name of the node. - - - The Name of the node. - - - - - Gets the value of the node. - - - The Value of the node. - - - - - Gets an of - elements containing all node children. - - The Collection of child nodes. - - - - Gets an of the configuration attributes. - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the conversion fails. - - The Value converted into the specified type. - - - - Gets node attributes. - - - All attributes of the node. - - - - - Gets all child nodes. - - The of child nodes. - - - - Gets the name of the . - - - The Name of the . - - - - - Gets the value of . - - - The Value of the . - - - - - A collection of objects. - - - - - Creates a new instance of ConfigurationCollection. - - - - - Creates a new instance of ConfigurationCollection. - - - - - Summary description for MutableConfiguration. - - - - - Initializes a new instance of the class. - - The name. - - - - Gets the value of . - - - The Value of the . - - - - - Deserializes the specified node into an abstract representation of configuration. - - The node. - - - - - If a config value is an empty string we return null, this is to keep - backward compatibility with old code - - - - - General purpose class to represent a standard pair of values. - - Type of the first value - Type of the second value - - - - Constructs a pair with its values - - - - - - - List of utility methods related to dynamic proxy operations - - - - - Determines whether the specified type is a proxy generated by - DynamicProxy (1 or 2). - - The type. - - true if it is a proxy; otherwise, false. - - - - - Readonly implementation of which uses an anonymous object as its source. Uses names of properties as keys, and property values as... well - values. Keys are not case sensitive. - - - - - Initializes a new instance of the class. - - The target. - - - - Adds an element with the provided key and value to the object. - - The to use as the key of the element to add. - The to use as the value of the element to add. - - is null. - An element with the same key already exists in the object. - The is read-only.-or- The has a fixed size. - - - - Removes all elements from the object. - - The object is read-only. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - - is null. - - - - Removes the element with the specified key from the object. - - The key of the element to remove. - - is null. - The object is read-only.-or- The has a fixed size. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Copies the elements of the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is null. - - is less than zero. - - is multidimensional.-or- 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 type of the source cannot be cast automatically to the type of the destination . - - - - Returns an object for the object. - - - An object for the object. - - - - - Reads values of properties from and inserts them into using property names as keys. - - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Gets a value indicating whether access to the is synchronized (thread safe). - - - true if access to the is synchronized (thread safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - Gets a value indicating whether the object is read-only. - - - true if the object is read-only; otherwise, false. - - - - Gets or sets the with the specified key. - - - - - - Gets an object containing the keys of the object. - - - An object containing the keys of the object. - - - - Gets an object containing the values in the object. - - - An object containing the values in the object. - - - - Gets a value indicating whether the object has a fixed size. - - - true if the object has a fixed size; otherwise, false. - - - - Represents a 'streamable' resource. Can - be a file, a resource in an assembly. - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - - - Returns an instance of - created according to the relativePath - using itself as the root. - - - - - - - - - - Only valid for resources that - can be obtained through relative paths - - - - - - - - - - This returns a new stream instance each time it is called. - It is the responsibility of the caller to dispose of this stream - - - - - Depicts the contract for resource factories. - - - - - Used to check whether the resource factory - is able to deal with the given resource - identifier. - - - Implementors should return true - only if the given identifier is supported - by the resource factory - - - - - - - Creates an instance - for the given resource identifier - - - - - - - Creates an instance - for the given resource identifier - - - - - - - - - - - - - - - - - - Adapts a static string content as an - - - - - Enable access to files on network shares - - - - - Email sender abstraction. - - - - - Sends a mail message. - - From field - To field - E-mail's subject - message's body - - - - Sends a message. - - Message instance - - - - Sends multiple messages. - - List of messages - - - - Default implementation. - - - - - Initializes a new instance of the class based on the configuration provided in the application configuration file. - - - This constructor is based on the default configuration in the application configuration file. - - - - - This service implementation - requires a host name in order to work - - The smtp server name - - - - Sends a message. - - If any of the parameters is null - From field - To field - e-mail's subject - message's body - - - - Sends a message. - - If the message is null - Message instance - - - - Configures the sender - with port information and eventual credential - informed - - Message instance - - - - Gets or sets the port used to - access the SMTP server - - - - - Gets the hostname. - - The hostname. - - - - Gets or sets a value which is used to - configure if emails are going to be sent asynchronously or not. - - - - - Gets or sets a value that specifies - the amount of time after which a synchronous Send call times out. - - - - - Gets or sets a value indicating whether the email should be sent using - a secure communication channel. - - true if should use SSL; otherwise, false. - - - - Gets or sets the domain. - - The domain. - - - - Gets or sets the name of the user. - - The name of the user. - - - - Gets or sets the password. - - The password. - - - - Gets a value indicating whether credentials were informed. - - - if this instance has credentials; otherwise, . - - - - diff --git a/packages/Castle.Core.3.2.0/lib/sl4/Castle.Core.dll b/packages/Castle.Core.3.2.0/lib/sl4/Castle.Core.dll deleted file mode 100644 index 5d89826..0000000 Binary files a/packages/Castle.Core.3.2.0/lib/sl4/Castle.Core.dll and /dev/null differ diff --git a/packages/Castle.Core.3.2.0/lib/sl4/Castle.Core.xml b/packages/Castle.Core.3.2.0/lib/sl4/Castle.Core.xml deleted file mode 100644 index 766410f..0000000 --- a/packages/Castle.Core.3.2.0/lib/sl4/Castle.Core.xml +++ /dev/null @@ -1,4223 +0,0 @@ - - - - Castle.Core - - - - - Specifies assignment by reference rather than by copying. - - - - - Suppresses any on-demand behaviors. - - - - - Removes a property if null or empty string, guid or collection. - - - - - Removes a property if matches value. - - - - - Assigns a specific dictionary key. - - - - - Defines the contract for customizing dictionary access. - - - - - Copies the dictionary behavior. - - null if should not be copied. Otherwise copy. - - - - Determines relative order to apply related behaviors. - - - - - Defines the contract for updating dictionary values. - - - - - Sets the stored dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if the property should be stored. - - - - Contract for value matching. - - - - - Indicates that underlying values are changeable and should not be cached. - - - - - Contract for dictionary initialization. - - - - - Performs any initialization of the - - The dictionary adapter. - The dictionary behaviors. - - - - Abstract implementation of . - - - - - Conract for traversing a . - - - - - Contract for creating additional Dictionary adapters. - - - - - Contract for manipulating the Dictionary adapter. - - - - - Contract for editing the Dictionary adapter. - - - - - Contract for managing Dictionary adapter notifications. - - - - - Contract for validating Dictionary adapter. - - - - - Defines the contract for building s. - - - - - Builds the dictionary behaviors. - - - - - - Abstract adapter for the support - needed by the - - - - - Adds an element with the provided key and value to the object. - - The to use as the key of the element to add. - The to use as the value of the element to add. - An element with the same key already exists in the object. - key is null. - The is read-only.-or- The has a fixed size. - - - - Removes all elements from the object. - - The object is read-only. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - key is null. - - - - Returns an object for the object. - - - An object for the object. - - - - - Removes the element with the specified key from the object. - - The key of the element to remove. - The object is read-only.-or- The has a fixed size. - key is null. - - - - Copies the elements of the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in array at which copying begins. - array is null. - The type of the source cannot be cast automatically to the type of the destination array. - index is less than zero. - array is multidimensional.-or- index is equal to or greater than the length of array.-or- The number of elements in the source is greater than the available space from index to the end of the destination array. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Gets a value indicating whether the object has a fixed size. - - - true if the object has a fixed size; otherwise, false. - - - - Gets a value indicating whether the object is read-only. - - - true if the object is read-only; otherwise, false. - - - - Gets an object containing the keys of the object. - - - An object containing the keys of the object. - - - - Gets an object containing the values in the object. - - - An object containing the values in the object. - - - - Gets or sets the with the specified key. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Gets a value indicating whether access to the is synchronized (thread safe). - - - true if access to the is synchronized (thread safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - Checks whether or not collection is null or empty. Assumes colleciton can be safely enumerated multiple times. - - - - - - - Constant to use when making assembly internals visible to Castle.Core - [assembly: InternalsVisibleTo(CoreInternalsVisible.ToCastleCore)] - - - - - Constant to use when making assembly internals visible to proxy types generated by DynamicProxy. Required when proxying internal types. - [assembly: InternalsVisibleTo(CoreInternalsVisible.ToDynamicProxyGenAssembly2)] - - - - - Identifies a property should be represented as a nested component. - - - - - Defines the contract for building typed dictionary keys. - - - - - Builds the specified key. - - The dictionary adapter. - The current key. - The property. - The updated key - - - - Defines the contract for retrieving dictionary values. - - - - - Gets the effective dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if return only existing. - The effective property value. - - - - Applies no prefix. - - - - - Gets or sets the prefix. - - The prefix. - - - - Identifies the dictionary adapter types. - - - - - Identifies an interface or property to be pre-fetched. - - - - - Instructs fetching to occur. - - - - - Instructs fetching according to - - - - - - Gets whether or not fetching should occur. - - - - - Assigns a property to a group. - - - - - Constructs a group assignment. - - The group name. - - - - Constructs a group assignment. - - The group name. - - - - Gets the group the property is assigned to. - - - - - Assigns a specific dictionary key. - - - - - Initializes a new instance of the class. - - The key. - - - - Initializes a new instance of the class. - - The compound key. - - - - Assigns a prefix to the keyed properties of an interface. - - - Key prefixes are not inherited by sub-interfaces. - - - - - Initializes a default instance of the class. - - - - - Initializes a new instance of the class. - - The prefix for the keyed properties of the interface. - - - - Gets the prefix key added to the properties of the interface. - - - - - Substitutes part of key with another string. - - - - - Initializes a new instance of the class. - - The old value. - The new value. - - - - Requests support for multi-level editing. - - - - - Generates a new GUID on demand. - - - - - Support for on-demand value resolution. - - - - - Provides simple string formatting from existing properties. - - - - - Gets the string format. - - - - - Gets the format properties. - - - - - Identifies a property should be represented as a delimited string value. - - - - - Gets the separator. - - - - - Converts all properties to strings. - - - - - Gets or sets the format. - - The format. - - - - Suppress property change notifications. - - - - - Contract for property descriptor initialization. - - - - - Performs any initialization of the - - The property descriptor. - The property behaviors. - - - - Assigns a prefix to the keyed properties using the interface name. - - - - - Manages conversion between property values. - - - - - Initializes a new instance of the class. - - The converter. - - - - Gets the effective dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if return only existing. - The effective property value. - - - - - - - - - Uses Reflection.Emit to expose the properties of a dictionary - through a dynamic implementation of a typed interface. - - - - - Defines the contract for building typed dictionary adapters. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - The property descriptor. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets the associated with the type. - - The typed interface. - The adapter meta-data. - - - - Gets the associated with the type. - - The typed interface. - The property descriptor. - The adapter meta-data. - - - - Gets the associated with the type. - - The typed interface. - Another from which to copy behaviors. - The adapter meta-data. - - - - - - - - - - - - - - - - - - - - - - - - - - - - Contract for dictionary meta-data initialization. - - - - - Initializes the given object. - - The dictionary adapter factory. - The dictionary adapter meta. - - - - - Determines whether the given behavior should be included in a new - object. - - A dictionary behavior or annotation. - True if the behavior should be included; otherwise, false. - - behaviors are always included, - regardless of the result of this method. - - - - - - Contract for dictionary validation. - - - - - Determines if is valid. - - The dictionary adapter. - true if valid. - - - - Validates the . - - The dictionary adapter. - The error summary information. - - - - Validates the for a property. - - The dictionary adapter. - The property to validate. - The property summary information. - - - - Invalidates any results cached by the validator. - - The dictionary adapter. - - - - Describes a dictionary property. - - - - - Initializes an empty class. - - - - - Initializes a new instance of the class. - - The property. - The annotations. - - - - Initializes a new instance class. - - - - - Copies an existinginstance of the class. - - - - - - - Gets the key. - - The dictionary adapter. - The key. - The descriptor. - - - - - Gets the property value. - - The dictionary adapter. - The key. - The stored value. - The descriptor. - true if return only existing. - - - - - Sets the property value. - - The dictionary adapter. - The key. - The value. - The descriptor. - - - - - Adds a single behavior. - - The behavior. - - - - Adds the behaviors. - - The behaviors. - - - - Adds the behaviors. - - The behaviors. - - - - Copies the behaviors to the other - - - - - - - Copies the - - - - - - - - - - - Gets the property name. - - - - - Gets the property type. - - - - - Gets the property. - - The property. - - - - Returns true if the property is dynamic. - - - - - Gets additional state. - - - - - Determines if property should be fetched. - - - - - Determines if property must exist first. - - - - - Determines if notifications should occur. - - - - - Gets the property behaviors. - - - - - Gets the type converter. - - The type converter. - - - - Gets the extended properties. - - - - - Gets the setter. - - The setter. - - - - Gets the key builders. - - The key builders. - - - - Gets the setter. - - The setter. - - - - Gets the getter. - - The getter. - - - - Gets the initializers. - - The initializers. - - - - Gets the meta-data initializers. - - The meta-data initializers. - - - - Helper class for retrieving attributes. - - - - - Gets the attribute. - - The member. - The member attribute. - - - - Gets the attributes. Does not consider inherited attributes! - - The member. - The member attributes. - - - - Gets the type attribute. - - The type. - The type attribute. - - - - Gets the type attributes. - - The type. - The type attributes. - - - - Gets the type converter. - - The member. - - - - - Gets the attribute. - - The member. - The member attribute. - - - - Contract for typed dynamic value resolution. - - - - - - Contract for dynamic value resolution. - - - - - Supporting Logger levels. - - - - - Logging will be off - - - - - Fatal logging level - - - - - Error logging level - - - - - Warn logging level - - - - - Info logging level - - - - - Debug logging level - - - - - Encapsulates an invocation of a proxied method. - - - - - Gets the value of the argument at the specified . - - The index. - The value of the argument at the specified . - - - - Returns the concrete instantiation of the on the proxy, with any generic - parameters bound to real types. - - - The concrete instantiation of the on the proxy, or the if - not a generic method. - - - Can be slower than calling . - - - - - Returns the concrete instantiation of , with any - generic parameters bound to real types. - For interface proxies, this will point to the on the target class. - - The concrete instantiation of , or - if not a generic method. - - In debug builds this can be slower than calling . - - - - - Proceeds the call to the next interceptor in line, and ultimately to the target method. - - - Since interface proxies without a target don't have the target implementation to proceed to, - it is important, that the last interceptor does not call this method, otherwise a - will be thrown. - - - - - Overrides the value of an argument at the given with the - new provided. - - - This method accepts an , however the value provided must be compatible - with the type of the argument defined on the method, otherwise an exception will be thrown. - - The index of the argument to override. - The new value for the argument. - - - - Gets the arguments that the has been invoked with. - - The arguments the method was invoked with. - - - - Gets the generic arguments of the method. - - The generic arguments, or null if not a generic method. - - - - Gets the object on which the invocation is performed. This is different from proxy object - because most of the time this will be the proxy target object. - - - The invocation target. - - - - Gets the representing the method being invoked on the proxy. - - The representing the method being invoked. - - - - For interface proxies, this will point to the on the target class. - - The method invocation target. - - - - Gets the proxy object on which the intercepted method is invoked. - - Proxy object on which the intercepted method is invoked. - - - - Gets or sets the return value of the method. - - The return value of the method. - - - - Gets the type of the target object for the intercepted method. - - The type of the target object. - - - - Used during the target type inspection process. Implementors have a chance to customize the - proxy generation process. - - - - - Invoked by the generation process to notify that the whole process has completed. - - - - - Invoked by the generation process to notify that a member was not marked as virtual. - - The type which declares the non-virtual member. - The non-virtual member. - - This method gives an opportunity to inspect any non-proxyable member of a type that has - been requested to be proxied, and if appropriate - throw an exception to notify the caller. - - - - - Invoked by the generation process to determine if the specified method should be proxied. - - The type which declares the given method. - The method to inspect. - True if the given method should be proxied; false otherwise. - - - - Interface describing elements composing generated type - - - - - Performs some basic screening and invokes the - to select methods. - - - - - - - - - Provides functionality for disassembling instances of attributes to CustomAttributeBuilder form, during the process of emiting new types by Dynamic Proxy. - - - - - Disassembles given attribute instance back to corresponding CustomAttributeBuilder. - - An instance of attribute to disassemble - corresponding 1 to 1 to given attribute instance, or null reference. - - Implementers should return that corresponds to given attribute instance 1 to 1, - that is after calling specified constructor with specified arguments, and setting specified properties and fields with values specified - we should be able to get an attribute instance identical to the one passed in . Implementer can return null - if it wishes to opt out of replicating the attribute. Notice however, that for some cases, like attributes passed explicitly by the user - it is illegal to return null, and doing so will result in exception. - - - - - Handles error during disassembly process - - Type of the attribute being disassembled - Exception thrown during the process - usually null, or (re)throws the exception - - - - Here we try to match a constructor argument to its value. - Since we can't get the values from the assembly, we use some heuristics to get it. - a/ we first try to match all the properties on the attributes by name (case insensitive) to the argument - b/ if we fail we try to match them by property type, with some smarts about convertions (i,e: can use Guid for string). - - - - - We have the following rules here. - Try to find a matching type, failing that, if the parameter is string, get the first property (under the assumption that - we can convert it. - - - - - Attributes can only accept simple types, so we return null for null, - if the value is passed as string we call to string (should help with converting), - otherwise, we use the value as is (enums, integer, etc). - - - - - Returns list of all unique interfaces implemented given types, including their base interfaces. - - - - - - - Base class that exposes the common functionalities - to proxy generation. - - - - - It is safe to add mapping (no mapping for the interface exists) - - - - - - - - Generates a parameters constructor that initializes the proxy - state with just to make it non-null. - - This constructor is important to allow proxies to be XML serializable - - - - - - Generates the constructor for the class that extends - - - - - - - - - Default implementation of interface producing in-memory proxy assemblies. - - - - - Abstracts the implementation of proxy type construction. - - - - - Creates a proxy type for given , implementing , using provided. - - The class type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified class and interfaces. - Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type that proxies calls to members on , implementing , using provided. - - The interface type to proxy. - Additional interface types to proxy. - Type implementing on which calls to the interface members should be intercepted. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface that 'proceeds' executions to the specified target. - Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given and that delegates all calls to the provided interceptors and allows interceptors to switch the actual target of invocation. - - The interface type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface(s) that delegate all executions to the specified interceptors - and uses an instance of the interface as their targets (i.e. ), rather than a class. All classes should then implement interface, - to allow interceptors to switch invocation target with instance of another type implementing called interface. - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given that delegates all calls to the provided interceptors. - - The interface type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface and additional interfaces that delegate all executions to the specified interceptors. - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Gets or sets the that this logs to. - - - - - Gets the associated with this builder. - - The module scope associated with this builder. - - - - Initializes a new instance of the class with new . - - - - - Initializes a new instance of the class. - - The module scope for generated proxy types. - - - - Registers custom disassembler to handle disassembly of specified type of attributes. - - Type of attributes to handle - Disassembler converting existing instances of Attributes to CustomAttributeBuilders - - When disassembling an attribute Dynamic Proxy will first check if an custom disassembler has been registered to handle attributes of that type, - and if none is found, it'll use the . - - - - - Attributes should be replicated if they are non-inheritable, - but there are some special cases where the attributes means - something to the CLR, where they should be skipped. - - - - - Initializes a new instance of the class. - - Target element. This is either target type or target method for invocation types. - The type of the proxy. This is base type for invocation types. - The interfaces. - The options. - - - - Initializes a new instance of the class. - - Type of the target. - The interfaces. - The options. - - - - s - Provides appropriate Ldc.X opcode for the type of primitive value to be loaded. - - - - - Provides appropriate Ldind.X opcode for - the type of primitive value to be loaded indirectly. - - - - - Emits a load indirect opcode of the appropriate type for a value or object reference. - Pops a pointer off the evaluation stack, dereferences it and loads - a value of the specified type. - - - - - - - Emits a load opcode of the appropriate kind for a constant string or - primitive value. - - - - - - - Emits a load opcode of the appropriate kind for the constant default value of a - type, such as 0 for value types and null for reference types. - - - - - Emits a store indirectopcode of the appropriate type for a value or object reference. - Pops a value of the specified type and a pointer off the evaluation stack, and - stores the value. - - - - - - - Summary description for PropertiesCollection. - - - - - Wraps a reference that is passed - ByRef and provides indirect load/store support. - - - - - Summary description for NewArrayExpression. - - - - - - - - - Provides appropriate Stind.X opcode - for the type of primitive value to be stored indirectly. - - - - - Initializes a new instance of the class. - - The name. - Type declaring the original event being overriten, or null. - - The add method. - The remove method. - The attributes. - - - - Represents the scope of uniquenes of names for types and their members - - - - - Gets a unique name based on - - Name suggested by the caller - Unique name based on . - - Implementers should provide name as closely resembling as possible. - Generally if no collision occurs it is suggested to return suggested name, otherwise append sequential suffix. - Implementers must return deterministic names, that is when is called twice - with the same suggested name, the same returned name should be provided each time. Non-deterministic return - values, like appending random suffices will break serialization of proxies. - - - - - Returns new, disposable naming scope. It is responsibilty of the caller to make sure that no naming collision - with enclosing scope, or other subscopes is possible. - - New naming scope. - - - - Returns the methods implemented by a type. Use this instead of Type.GetMethods() to work around a CLR issue - where duplicate MethodInfos are returned by Type.GetMethods() after a token of a generic type's method was loaded. - - - - - Determines whether the specified method is internal. - - The method. - - true if the specified method is internal; otherwise, false. - - - - - Determines whether this assembly has internals visible to dynamic proxy. - - The assembly to inspect. - - - - Checks if the method is public or protected. - - - - - - - Because we need to cache the types based on the mixed in mixins, we do the following here: - - Get all the mixin interfaces - - Sort them by full name - - Return them by position - - The idea is to have reproducible behavior for the case that mixins are registered in different orders. - This method is here because it is required - - - - - Summary description for ModuleScope. - - - - - The default file name used when the assembly is saved using . - - - - - The default assembly (simple) name used for the assemblies generated by a instance. - - - - - Initializes a new instance of the class; assemblies created by this instance will not be saved. - - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved. - - If set to true saves the generated module. - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved and what simple names are to be assigned to them. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - The simple name of the strong-named assembly generated by this . - The path and file name of the manifest module of the strong-named assembly generated by this . - The simple name of the weak-named assembly generated by this . - The path and file name of the manifest module of the weak-named assembly generated by this . - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved and what simple names are to be assigned to them. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - Naming scope used to provide unique names to generated types and their members (usually via sub-scopes). - The simple name of the strong-named assembly generated by this . - The path and file name of the manifest module of the strong-named assembly generated by this . - The simple name of the weak-named assembly generated by this . - The path and file name of the manifest module of the weak-named assembly generated by this . - - - - Returns a type from this scope's type cache, or null if the key cannot be found. - - The key to be looked up in the cache. - The type from this scope's type cache matching the key, or null if the key cannot be found - - - - Registers a type in this scope's type cache. - - The key to be associated with the type. - The type to be stored in the cache. - - - - Gets the key pair used to sign the strong-named assembly generated by this . - - - - - - Gets the specified module generated by this scope, creating a new one if none has yet been generated. - - If set to true, a strong-named module is returned; otherwise, a weak-named module is returned. - A strong-named or weak-named module generated by this scope, as specified by the parameter. - - - - Gets the strong-named module generated by this scope, creating a new one if none has yet been generated. - - A strong-named module generated by this scope. - - - - Gets the weak-named module generated by this scope, creating a new one if none has yet been generated. - - A weak-named module generated by this scope. - - - - Users of this should use this lock when accessing the cache. - - - - - Gets the strong-named module generated by this scope, or if none has yet been generated. - - The strong-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the strongly named module generated by this scope. - - The file name of the strongly named module generated by this scope. - - - - Gets the weak-named module generated by this scope, or if none has yet been generated. - - The weak-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the weakly named module generated by this scope. - - The file name of the weakly named module generated by this scope. - - - - Initializes a new instance of the class. - - The hook. - - - - Initializes a new instance of the class. - - - - - Provides proxy objects for classes and interfaces. - - - - - Initializes a new instance of the class. - - Proxy types builder. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - If true forces all types to be generated into an unsigned module. - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - Object proxying calls to members of on object. - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates the proxy type for class proxy with given class, implementing given and using provided . - - The base class for proxy type. - The interfaces that proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy with target for given interface, implementing given on given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - Actual type that the proxy type will encompass. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy with target interface for given interface, implementing given on given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy without target for given interface, implementing given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Gets or sets the that this log to. - - - - - Gets the proxy builder instance used to generate proxy types. - - The proxy builder. - - - - The silverlight System.Type is missing the IsNested property so this exposes similar functionality. - - - - - - - Holds objects representing methods of class. - - - - - Provides an extension point that allows proxies to choose specific interceptors on - a per method basis. - - - - - Selects the interceptors that should intercept calls to the given . - - The type declaring the method to intercept. - The method that will be intercepted. - All interceptors registered with the proxy. - An array of interceptors to invoke upon calling the . - - This method is called only once per proxy instance, upon the first call to the - . Either an empty array or null are valid return values to indicate - that no interceptor should intercept calls to the method. Although it is not advised, it is - legal to return other implementations than these provided in - . - - - - - Creates a new lock. - - - - - - This interface should be implemented by classes - that are available in a bigger context, exposing - the container to different areas in the same application. - - For example, in Web application, the (global) HttpApplication - subclasses should implement this interface to expose - the configured container - - - - - - Exposes means to change target objects of proxies and invocations - - - - - Changes the target object () of current . - - The new value of target of invocation. - - Although the method takes the actual instance must be of type assignable to , otherwise an will be thrown. - Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. - In this case last interceptor in the pipeline mustn't call or a will be throws. - Also while it's technically legal to pass proxy itself as , this would create stack overflow. - In this case last interceptor in the pipeline mustn't call or a will be throws. - - Thrown when is not assignable to the proxied type. - - - - Permanently changes the target object of the proxy. This does not affect target of the current invocation. - - The new value of target of the proxy. - - Although the method takes the actual instance must be of type assignable to proxy's target type, otherwise an will be thrown. - Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. - In this case last interceptor in the pipeline mustn't call or a will be throws. - Also while it's technically legal to pass proxy itself as , this would create stack overflow. - In this case last interceptor in the pipeline mustn't call or a will be throws. - - Thrown when is not assignable to the proxied type. - - - - New interface that is going to be used by DynamicProxy 2 - - - - - Get the proxy target (note that null is a valid target!) - - - - - - Gets the interceptors for the proxy - - - - - - Defines that the implementation wants a - in order to - access other components. The creator must be aware - that the component might (or might not) implement - the interface. - - - Used by Castle Project components to, for example, - gather logging factories - - - - - Increments IServiceProvider with a generic service resolution operation. - - - - - Provides a factory that can produce either or - classes. - - - - - Manages the instantiation of s. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Gets the configuration file. - - i.e. log4net.config - - - - - Interface for Context Properties implementations - - - - This interface defines a basic property get set accessor. - - - Based on the ContextPropertiesBase of log4net, by Nicko Cadell. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - Gets the configuration file. - - i.e. log4net.config - - - - - NullLogFactory used when logging is turned off. - - - - - Creates an instance of ILogger with the specified name. - - Name. - - - - - Creates an instance of ILogger with the specified name and LoggerLevel. - - Name. - Level. - - - - - Provides an interface that supports and - allows the storage and retrieval of Contexts. These are supported in - both log4net and NLog. - - - - - Manages logging. - - - This is a facade for the different logging subsystems. - It offers a simplified interface that follows IOC patterns - and a simplified priority/level/severity abstraction. - - - - - Create a new child logger. - The name of the child logger is [current-loggers-name].[passed-in-name] - - The Subname of this logger. - The New ILogger instance. - If the name has an empty element name. - - - - Logs a debug message. - - The message to log - - - - Logs a debug message with lazily constructed message. The message will be constructed only if the is true. - - - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The message to log - - - - Logs an error message with lazily constructed message. The message will be constructed only if the is true. - - - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message with lazily constructed message. The message will be constructed only if the is true. - - - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The message to log - - - - Logs a info message with lazily constructed message. The message will be constructed only if the is true. - - - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The message to log - - - - Logs a warn message with lazily constructed message. The message will be constructed only if the is true. - - - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Determines if messages of priority "debug" will be logged. - - True if "debug" messages will be logged. - - - - Determines if messages of priority "error" will be logged. - - True if "error" messages will be logged. - - - - Determines if messages of priority "fatal" will be logged. - - True if "fatal" messages will be logged. - - - - Determines if messages of priority "info" will be logged. - - True if "info" messages will be logged. - - - - Determines if messages of priority "warn" will be logged. - - True if "warn" messages will be logged. - - - - Exposes the Global Context of the extended logger. - - - - - Exposes the Thread Context of the extended logger. - - - - - Exposes the Thread Stack of the extended logger. - - - - - The Logger sending everything to the standard output streams. - This is mainly for the cases when you have a utility that - does not have a logger to supply. - - - - - The Level Filtered Logger class. This is a base clase which - provides a LogLevel attribute and reroutes all functions into - one Log method. - - - - - Creates a new LevelFilteredLogger. - - - - - Logs a debug message. - - The message to log - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The message to log - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The message to log - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The message to log - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Implementors output the log content by implementing this method only. - Note that exception can be null - - - - - - - - - The LoggerLevel that this logger - will be using. Defaults to LoggerLevel.Off - - - - - The name that this logger will be using. - Defaults to String.Empty - - - - - Determines if messages of priority "debug" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "info" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "warn" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "error" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "fatal" will be logged. - - true if log level flags include the bit - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug and the Name - set to String.Empty. - - - - - Creates a new ConsoleLogger with the Name - set to String.Empty. - - The logs Level. - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug. - - The logs Name. - - - - Creates a new ConsoleLogger. - - The logs Name. - The logs Level. - - - - A Common method to log. - - The level of logging - The name of the logger - The Message - The Exception - - - - Returns a new ConsoleLogger with the name - added after this loggers name, with a dot in between. - - The added hierarchical name. - A new ConsoleLogger. - - - - The Null Logger class. This is useful for implementations where you need - to provide a logger to a utility class, but do not want any output from it. - It also helps when you have a utility that does not have a logger to supply. - - - - - Returns this NullLogger. - - Ignored - This ILogger instance. - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - Returns empty context properties. - - - - - Returns empty context properties. - - - - - Returns empty context stacks. - - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - The Stream Logger class. This class can stream log information - to any stream, it is suitable for storing a log file to disk, - or to a MemoryStream for testing your components. - - - This logger is not thread safe. - - - - - Creates a new StreamLogger with default encoding - and buffer size. Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - - - Creates a new StreamLogger with default buffer size. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - - - Creates a new StreamLogger. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - The buffer size that will be used for this stream. - - - - - - Creates a new StreamLogger with - Debug as default Level. - - The name of the log. - The StreamWriter the log will write to. - - - - This is an abstract implementation - that deals with methods that can be abstracted away - from underlying implementations. - - - AbstractConfiguration makes easier to implementers - to create a new version of - - - - - is a interface encapsulating a configuration node - used to retrieve configuration values. - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the conversion fails. - - The Value converted into the specified type. - - - - Gets the name of the node. - - - The Name of the node. - - - - - Gets the value of the node. - - - The Value of the node. - - - - - Gets an of - elements containing all node children. - - The Collection of child nodes. - - - - Gets an of the configuration attributes. - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the conversion fails. - - The Value converted into the specified type. - - - - Gets node attributes. - - - All attributes of the node. - - - - - Gets all child nodes. - - The of child nodes. - - - - Gets the name of the . - - - The Name of the . - - - - - Gets the value of . - - - The Value of the . - - - - - A collection of objects. - - - - - Creates a new instance of ConfigurationCollection. - - - - - Creates a new instance of ConfigurationCollection. - - - - - Summary description for MutableConfiguration. - - - - - Initializes a new instance of the class. - - The name. - - - - Gets the value of . - - - The Value of the . - - - - - General purpose class to represent a standard pair of values. - - Type of the first value - Type of the second value - - - - Constructs a pair with its values - - - - - - - List of utility methods related to dynamic proxy operations - - - - - Determines whether the specified type is a proxy generated by - DynamicProxy (1 or 2). - - The type. - - true if it is a proxy; otherwise, false. - - - - - Readonly implementation of which uses an anonymous object as its source. Uses names of properties as keys, and property values as... well - values. Keys are not case sensitive. - - - - - Initializes a new instance of the class. - - The target. - - - - Adds an element with the provided key and value to the object. - - The to use as the key of the element to add. - The to use as the value of the element to add. - - is null. - An element with the same key already exists in the object. - The is read-only.-or- The has a fixed size. - - - - Removes all elements from the object. - - The object is read-only. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - - is null. - - - - Removes the element with the specified key from the object. - - The key of the element to remove. - - is null. - The object is read-only.-or- The has a fixed size. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Copies the elements of the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is null. - - is less than zero. - - is multidimensional.-or- 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 type of the source cannot be cast automatically to the type of the destination . - - - - Returns an object for the object. - - - An object for the object. - - - - - Reads values of properties from and inserts them into using property names as keys. - - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Gets a value indicating whether access to the is synchronized (thread safe). - - - true if access to the is synchronized (thread safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - Gets a value indicating whether the object is read-only. - - - true if the object is read-only; otherwise, false. - - - - Gets or sets the with the specified key. - - - - - - Gets an object containing the keys of the object. - - - An object containing the keys of the object. - - - - Gets an object containing the values in the object. - - - An object containing the values in the object. - - - - Gets a value indicating whether the object has a fixed size. - - - true if the object has a fixed size; otherwise, false. - - - - Represents a 'streamable' resource. Can - be a file, a resource in an assembly. - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - - - Returns an instance of - created according to the relativePath - using itself as the root. - - - - - - - - - - Only valid for resources that - can be obtained through relative paths - - - - - - - - - - This returns a new stream instance each time it is called. - It is the responsibility of the caller to dispose of this stream - - - - - Depicts the contract for resource factories. - - - - - Used to check whether the resource factory - is able to deal with the given resource - identifier. - - - Implementors should return true - only if the given identifier is supported - by the resource factory - - - - - - - Creates an instance - for the given resource identifier - - - - - - - Creates an instance - for the given resource identifier - - - - - - - - - - - - - Adapts a static string content as an - - - - - Enable access to files on network shares - - - - diff --git a/packages/Castle.Core.3.2.0/lib/sl5/Castle.Core.dll b/packages/Castle.Core.3.2.0/lib/sl5/Castle.Core.dll deleted file mode 100644 index e1e42a7..0000000 Binary files a/packages/Castle.Core.3.2.0/lib/sl5/Castle.Core.dll and /dev/null differ diff --git a/packages/Castle.Core.3.2.0/lib/sl5/Castle.Core.xml b/packages/Castle.Core.3.2.0/lib/sl5/Castle.Core.xml deleted file mode 100644 index 766410f..0000000 --- a/packages/Castle.Core.3.2.0/lib/sl5/Castle.Core.xml +++ /dev/null @@ -1,4223 +0,0 @@ - - - - Castle.Core - - - - - Specifies assignment by reference rather than by copying. - - - - - Suppresses any on-demand behaviors. - - - - - Removes a property if null or empty string, guid or collection. - - - - - Removes a property if matches value. - - - - - Assigns a specific dictionary key. - - - - - Defines the contract for customizing dictionary access. - - - - - Copies the dictionary behavior. - - null if should not be copied. Otherwise copy. - - - - Determines relative order to apply related behaviors. - - - - - Defines the contract for updating dictionary values. - - - - - Sets the stored dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if the property should be stored. - - - - Contract for value matching. - - - - - Indicates that underlying values are changeable and should not be cached. - - - - - Contract for dictionary initialization. - - - - - Performs any initialization of the - - The dictionary adapter. - The dictionary behaviors. - - - - Abstract implementation of . - - - - - Conract for traversing a . - - - - - Contract for creating additional Dictionary adapters. - - - - - Contract for manipulating the Dictionary adapter. - - - - - Contract for editing the Dictionary adapter. - - - - - Contract for managing Dictionary adapter notifications. - - - - - Contract for validating Dictionary adapter. - - - - - Defines the contract for building s. - - - - - Builds the dictionary behaviors. - - - - - - Abstract adapter for the support - needed by the - - - - - Adds an element with the provided key and value to the object. - - The to use as the key of the element to add. - The to use as the value of the element to add. - An element with the same key already exists in the object. - key is null. - The is read-only.-or- The has a fixed size. - - - - Removes all elements from the object. - - The object is read-only. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - key is null. - - - - Returns an object for the object. - - - An object for the object. - - - - - Removes the element with the specified key from the object. - - The key of the element to remove. - The object is read-only.-or- The has a fixed size. - key is null. - - - - Copies the elements of the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in array at which copying begins. - array is null. - The type of the source cannot be cast automatically to the type of the destination array. - index is less than zero. - array is multidimensional.-or- index is equal to or greater than the length of array.-or- The number of elements in the source is greater than the available space from index to the end of the destination array. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Gets a value indicating whether the object has a fixed size. - - - true if the object has a fixed size; otherwise, false. - - - - Gets a value indicating whether the object is read-only. - - - true if the object is read-only; otherwise, false. - - - - Gets an object containing the keys of the object. - - - An object containing the keys of the object. - - - - Gets an object containing the values in the object. - - - An object containing the values in the object. - - - - Gets or sets the with the specified key. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Gets a value indicating whether access to the is synchronized (thread safe). - - - true if access to the is synchronized (thread safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - Checks whether or not collection is null or empty. Assumes colleciton can be safely enumerated multiple times. - - - - - - - Constant to use when making assembly internals visible to Castle.Core - [assembly: InternalsVisibleTo(CoreInternalsVisible.ToCastleCore)] - - - - - Constant to use when making assembly internals visible to proxy types generated by DynamicProxy. Required when proxying internal types. - [assembly: InternalsVisibleTo(CoreInternalsVisible.ToDynamicProxyGenAssembly2)] - - - - - Identifies a property should be represented as a nested component. - - - - - Defines the contract for building typed dictionary keys. - - - - - Builds the specified key. - - The dictionary adapter. - The current key. - The property. - The updated key - - - - Defines the contract for retrieving dictionary values. - - - - - Gets the effective dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if return only existing. - The effective property value. - - - - Applies no prefix. - - - - - Gets or sets the prefix. - - The prefix. - - - - Identifies the dictionary adapter types. - - - - - Identifies an interface or property to be pre-fetched. - - - - - Instructs fetching to occur. - - - - - Instructs fetching according to - - - - - - Gets whether or not fetching should occur. - - - - - Assigns a property to a group. - - - - - Constructs a group assignment. - - The group name. - - - - Constructs a group assignment. - - The group name. - - - - Gets the group the property is assigned to. - - - - - Assigns a specific dictionary key. - - - - - Initializes a new instance of the class. - - The key. - - - - Initializes a new instance of the class. - - The compound key. - - - - Assigns a prefix to the keyed properties of an interface. - - - Key prefixes are not inherited by sub-interfaces. - - - - - Initializes a default instance of the class. - - - - - Initializes a new instance of the class. - - The prefix for the keyed properties of the interface. - - - - Gets the prefix key added to the properties of the interface. - - - - - Substitutes part of key with another string. - - - - - Initializes a new instance of the class. - - The old value. - The new value. - - - - Requests support for multi-level editing. - - - - - Generates a new GUID on demand. - - - - - Support for on-demand value resolution. - - - - - Provides simple string formatting from existing properties. - - - - - Gets the string format. - - - - - Gets the format properties. - - - - - Identifies a property should be represented as a delimited string value. - - - - - Gets the separator. - - - - - Converts all properties to strings. - - - - - Gets or sets the format. - - The format. - - - - Suppress property change notifications. - - - - - Contract for property descriptor initialization. - - - - - Performs any initialization of the - - The property descriptor. - The property behaviors. - - - - Assigns a prefix to the keyed properties using the interface name. - - - - - Manages conversion between property values. - - - - - Initializes a new instance of the class. - - The converter. - - - - Gets the effective dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if return only existing. - The effective property value. - - - - - - - - - Uses Reflection.Emit to expose the properties of a dictionary - through a dynamic implementation of a typed interface. - - - - - Defines the contract for building typed dictionary adapters. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - The property descriptor. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets the associated with the type. - - The typed interface. - The adapter meta-data. - - - - Gets the associated with the type. - - The typed interface. - The property descriptor. - The adapter meta-data. - - - - Gets the associated with the type. - - The typed interface. - Another from which to copy behaviors. - The adapter meta-data. - - - - - - - - - - - - - - - - - - - - - - - - - - - - Contract for dictionary meta-data initialization. - - - - - Initializes the given object. - - The dictionary adapter factory. - The dictionary adapter meta. - - - - - Determines whether the given behavior should be included in a new - object. - - A dictionary behavior or annotation. - True if the behavior should be included; otherwise, false. - - behaviors are always included, - regardless of the result of this method. - - - - - - Contract for dictionary validation. - - - - - Determines if is valid. - - The dictionary adapter. - true if valid. - - - - Validates the . - - The dictionary adapter. - The error summary information. - - - - Validates the for a property. - - The dictionary adapter. - The property to validate. - The property summary information. - - - - Invalidates any results cached by the validator. - - The dictionary adapter. - - - - Describes a dictionary property. - - - - - Initializes an empty class. - - - - - Initializes a new instance of the class. - - The property. - The annotations. - - - - Initializes a new instance class. - - - - - Copies an existinginstance of the class. - - - - - - - Gets the key. - - The dictionary adapter. - The key. - The descriptor. - - - - - Gets the property value. - - The dictionary adapter. - The key. - The stored value. - The descriptor. - true if return only existing. - - - - - Sets the property value. - - The dictionary adapter. - The key. - The value. - The descriptor. - - - - - Adds a single behavior. - - The behavior. - - - - Adds the behaviors. - - The behaviors. - - - - Adds the behaviors. - - The behaviors. - - - - Copies the behaviors to the other - - - - - - - Copies the - - - - - - - - - - - Gets the property name. - - - - - Gets the property type. - - - - - Gets the property. - - The property. - - - - Returns true if the property is dynamic. - - - - - Gets additional state. - - - - - Determines if property should be fetched. - - - - - Determines if property must exist first. - - - - - Determines if notifications should occur. - - - - - Gets the property behaviors. - - - - - Gets the type converter. - - The type converter. - - - - Gets the extended properties. - - - - - Gets the setter. - - The setter. - - - - Gets the key builders. - - The key builders. - - - - Gets the setter. - - The setter. - - - - Gets the getter. - - The getter. - - - - Gets the initializers. - - The initializers. - - - - Gets the meta-data initializers. - - The meta-data initializers. - - - - Helper class for retrieving attributes. - - - - - Gets the attribute. - - The member. - The member attribute. - - - - Gets the attributes. Does not consider inherited attributes! - - The member. - The member attributes. - - - - Gets the type attribute. - - The type. - The type attribute. - - - - Gets the type attributes. - - The type. - The type attributes. - - - - Gets the type converter. - - The member. - - - - - Gets the attribute. - - The member. - The member attribute. - - - - Contract for typed dynamic value resolution. - - - - - - Contract for dynamic value resolution. - - - - - Supporting Logger levels. - - - - - Logging will be off - - - - - Fatal logging level - - - - - Error logging level - - - - - Warn logging level - - - - - Info logging level - - - - - Debug logging level - - - - - Encapsulates an invocation of a proxied method. - - - - - Gets the value of the argument at the specified . - - The index. - The value of the argument at the specified . - - - - Returns the concrete instantiation of the on the proxy, with any generic - parameters bound to real types. - - - The concrete instantiation of the on the proxy, or the if - not a generic method. - - - Can be slower than calling . - - - - - Returns the concrete instantiation of , with any - generic parameters bound to real types. - For interface proxies, this will point to the on the target class. - - The concrete instantiation of , or - if not a generic method. - - In debug builds this can be slower than calling . - - - - - Proceeds the call to the next interceptor in line, and ultimately to the target method. - - - Since interface proxies without a target don't have the target implementation to proceed to, - it is important, that the last interceptor does not call this method, otherwise a - will be thrown. - - - - - Overrides the value of an argument at the given with the - new provided. - - - This method accepts an , however the value provided must be compatible - with the type of the argument defined on the method, otherwise an exception will be thrown. - - The index of the argument to override. - The new value for the argument. - - - - Gets the arguments that the has been invoked with. - - The arguments the method was invoked with. - - - - Gets the generic arguments of the method. - - The generic arguments, or null if not a generic method. - - - - Gets the object on which the invocation is performed. This is different from proxy object - because most of the time this will be the proxy target object. - - - The invocation target. - - - - Gets the representing the method being invoked on the proxy. - - The representing the method being invoked. - - - - For interface proxies, this will point to the on the target class. - - The method invocation target. - - - - Gets the proxy object on which the intercepted method is invoked. - - Proxy object on which the intercepted method is invoked. - - - - Gets or sets the return value of the method. - - The return value of the method. - - - - Gets the type of the target object for the intercepted method. - - The type of the target object. - - - - Used during the target type inspection process. Implementors have a chance to customize the - proxy generation process. - - - - - Invoked by the generation process to notify that the whole process has completed. - - - - - Invoked by the generation process to notify that a member was not marked as virtual. - - The type which declares the non-virtual member. - The non-virtual member. - - This method gives an opportunity to inspect any non-proxyable member of a type that has - been requested to be proxied, and if appropriate - throw an exception to notify the caller. - - - - - Invoked by the generation process to determine if the specified method should be proxied. - - The type which declares the given method. - The method to inspect. - True if the given method should be proxied; false otherwise. - - - - Interface describing elements composing generated type - - - - - Performs some basic screening and invokes the - to select methods. - - - - - - - - - Provides functionality for disassembling instances of attributes to CustomAttributeBuilder form, during the process of emiting new types by Dynamic Proxy. - - - - - Disassembles given attribute instance back to corresponding CustomAttributeBuilder. - - An instance of attribute to disassemble - corresponding 1 to 1 to given attribute instance, or null reference. - - Implementers should return that corresponds to given attribute instance 1 to 1, - that is after calling specified constructor with specified arguments, and setting specified properties and fields with values specified - we should be able to get an attribute instance identical to the one passed in . Implementer can return null - if it wishes to opt out of replicating the attribute. Notice however, that for some cases, like attributes passed explicitly by the user - it is illegal to return null, and doing so will result in exception. - - - - - Handles error during disassembly process - - Type of the attribute being disassembled - Exception thrown during the process - usually null, or (re)throws the exception - - - - Here we try to match a constructor argument to its value. - Since we can't get the values from the assembly, we use some heuristics to get it. - a/ we first try to match all the properties on the attributes by name (case insensitive) to the argument - b/ if we fail we try to match them by property type, with some smarts about convertions (i,e: can use Guid for string). - - - - - We have the following rules here. - Try to find a matching type, failing that, if the parameter is string, get the first property (under the assumption that - we can convert it. - - - - - Attributes can only accept simple types, so we return null for null, - if the value is passed as string we call to string (should help with converting), - otherwise, we use the value as is (enums, integer, etc). - - - - - Returns list of all unique interfaces implemented given types, including their base interfaces. - - - - - - - Base class that exposes the common functionalities - to proxy generation. - - - - - It is safe to add mapping (no mapping for the interface exists) - - - - - - - - Generates a parameters constructor that initializes the proxy - state with just to make it non-null. - - This constructor is important to allow proxies to be XML serializable - - - - - - Generates the constructor for the class that extends - - - - - - - - - Default implementation of interface producing in-memory proxy assemblies. - - - - - Abstracts the implementation of proxy type construction. - - - - - Creates a proxy type for given , implementing , using provided. - - The class type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified class and interfaces. - Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type that proxies calls to members on , implementing , using provided. - - The interface type to proxy. - Additional interface types to proxy. - Type implementing on which calls to the interface members should be intercepted. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface that 'proceeds' executions to the specified target. - Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given and that delegates all calls to the provided interceptors and allows interceptors to switch the actual target of invocation. - - The interface type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface(s) that delegate all executions to the specified interceptors - and uses an instance of the interface as their targets (i.e. ), rather than a class. All classes should then implement interface, - to allow interceptors to switch invocation target with instance of another type implementing called interface. - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given that delegates all calls to the provided interceptors. - - The interface type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface and additional interfaces that delegate all executions to the specified interceptors. - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Gets or sets the that this logs to. - - - - - Gets the associated with this builder. - - The module scope associated with this builder. - - - - Initializes a new instance of the class with new . - - - - - Initializes a new instance of the class. - - The module scope for generated proxy types. - - - - Registers custom disassembler to handle disassembly of specified type of attributes. - - Type of attributes to handle - Disassembler converting existing instances of Attributes to CustomAttributeBuilders - - When disassembling an attribute Dynamic Proxy will first check if an custom disassembler has been registered to handle attributes of that type, - and if none is found, it'll use the . - - - - - Attributes should be replicated if they are non-inheritable, - but there are some special cases where the attributes means - something to the CLR, where they should be skipped. - - - - - Initializes a new instance of the class. - - Target element. This is either target type or target method for invocation types. - The type of the proxy. This is base type for invocation types. - The interfaces. - The options. - - - - Initializes a new instance of the class. - - Type of the target. - The interfaces. - The options. - - - - s - Provides appropriate Ldc.X opcode for the type of primitive value to be loaded. - - - - - Provides appropriate Ldind.X opcode for - the type of primitive value to be loaded indirectly. - - - - - Emits a load indirect opcode of the appropriate type for a value or object reference. - Pops a pointer off the evaluation stack, dereferences it and loads - a value of the specified type. - - - - - - - Emits a load opcode of the appropriate kind for a constant string or - primitive value. - - - - - - - Emits a load opcode of the appropriate kind for the constant default value of a - type, such as 0 for value types and null for reference types. - - - - - Emits a store indirectopcode of the appropriate type for a value or object reference. - Pops a value of the specified type and a pointer off the evaluation stack, and - stores the value. - - - - - - - Summary description for PropertiesCollection. - - - - - Wraps a reference that is passed - ByRef and provides indirect load/store support. - - - - - Summary description for NewArrayExpression. - - - - - - - - - Provides appropriate Stind.X opcode - for the type of primitive value to be stored indirectly. - - - - - Initializes a new instance of the class. - - The name. - Type declaring the original event being overriten, or null. - - The add method. - The remove method. - The attributes. - - - - Represents the scope of uniquenes of names for types and their members - - - - - Gets a unique name based on - - Name suggested by the caller - Unique name based on . - - Implementers should provide name as closely resembling as possible. - Generally if no collision occurs it is suggested to return suggested name, otherwise append sequential suffix. - Implementers must return deterministic names, that is when is called twice - with the same suggested name, the same returned name should be provided each time. Non-deterministic return - values, like appending random suffices will break serialization of proxies. - - - - - Returns new, disposable naming scope. It is responsibilty of the caller to make sure that no naming collision - with enclosing scope, or other subscopes is possible. - - New naming scope. - - - - Returns the methods implemented by a type. Use this instead of Type.GetMethods() to work around a CLR issue - where duplicate MethodInfos are returned by Type.GetMethods() after a token of a generic type's method was loaded. - - - - - Determines whether the specified method is internal. - - The method. - - true if the specified method is internal; otherwise, false. - - - - - Determines whether this assembly has internals visible to dynamic proxy. - - The assembly to inspect. - - - - Checks if the method is public or protected. - - - - - - - Because we need to cache the types based on the mixed in mixins, we do the following here: - - Get all the mixin interfaces - - Sort them by full name - - Return them by position - - The idea is to have reproducible behavior for the case that mixins are registered in different orders. - This method is here because it is required - - - - - Summary description for ModuleScope. - - - - - The default file name used when the assembly is saved using . - - - - - The default assembly (simple) name used for the assemblies generated by a instance. - - - - - Initializes a new instance of the class; assemblies created by this instance will not be saved. - - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved. - - If set to true saves the generated module. - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved and what simple names are to be assigned to them. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - The simple name of the strong-named assembly generated by this . - The path and file name of the manifest module of the strong-named assembly generated by this . - The simple name of the weak-named assembly generated by this . - The path and file name of the manifest module of the weak-named assembly generated by this . - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved and what simple names are to be assigned to them. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - Naming scope used to provide unique names to generated types and their members (usually via sub-scopes). - The simple name of the strong-named assembly generated by this . - The path and file name of the manifest module of the strong-named assembly generated by this . - The simple name of the weak-named assembly generated by this . - The path and file name of the manifest module of the weak-named assembly generated by this . - - - - Returns a type from this scope's type cache, or null if the key cannot be found. - - The key to be looked up in the cache. - The type from this scope's type cache matching the key, or null if the key cannot be found - - - - Registers a type in this scope's type cache. - - The key to be associated with the type. - The type to be stored in the cache. - - - - Gets the key pair used to sign the strong-named assembly generated by this . - - - - - - Gets the specified module generated by this scope, creating a new one if none has yet been generated. - - If set to true, a strong-named module is returned; otherwise, a weak-named module is returned. - A strong-named or weak-named module generated by this scope, as specified by the parameter. - - - - Gets the strong-named module generated by this scope, creating a new one if none has yet been generated. - - A strong-named module generated by this scope. - - - - Gets the weak-named module generated by this scope, creating a new one if none has yet been generated. - - A weak-named module generated by this scope. - - - - Users of this should use this lock when accessing the cache. - - - - - Gets the strong-named module generated by this scope, or if none has yet been generated. - - The strong-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the strongly named module generated by this scope. - - The file name of the strongly named module generated by this scope. - - - - Gets the weak-named module generated by this scope, or if none has yet been generated. - - The weak-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the weakly named module generated by this scope. - - The file name of the weakly named module generated by this scope. - - - - Initializes a new instance of the class. - - The hook. - - - - Initializes a new instance of the class. - - - - - Provides proxy objects for classes and interfaces. - - - - - Initializes a new instance of the class. - - Proxy types builder. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - If true forces all types to be generated into an unsigned module. - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - Object proxying calls to members of on object. - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates the proxy type for class proxy with given class, implementing given and using provided . - - The base class for proxy type. - The interfaces that proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy with target for given interface, implementing given on given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - Actual type that the proxy type will encompass. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy with target interface for given interface, implementing given on given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy without target for given interface, implementing given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Gets or sets the that this log to. - - - - - Gets the proxy builder instance used to generate proxy types. - - The proxy builder. - - - - The silverlight System.Type is missing the IsNested property so this exposes similar functionality. - - - - - - - Holds objects representing methods of class. - - - - - Provides an extension point that allows proxies to choose specific interceptors on - a per method basis. - - - - - Selects the interceptors that should intercept calls to the given . - - The type declaring the method to intercept. - The method that will be intercepted. - All interceptors registered with the proxy. - An array of interceptors to invoke upon calling the . - - This method is called only once per proxy instance, upon the first call to the - . Either an empty array or null are valid return values to indicate - that no interceptor should intercept calls to the method. Although it is not advised, it is - legal to return other implementations than these provided in - . - - - - - Creates a new lock. - - - - - - This interface should be implemented by classes - that are available in a bigger context, exposing - the container to different areas in the same application. - - For example, in Web application, the (global) HttpApplication - subclasses should implement this interface to expose - the configured container - - - - - - Exposes means to change target objects of proxies and invocations - - - - - Changes the target object () of current . - - The new value of target of invocation. - - Although the method takes the actual instance must be of type assignable to , otherwise an will be thrown. - Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. - In this case last interceptor in the pipeline mustn't call or a will be throws. - Also while it's technically legal to pass proxy itself as , this would create stack overflow. - In this case last interceptor in the pipeline mustn't call or a will be throws. - - Thrown when is not assignable to the proxied type. - - - - Permanently changes the target object of the proxy. This does not affect target of the current invocation. - - The new value of target of the proxy. - - Although the method takes the actual instance must be of type assignable to proxy's target type, otherwise an will be thrown. - Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. - In this case last interceptor in the pipeline mustn't call or a will be throws. - Also while it's technically legal to pass proxy itself as , this would create stack overflow. - In this case last interceptor in the pipeline mustn't call or a will be throws. - - Thrown when is not assignable to the proxied type. - - - - New interface that is going to be used by DynamicProxy 2 - - - - - Get the proxy target (note that null is a valid target!) - - - - - - Gets the interceptors for the proxy - - - - - - Defines that the implementation wants a - in order to - access other components. The creator must be aware - that the component might (or might not) implement - the interface. - - - Used by Castle Project components to, for example, - gather logging factories - - - - - Increments IServiceProvider with a generic service resolution operation. - - - - - Provides a factory that can produce either or - classes. - - - - - Manages the instantiation of s. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Gets the configuration file. - - i.e. log4net.config - - - - - Interface for Context Properties implementations - - - - This interface defines a basic property get set accessor. - - - Based on the ContextPropertiesBase of log4net, by Nicko Cadell. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - Gets the configuration file. - - i.e. log4net.config - - - - - NullLogFactory used when logging is turned off. - - - - - Creates an instance of ILogger with the specified name. - - Name. - - - - - Creates an instance of ILogger with the specified name and LoggerLevel. - - Name. - Level. - - - - - Provides an interface that supports and - allows the storage and retrieval of Contexts. These are supported in - both log4net and NLog. - - - - - Manages logging. - - - This is a facade for the different logging subsystems. - It offers a simplified interface that follows IOC patterns - and a simplified priority/level/severity abstraction. - - - - - Create a new child logger. - The name of the child logger is [current-loggers-name].[passed-in-name] - - The Subname of this logger. - The New ILogger instance. - If the name has an empty element name. - - - - Logs a debug message. - - The message to log - - - - Logs a debug message with lazily constructed message. The message will be constructed only if the is true. - - - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The message to log - - - - Logs an error message with lazily constructed message. The message will be constructed only if the is true. - - - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message with lazily constructed message. The message will be constructed only if the is true. - - - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The message to log - - - - Logs a info message with lazily constructed message. The message will be constructed only if the is true. - - - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The message to log - - - - Logs a warn message with lazily constructed message. The message will be constructed only if the is true. - - - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Determines if messages of priority "debug" will be logged. - - True if "debug" messages will be logged. - - - - Determines if messages of priority "error" will be logged. - - True if "error" messages will be logged. - - - - Determines if messages of priority "fatal" will be logged. - - True if "fatal" messages will be logged. - - - - Determines if messages of priority "info" will be logged. - - True if "info" messages will be logged. - - - - Determines if messages of priority "warn" will be logged. - - True if "warn" messages will be logged. - - - - Exposes the Global Context of the extended logger. - - - - - Exposes the Thread Context of the extended logger. - - - - - Exposes the Thread Stack of the extended logger. - - - - - The Logger sending everything to the standard output streams. - This is mainly for the cases when you have a utility that - does not have a logger to supply. - - - - - The Level Filtered Logger class. This is a base clase which - provides a LogLevel attribute and reroutes all functions into - one Log method. - - - - - Creates a new LevelFilteredLogger. - - - - - Logs a debug message. - - The message to log - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The message to log - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The message to log - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The message to log - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Implementors output the log content by implementing this method only. - Note that exception can be null - - - - - - - - - The LoggerLevel that this logger - will be using. Defaults to LoggerLevel.Off - - - - - The name that this logger will be using. - Defaults to String.Empty - - - - - Determines if messages of priority "debug" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "info" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "warn" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "error" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "fatal" will be logged. - - true if log level flags include the bit - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug and the Name - set to String.Empty. - - - - - Creates a new ConsoleLogger with the Name - set to String.Empty. - - The logs Level. - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug. - - The logs Name. - - - - Creates a new ConsoleLogger. - - The logs Name. - The logs Level. - - - - A Common method to log. - - The level of logging - The name of the logger - The Message - The Exception - - - - Returns a new ConsoleLogger with the name - added after this loggers name, with a dot in between. - - The added hierarchical name. - A new ConsoleLogger. - - - - The Null Logger class. This is useful for implementations where you need - to provide a logger to a utility class, but do not want any output from it. - It also helps when you have a utility that does not have a logger to supply. - - - - - Returns this NullLogger. - - Ignored - This ILogger instance. - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - Returns empty context properties. - - - - - Returns empty context properties. - - - - - Returns empty context stacks. - - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - The Stream Logger class. This class can stream log information - to any stream, it is suitable for storing a log file to disk, - or to a MemoryStream for testing your components. - - - This logger is not thread safe. - - - - - Creates a new StreamLogger with default encoding - and buffer size. Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - - - Creates a new StreamLogger with default buffer size. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - - - Creates a new StreamLogger. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - The buffer size that will be used for this stream. - - - - - - Creates a new StreamLogger with - Debug as default Level. - - The name of the log. - The StreamWriter the log will write to. - - - - This is an abstract implementation - that deals with methods that can be abstracted away - from underlying implementations. - - - AbstractConfiguration makes easier to implementers - to create a new version of - - - - - is a interface encapsulating a configuration node - used to retrieve configuration values. - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the conversion fails. - - The Value converted into the specified type. - - - - Gets the name of the node. - - - The Name of the node. - - - - - Gets the value of the node. - - - The Value of the node. - - - - - Gets an of - elements containing all node children. - - The Collection of child nodes. - - - - Gets an of the configuration attributes. - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the conversion fails. - - The Value converted into the specified type. - - - - Gets node attributes. - - - All attributes of the node. - - - - - Gets all child nodes. - - The of child nodes. - - - - Gets the name of the . - - - The Name of the . - - - - - Gets the value of . - - - The Value of the . - - - - - A collection of objects. - - - - - Creates a new instance of ConfigurationCollection. - - - - - Creates a new instance of ConfigurationCollection. - - - - - Summary description for MutableConfiguration. - - - - - Initializes a new instance of the class. - - The name. - - - - Gets the value of . - - - The Value of the . - - - - - General purpose class to represent a standard pair of values. - - Type of the first value - Type of the second value - - - - Constructs a pair with its values - - - - - - - List of utility methods related to dynamic proxy operations - - - - - Determines whether the specified type is a proxy generated by - DynamicProxy (1 or 2). - - The type. - - true if it is a proxy; otherwise, false. - - - - - Readonly implementation of which uses an anonymous object as its source. Uses names of properties as keys, and property values as... well - values. Keys are not case sensitive. - - - - - Initializes a new instance of the class. - - The target. - - - - Adds an element with the provided key and value to the object. - - The to use as the key of the element to add. - The to use as the value of the element to add. - - is null. - An element with the same key already exists in the object. - The is read-only.-or- The has a fixed size. - - - - Removes all elements from the object. - - The object is read-only. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - - is null. - - - - Removes the element with the specified key from the object. - - The key of the element to remove. - - is null. - The object is read-only.-or- The has a fixed size. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Copies the elements of the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is null. - - is less than zero. - - is multidimensional.-or- 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 type of the source cannot be cast automatically to the type of the destination . - - - - Returns an object for the object. - - - An object for the object. - - - - - Reads values of properties from and inserts them into using property names as keys. - - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Gets a value indicating whether access to the is synchronized (thread safe). - - - true if access to the is synchronized (thread safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - Gets a value indicating whether the object is read-only. - - - true if the object is read-only; otherwise, false. - - - - Gets or sets the with the specified key. - - - - - - Gets an object containing the keys of the object. - - - An object containing the keys of the object. - - - - Gets an object containing the values in the object. - - - An object containing the values in the object. - - - - Gets a value indicating whether the object has a fixed size. - - - true if the object has a fixed size; otherwise, false. - - - - Represents a 'streamable' resource. Can - be a file, a resource in an assembly. - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - - - Returns an instance of - created according to the relativePath - using itself as the root. - - - - - - - - - - Only valid for resources that - can be obtained through relative paths - - - - - - - - - - This returns a new stream instance each time it is called. - It is the responsibility of the caller to dispose of this stream - - - - - Depicts the contract for resource factories. - - - - - Used to check whether the resource factory - is able to deal with the given resource - identifier. - - - Implementors should return true - only if the given identifier is supported - by the resource factory - - - - - - - Creates an instance - for the given resource identifier - - - - - - - Creates an instance - for the given resource identifier - - - - - - - - - - - - - Adapts a static string content as an - - - - - Enable access to files on network shares - - - - diff --git a/packages/Castle.Core.3.2.0/readme.txt b/packages/Castle.Core.3.2.0/readme.txt deleted file mode 100644 index 239ae67..0000000 --- a/packages/Castle.Core.3.2.0/readme.txt +++ /dev/null @@ -1,10 +0,0 @@ -Thanks for downloading this Castle package. -You can find full list of changes in changes.txt - -Documentation (work in progress, contributions appreciated): -Dictionary Adapter - http://docs.castleproject.org/Tools.Castle-DictionaryAdapter.ashx -DynamicProxy - http://docs.castleproject.org/Tools.DynamicProxy.ashx -Discusssion group: - http://groups.google.com/group/castle-project-users -StackOverflow tags: - castle-dynamicproxy, castle-dictionaryadapter, castle - -Issue tracker: - http://issues.castleproject.org/dashboard \ No newline at end of file diff --git a/packages/Castle.Windsor.3.2.0/ASL - Apache Software Foundation License.txt b/packages/Castle.Windsor.3.2.0/ASL - Apache Software Foundation License.txt deleted file mode 100644 index 9e90f82..0000000 --- a/packages/Castle.Windsor.3.2.0/ASL - Apache Software Foundation License.txt +++ /dev/null @@ -1,57 +0,0 @@ -Apache License, Version 2.0 - -Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. - -"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: - - 1. You must give any other recipients of the Work or Derivative Works a copy of this License; and - - 2. You must cause any modified files to carry prominent notices stating that You changed the files; and - - 3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and - - 4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. - -You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS diff --git a/packages/Castle.Windsor.3.2.0/BreakingChanges.txt b/packages/Castle.Windsor.3.2.0/BreakingChanges.txt deleted file mode 100644 index 381bbad..0000000 --- a/packages/Castle.Windsor.3.2.0/BreakingChanges.txt +++ /dev/null @@ -1,936 +0,0 @@ -=== version 3.1 -================================================================================================ -change - Windsor will no longer allow components from parent container to have dependencies from - child container when resolving via child container. - Class ParentHandlerWithChildResolver was renamed to ParentHandlerWrapper - -impact - low -fixability - medium - -description - Previously in some cases, when resolving from child container Windsor would allow - component from the parent container to depend on components from a child container. - This would lead to all sorts of problems (child coomponents leaking to parent scope, parent - components being released prematurely when disposing of the child container etc. - Overall this behavior was a mess, and was removed. - See http://issues.castleproject.org/issue/IOC-345 for more details - -fix - If you were depending on the old behavior it is best to restructure your dependencies so - you don't have to have those inverted dependencies. - Since each scenario is different it's best to discuss any questions you may have on the user - group. - -================================================================================================ -change - IHandler.SupportsAssignable(Type) method has been added - -impact - low -fixability - easy - -description - This was added to better support IGenericServiceStrategy on generic handlers when - calling IKernel.GetAssignableHandlers(Type). Now the handler can decide whether it wants to - consider itself assigmable to given service. - -fix - This change affects you only if you're implementing custom IHandler. Implementation is - dependent on your usage and semantics you want to support for this scenario. When in doubt - ask on castle-users-group on Google Groups. - -================================================================================================ -change - System.String, and some other types can no longer be registered as a service - in the container - -impact - low -fixability - easy - -description - This is something that probably should never have made it into the codebase. Now - if you try to register String, a collection of strings or collection of value types Windsor - will throw an ArgumentException and not allow you to do that. - -fix - If you did register those types in the container change them from being components - to being parameters on the components that were depending on them. - -================================================================================================ -change - DependencyModel.IsValueType is renamed to DependencyModel.IsPrimitiveTypeDependency. - -impact - low -fixability - easy - -description - This is part of unification of how types that can not be registered as valid - services are found and treated in Windsor. - Also the property now returns true if TargetItemType is null. Previously it returned false. - -fix - Change usages of IsValueType to IsPrimitiveTypeDependency if you depended on behavior when - TargetItemType is null, you might also need to check its value to preserve the old behavior. - - -=== version 3.0 -================================================================================================ -change - Typed factory using DefaultTypedFactoryComponentSelector when resolving component - by name will not fallback to resolving by type if component with that name can not be found - and will throw an exception instead. - -id - typedFactoryFallbackToResolveByTypeIfNameNotFound -impact - medium -fixability - easy - -description - Original behavior from v2.5 could lead to bugs in cases when named component was - not registered or the name was misspelleed and a wrong component would be picked leading to - potentially severe issues in the application. New version adapts fail-fast approach in those - cases to give dvelopers immediate feedback the configuration is wrong. - -fix - Actual fix depends on which part of the behavior you want: - - If you do care about the fallback behavior, that is get the component by name and if - not present fallback to resolve by type, you can specify it explicitly when registering your - factory: - .AsFactory( - new DefaultTypedFactoryComponentSelector(fallbackToResolveByTypeIfNameNotFound: true)); - - if you don't care about the fallback and what you really want is a 'GetSomeFoo' method - that resolves by type, either rename the method so that its name doesn't start with 'get' - or disable the "'get' methods resolve by name" behavior explicitly when registering your - factory: - .AsFactory(new DefaultTypedFactoryComponentSelector(getMethodsResolveByName: false)) -================================================================================================ -change - Referencing interceptors by type will not work if the interceptor has custom name. - -impact - medium -fixability - easy - -description - We unified how referencing components by type works all across Windsor and that - introduced change for some areas like referencing interceptors. Now referencing component - by type means "component implemented by given type with default name". This is how it worked - for service overrides and is now adapted all across the framework. - -fix - Remove Name (id in XML registration) from the referenced components if you're not using it - or reference the component by its name. -================================================================================================ -change - .Service method on mixing registration has been removed and replaced with .Component. - -impact - low -fixability - easy - -description - The method had misleading name and behavior inconsistent with the rest of Windsor. - As such it's been replaced with .Component method which is more explicit about what argument - passed to it means - -fix - Replace with .Component method: -Container.Register(Component.For() - .ImplementedBy() - .Proxy.MixIns(m => m.Component())); - Notice the new method is behaving consistently with how referencing interceptors and service - overrides works. So you may need to adjust generic argument to point to other component's - implementation type rather than its exposed service. -================================================================================================ -change - Generic overloads of .Insert(this IDictionary dictionary, otherarguments) extension - method have been removed. - -impact - low -fixability - easy - -description - The overload could cause unexpected behavior when the generic parameter was being - inferred, and as such it is removed to make the type always explicit. - -fix - Use overload that specifies type explicitly: - d.Insert(typeof(IFoo), new MyFoo()) instead of d.Insert(new MyFoo()) or new, explicit - d.InsertTyped(new MyFoo()) -================================================================================================ -change - Method object Generate(IProxyBuilder, ProxyGenerationOptions, IInterceptor[]) on type - IProxyFactoryExtension changed signature. - - -impact - low -fixability - easy - -description - To handle new scenarios two additional arguments were introduced: - ComponentModel model and CreationContext context. - -fix - If you were implementing IProxyFactory and calling down to IProxyFactoryExtension pass your - own arguments down to IProxyFactoryExtension. If you're implementing IProxyFactoryExtension - adjust your signature and if that makes sense in your context use the arguments. -================================================================================================ -change - ProxyUtil class was split and part moved to Castle.Core.dll and other was renamed - -impact - low -fixability - easy - -description - ProxyUtil contained logic useful not just in the context of Windsor. As such - it was moved to be part of DynamicProxy and most methods are now part of the other assembly. - The only method specific to Windsor: ObtainProxyOptions was left and is now an extension - method in class ProxyOptionsUtil. - -fix - If you were using ObtainProxyOptions use it either as extension method or update its type - name to ProxyOptionsUtil. Remining methods are now part of ProxyUtil class which was moved - to Castle.DynamicProxy namespaces and lives in Castle.Core.dll -================================================================================================ -change - CreateLifestyleManager method was moved from handlers to IKernelInternal - -impact - low -fixability - easy - -description - That behavior belongs in the kernel. - -fix - You shouldn't be using this method unless you're implementing custom handlers. If you do - call back to the kernel instead of implementing it in yoru handler. -================================================================================================ -change - Removed interface Castle.Core.ILifecycleConcern - -impact - low -fixability - easy - -description - This change was made because with this base interface it was impossible to - implement Castle.Core.ICommisssionConcern and Castle.Core.IDecommissionConcers in single class - Additionaly ILifecycleConcern had no meaning, only the ICommisssionConcern and - IDecommissionConcers have - -fix - If you have code using directly ILifecycleConcern (but what for?) you need to - migrate to either ICommisssionConcern or IDecommissionConcers. For code that use - ICommisssionConcern and IDecommisssionConcern you can recompile it to be extra save, but it - is not required. -================================================================================================ -change - Removed overloads of Configure and ConfigureFor<> methods of the fluent registration - API that had ConfigureDelegate parameter - -impact - high -fixability - easy - -description - This change was made to simplify the API and remove ambiguity in cases where a - private method is used to provide the configuration. - -fix - This change breaks scenarios where a property was being used as the last element of the - chain in the nested deledate, like: - Configure(c => c.LifeStyle.Transient) - This code will no longer compile. To fix it switch to the new methods exposing lifestyle: - Configure(c => c.LifestyleTransient()) or simply:: - LifestyleTransient() -================================================================================================ -change - ITypedFactoryComponentResolver interface was removed and ITypedFactoryComponentSelector - now returns Func from SelectComponent method - -impact - low -fixability - easy - -description - This change was made to simplify coding of advanced custom selectors which means - now only one type needs to be created instead of two and change is much more localized. - -fix - If you were using DefaultTypedFactoryComponentSelector this change does not affect you. - otherwise return delegate pointing to Resolve method of your ITypedFactoryComponentResolver - class or inline it altogether. -================================================================================================ -change - Add() methods on PropertySetCollection and ConstructorCandidateCollection are no longer - publicly accessible - -impact - low -fixability - easy - -description - This change was made to ensure and encapsulate the fact that as constructor or - property dependency is added the dependency is also added to Dependencies collection on - ComponentModel. - -fix - Use new AddProperty or AddConstructor methods respectively. -================================================================================================ -rename - WithService.DefaultInterface() -> WithService.DefaultInterfaces() -description - changed to plural to emphasize more than one interface may be matched. -================================================================================================ -change - ResolveAll methods have now different bahaviour. - -impact - high -fixability - medium - -description - Previously Windsor when ResolveAll was called would try to resolve all components - with implementation type assignable to the type requirested and silently ignore those it - could not resolve. This behavior was introduced before Windsor had ability to support multi - service components and at the time it was the only way to support certain scenarios. - Currently this behavior is no longer required and is indeed leading to issues when dealing - with code that doesn't strictly follow good OOP principles. Also by silently ignoring - unresolvable components it may mask registration issues, that's why it was changed. - -fix - Now ResolveAll() will only resolve components that explicitly expose Foo as their - service. If you were depending on the implicit behavior previously, make sure you add all - types you resolve via this method as service to the desired components. - Also Windsor now will throw exception if any of the components can't be resolved. If you - have a legitimate reason to have unresolvable component use IHandlersFilter to filter that - components out. -================================================================================================ -change - The following methods were removed: - IHandler.AddCustomDependencyValue - IHandler.HasCustomParameter - IHandler.RemoveCustomDependencyValue - IHandler.OnHandlerStateChanged event - IKernelInternal.RaiseHandlerRegistered - IKernelInternal.RaiseHandlersChanged - IKernelInternal.RegisterCustomDependencies (all 4 overloads) - -impact - low -fixability - easy - -description - Those members were remainings from the old era and there's no longer any point in - having them. - -fix - Pass the dependencies directly to the ComponentModel using DependsOn method on the fluent - registration API. The OnHandlerStateChanged event would no longer be raised so there was no - point in keeping it around either. Use HandlersChanged event on kernel instead. -================================================================================================ -change - IReference.Attach and .Detach method have now ComponentModel as their parameter. - -impact - low -fixability - easy - -description - To accomodate changes in DependencyModel and ParameterModel it was required to - have access to both of them hence ComponentModel is being passed as a more generic object - exposing access to all required elements. - -fix - Pass in full ComponentModel, not just it's .Dependencies property. In the reference - use component's properties to do all you require -================================================================================================ -change - IDependencyAwareActivator has new method: bool IsManagedExternally(ComponentModel); - -impact - low -fixability - easy - -description - To implement feature IOC-277 this new customization point was introduced which - allows custom activators to specify whether the instance they activate shoud be managed - by the container. If true is returned this signifies to the container that the component - should not be tracked by the release policy. The activator should in that case also not - invoke any lifecycle steps. Notice that lifestyle manager can override the choice and that - this method will not be called in all cases. - -fix - Implement the method however makes sense to you. By default you should just return false. -================================================================================================ -change - IExposeDependencyInfo.ObtainDependencyDetails method signature has changed - -impact - low -fixability - easy - -description - To move the code for constructing the exception when dependencies are missing - out of handlers and open way for different scenarios a new interface was introduced: - IDependencyInspector and it is now used by IExposeDependencyInfo to provide the same - functionality as before. - -fix - Adjust the calls to the new signature. If you have custom handler type take a look at - how built in handlers are now implemented. -================================================================================================ -change - type attribute is now required and id is ignored in facility XML configuration - -impact - low -fixability - easy - -description - Since type is uniquely identifying facilities there was no point in keeping the id - around anymore. - -fix - This change can affect you in two ways. If you were using facilities node in the XML and - not specifying the type it is now mandatory. Notice Windsor's ability to apply short type - names works here as well, so often just type name is enough - no need to specify assembly - qualified name. Also the assembly will now be instantiated by the container, so if you were - adding it in code later on, this is no longer required (in fact it will throw an exception - saying the assembly was already added). - The other thing that may affect you is if you were looking up facility config namnually via - IConfigurationStore.GetFacilityConfiguration method. It now expects full name of the type - as the key, so you should be calling it like this: - store.GetFacilityConfiguration(typeof(YourFacility).FullName); -================================================================================================ -change - EventWiringFacility, FactorySupportFacility and RemotingFacility are extracted to their - own assemblies - -impact - low -fixability - easy - -description - These facilities are rarely used and two of them (FactorySupportFacility and - RemotingFacility) are mostly considered legacy. As such there's no point in keeping them - in Windsor's assembly, especially in Silverlight version. - -fix - Reference the new assemblies and update your references in XML if you use it. -================================================================================================ -change - Component.For(ComponentModel) overload was removed. - -impact - low -fixability - medium - -description - To simplify internal structure of fluent registration API and bring it more in - line with standard registration the overload was removed. - -fix - If you really need this overload you can create custom IRegistration that exposes this - functionality. Or better rethink why you need it in the first place. -================================================================================================ -change - Adding more than a single facility of any given type is not legal anymore - -impact - none (I hope) -fixability - easy - -description - Doing so is a bug. Why would you do it in the first place? - -fix - Stop doing it. -================================================================================================ -change - RegisterCustomDependencies methods were moved from IKernel to IKernelInternal. - -impact - low -fixability - easy - -description - Those methods are hardly ever used these days so there was no point in polluting - the public API with them - -fix - Are you really using those methods? Perhaps you should be using the fluent API? If not - just cast the kernel to IKernelInternal and you can access them. -================================================================================================ -change - IWindsorContainer.AddFacility and IKernel.AddFacility overloads that were taking - Func were removed. - -impact - low -fixability - easy - -description - Those overloads were only cluttering the API and confusing users. There was no - point in keeping them - -fix - You should not have to fix that at all. C# compiler (in version 3 or higher) should be - smart enough to pick the Action overload automatically if you're using lambda - syntax. If you aren't, please do, or adjust the call to match the Action overload -================================================================================================ -change - IComponentModelBuilder.BuildModel and ComponentModel constructor take ComponenName now - instead of string for 'name' parameter - -impact - low -fixability - easy - -description - Most of the time name given to components is automatically generated and user does - not care what it is and never interacts with it. To be able to tell apart cases when user - did set the name manually, and when it was auto-generated a new type ComponenName has been - introduced which in addition to the name value keeps track of whether the name was provided - by user or autogenerated. - -fix - Update your calls accordingly, creating the ComponentName and passing right values in. - Also in the fluent API the method NamedAutomatically was introduced for use by facilities - and such to register their own components with some name that the user will not care about. -================================================================================================ -change - IConfigurationInterpreter.ProcessResource now takes an additional argument: IKernel - -impact - low -fixability - easy - -description - To accomodate ability not to specify id when configuring components or facilities - in XML config in conjunction with simple type name support in Windsor (this feature that - lets you specify just simple type name like Foo, instead of assembly qualified name like - Acme.Crm.Foo, Acme.Crm) access to conversion subsystem was required and it made sense to - grab entire kernel as some other things could be taken advantage of. - -fix - Pass the kernel in. -================================================================================================ -change - Release policies have now slightly different semantics. - -impact - medium -fixability - medium - -description - To limit unnecessary tracking of components, which unnecessarily consumes memory - and causes contention in multithreaded scenarios the following change was made to release - policy semantics: - - only objects whose decommission is managed by the policy (ie which are released by call to - policy.Release, or indirectly: container.Release) can now be Tracked. This is determined by - the 'RequiresPolicyRelease' flag on Burden. If the flag is not set the policy can throw. - -fix - The change is likely to affect code using custom lifetime managers. It is now up to the - manager to decide if it will release the object itself (then it should pass 'true' to - 'public Burden CreateBurden(bool trackedExternally)' method on CreationContext). Tracking - happens also for objects that require it ('RequiresDecommission' on burden is 'true'). - If lifestyle manager wants to make sure the object will be tracked it can set this flag. - Otherwise it is up to Windsor to decide if it needs to track the object or not. - Another side-effect of the change is that calling 'container.Kernel.ReleasePolicy.HasTrack' - may now return 'false', when it previously would return 'true', if the object does not meet - the criteria mentioned above. If you were using this method, make sure you review your code - that depends on it, and adjust it to the new requirements. The semantics of 'HasTrack' is - 'does the release policy track this object', not 'does anything in the container track it' - anymore. -================================================================================================ -change - IReleasePolicy interface has a new method: IReleasePolicy CreateSubPolicy(); usage of - sub-policies changes how typed factories handle out-of-band-release of components (see - description) - -impact - medium -fixability - easy - -description - This was added as an attempt to enable more fine grained lifetime scoping (mostly - for per-typed-factory right now, but in the future also say - per-window in client app). - As a side-effect of that (and change to release policy behavior described above) it is no - longer possible to release objects resolved via typed factories, using container.Release. - As the objects are now tracked only in the scope of the factory they will be released only - if a call to factory releasing method is made, or when the factory itself is released. - -fix - Method should return new object that exposes the same behavior as the 'parent' usually it - is just best to return object of the same type (as the built-in release policies do). -================================================================================================ -change - IHandler.Release now takes Burden, not object as its parameter. Burden.Release now has - no arguments (used to take IReleasePolicy) - -impact - low -fixability - easy - -description - The method used to take component instance to release. Now it takes Burden which - has some additional information and behavior. Also to decouple Burden from IReleasePolicy - it now uses callback (via Released event) as notification mechanism. - -fix - Adjust calls appropriately -//TODO: expand this with better description once the rest of the changes is in place. -================================================================================================ -change - AllComponentsReleasePolicy was removed, ILifestyleManager.Resolve has different - signature now, and additional responsibilities. - -impact - medium -fixability - medium - -description - Handling of decision regarding tracking is now happening in two steps. First step - happens in the lifestyle manager, which gets to decide if the instance should be tracked - at all (which should be chosen when a new instance is created) and if IReleasePolicy should - own (trigger) the release process. - -fix - If you implement custom lifestyle consult the implementation of standard lifestyles for - examples how to handle each aspect of component lifestyle management. Broadly speaking the - behavior should be the following (*do* inherit from AbstractLifestyleManager for your own - convenience): - - if your lifestyle employs caching, it should cache Burdens, not the objects resolved - directly. Look up its cache, and if you find matching burden return object it manages - (accessed via 'Instance' property) - - on cache miss call base.CreateInstance to obtain new instnace from activator. This method - will not return the managed object directly but rather a Burden instance. The 2nd argument - 'trackedExternally' should be set to true if the lifestyle manager uses some external mecha- - nism to track end of life for components. If not, (when set to true) releasePolicy will take - the responsibility. - - inspect burden's RequiresDecommission property. If its value is true that means either - the intsance obtained or at least one of its dependencies can not be released out of band - and will require to be released explicitly. If the property is set to true you are required - to track the componetn obtained with releasePolicy provided (you can use base.Track method - to acheave that). If the property is false, release policy will ignore the component when - container's Release method is called, and rely on your out of band handling). - - cache your newly obtained instance if needed. - - return the intance, (burden.Instance) -================================================================================================ -rename - CreationContext.Empty -> CreationContext.CreateEmpty() -description - readability change to make it obvious that new instance is created each time. -================================================================================================ -change - IServiceProviderEx was removed as base interface for IWindsorContainer and IKernel - -impact - low -fixability - easy - -description - To make the interface for the container more compact the functionality was - extracted to external class - WindsorServiceProvider. - -fix - Use WindsorServiceProvider instead. -================================================================================================ -rename - INamingSubSystem.GetHandlers -> INamingSubSystem.GetAllHandlers -description - readability change. No affect on behavior -================================================================================================ -change - Removed the following methods: - GraphNode.RemoveDepender, - GraphNode.RemoveDependent, - IKernel.RemoveComponent, - IKernelEvents.ComponentUnregistered, - INamingSubSystem.this[Type service], - INamingSubSystem.GetHandler, - INamingSubSystem.GetService2Handler, - INamingSubSystem.GetKey2Handler, - INamingSubSystem.UnRegister(String key), - INamingSubSystem.UnRegister(Type service) -Also INamingSubSystem.Register now takes only IHandler as its argument - -impact - low -fixability - none - -description - The methods were implementation of "remove component from the container" feature - which was flawed and problematic, hecen was scraped. - -fix - Working around is quite dependant on your specific usage. Try utilizing IHandlerSelectors. - For changed Register method, just update your calling code not to pass the name. - handler.ComponentModel.Name is now used as the key, as it was happening in all places so far - anyway, so this change should have no real impact. -================================================================================================ -change - Removed the following types: ContainerAdapter, ContainerWrapper, IContainerAdapter, - IContainerAdapterSite - -impact - low -fixability - none - -description - These types require ability to remove components from a container. This ability - was removed and since these types are hardly ever used, they were removed as well. - -fix - No quick fix is possible. If you are depending on this functionality proaly your best shot - is to replicate it, espeicially catering for the removal of components which is no longer - available in Windsor. -================================================================================================ -change - Removed ComponentRegistration.If and ComponentRegistration.Until methods, as well as - Component.ServiceAlreadyRegistered method, and replaced their most common usage with - ComponentRegistration.OnlyNewServices method - -impact - medium -fixability - easy/hard - -description - To make the API simpler easier to discover as well as to allow changes in internal - architecture, the aforementioned changes were made. - -fix - Most of the time the removed methods were used in the following combination: - Component.For().Unless(Component.ServiceAlreadyRegistered) - In this case the fix is simple. Just replace the .Unless(Component.ServiceAlreadyRegistered) - with .OnlyNewServices() - If you were using the method in some other way, the fix may be more complicated and depend - on your particular scenario. In those cases it's best to consult Castle users group for - advice on how to proceed. -================================================================================================ -change - Rebuilt how components exposing multiple services are handled internally. This includes - several changes to the API: - ForwardingHandler class and IHandlerFactory.CreateForwarding method were removed. - ComponentModel.Service property was removed replaced with ClassService and InterfaceServices - properties. Also AddService method was added. Constructor's argument for service was changed - to be Type[] instead of single Type. - IHandler.Service property was removed, replaced by Services property. - IComponentModelBuilder.BuildModel method takes now ICollection isntead of single Type - as services. - ComponentRegistration.For(Type serviceType, params Type[] forwaredTypes) method was removed. - ComponentFilter delegate type was removed as no longer needed - -impact - low -fixability - easy - -description - As part of improvement to internal architecture changed how components exposing - more than one service are handled. - -fix - This change should not affect most users, unless extending internals of the container. If - that's the case, adjust your calls to the new signatures, and change code anticipating - ForwardedHandlers to use Services collection from the solve IHnadler for any given component -================================================================================================ -change - Proxies no longer implicitly implement all interfaces of component implementation type. - -impact - medium -fixability - medium - -description - This original behavior was actually a bug and would produce unpredictible behavior - for components exposing several services including their class. - -fix - if you were depending on the additional non-service intrfaces being forwarded to the proxy - specify them explicitly as addtional interfaces to proxy: - container.Register(Component.For() - .Named("a"), - Component.For() - .ImplementedBy() - .Interceptors("a") - .Proxy.AdditionalInterfaces(typeof(ICommon2)) - .LifeStyle.Transient); -================================================================================================ -change - NamingPartsSubSystem, KeySearchNamingSubSystem, ComponentName, BinaryTreeComponentName - and TreeNode types were removed. - -impact - medium -fixability - medium - -description - As part of internal cleanup these esoteric, alternative implementations of naming - subsystem were removed. - -fix - behavior of these implementations of naming subsystem can be easily emulated with default - naming subsystem and custom IHandlerSelectors, which is the recommended way to go. -================================================================================================ -change - UseSingleInterfaceProxy option was removed - -impact - low -fixability - easy - -description - As part of clean up of the obsolete API the option was removed to enable certain - internal changes for the release. - -fix - if you were using this option and you have to use it, use a IProxyGenerationHook impl - and choose to only proxy members of that single interface. - - -================================================================================================ -release 2.5.2 ================================================================================== -================================================================================================ -change - One of CreationContext constructors has now additional argument; parent CreationContext - Method public IDisposable ParentResolutionContext(...) on CreationContext was removed - Method protected CreationContext CreateCreationContext(...) has now additional argument; - parent CreationContext - -impact - low -fixability - medium - -description - To fix issue with false positive cycle detection (see issue IOC-238) changes had - to be made to how parent creation context gets propagated in certain situation (when call - to kernel.Resolve/ResolveAll is performed as part of resolution process, for example when - CollectionResolver is being used). - -fix - If you override CreateCreationContext method on DefaultKernel pass the additional argument - as new constructor parameter to CreationContext. - If you were using ParentResolutionContext method it should be fairly safe to remove the call - if it was preceded by call to updated CreationContext constructor and the CreationContext is - not used outside of local scope. In other cases it's best to consult Castle users group for - advice on how to proceed. -================================================================================================ -change - IReference<> interface has two new methods - -impact - low -fixability - easy -revision - - -description - To make it possible to statically analyze dynamic dependencies provided by - the IReference interface two new methods were added: - void Attach(DependencyModelCollection dependencies); - void Detach(DependencyModelCollection dependencies); - -fix - if you're providing dependencies on a component from the container call Attach so that - reference gets a chance to create and add DependencyModel for that dependency so that - it can be statically analyzed by the container. -================================================================================================ -change - Method IDependencyResolver.Initialize change signature - -impact - low -fixability - easy -revision - - -description - To make it possible to use custom DependencyResolver inheriting from - DefaultDependencyResolver initialization of DefaultDependencyResolver was moved out of its - constructor and to IDependencyResolver.Initialize method which now takes IKernel as its - additional parameter - -fix - if you're implementing the interface adjust signature of the overriding method to - public void Initialize(IKernel kernel, DependencyDelegate dependencyDelegate) - The method is called by the kernel at the end of its constructor. -================================================================================================ -change - Changed visibility of members on AbstractFacility to protected and implementation of - interface members to explicit. - -impact - low -fixability - easy -revision - - -description - To make it less confusing to users when fluently configuring facilities (via - AddFacility(f => f.ConfigureSomething()) method) visibility of certain members - of AbstractFacility class was changed. Public properties FacilityConfig and Kernel are now - protected, and all methods from IFacility interface are implemented explicitly. Additionally - protected Dispose method was introduced to allow inheriting classes to still be disposed. - -fix - If you were using FacilityConfig and/or Kernel properties outside of inherited classes - refactor your code accordingly not to do so. If you were overriding Dispose method change - its signature from - public override void Dispose() to - protected override void Dispose() -================================================================================================ -release 2.5.1 ================================================================================== -================================================================================================ -change - ILazyComponentLoader.Load now accepts a third argument for additional arguments. - -impact - medium -fixability - easy -revision - - -description - To allow maximum flexibility and usage with Resolve, any additional arguments - are now passed to the lazy loader. -================================================================================================ -change - LifecycleStepCollection class was removed. Instaed LifecycleConcernsCollection class - was introduced. ILifecycleConcern has now two innerited interfaces for commission and - decommission. LifecycleSteps property of ComponentModel was renamed to Lifecycle. - LifecycleStepType type was removed. - -impact - medium -fixability - easy -revision - - -description - To improve strongly typed nature and decrease probability of mistake and improve - general usability of the type LifecycleStepCollection was removed. In it place similar type - was introduced - LifecycleConcernsCollection. Instead of using untyped Objects and enums - it works with two new interfaces : ICommissionConcern and IDecommissionConcern. - -fix - have your lifecycle steps implement one of the new lifecycle interfaces. Use appropriate - overload of Add/AddFirst to add them. -================================================================================================ -change - Typed Factories will not implicitly pick default ITypedFactoryComponentSelector - registered in the container anymore - -impact - low -fixability - easy -revision - - -description - In version 2.1 where ITypedFactoryComponentSelectors were introduced, when you had - a selector registered in the container that selector would be implicitly picked for every - factory you had. Since the behavior of a selector tends to be fine grained and targetet for - a specific factories, this behavior was removed. You have to explicitly associate the selector - with a factory (using .AsFactory(f => f.SelectUsing("MySelector")); or via xml configuration) - to override selection behavior. - -fix - using either fluent API .AsFactory(f => f.SelectUsing("MySelector")), or XML configuration - selector="${MySelector}" specify the selector explicitly for each of your factories. -================================================================================================ -change - ServiceSelector delegate (used in WithService.Select calls) changed signature - -impact - low -fixability - easy -revision - - -description - To fix a bug which would occur if type implemented multiple closed version of base - open generic interface the signature of the delegate was changed from - public delegate IEnumerable ServiceSelector(Type type, Type baseType); - to - public delegate IEnumerable ServiceSelector(Type type, Type[] baseTypes); - so that multiple base types are possible (they would be closed versions of the same open - generic interface) - -fix - depending on the scenario. You would either ignore it, or wrap your current method's body - in foreach(var baseType in baseTypes) -================================================================================================ -change - moved IWindsorInstaller to Castle.MicroKernel.Registration namespace - -impact - very low -fixability - easy -revision - - -description -In order to improve developer experience when writing installers the interface - was moved so that Component and AllTypes entry types for registration are already in scope. - -fix - add using Castle.MicroKernel.Registration directive. -================================================================================================ -change - Added two new overloads to ITypeConverter.PerformConversion - -impact - very low -fixability - easy -revision - - -description - To reduce casting in the most common scenario where converted value is casted to - the type it's been converted to, ITypeConverter.PerformConversion has now generic overloads - for handling this case. - -fix - If you're implementing ITypeConverter via AbstractTypeConverter you don't have to do - anything as the base class will handle the conversion for you. Otherwise implement it like - in AbstractTypeConverter. - -================================================================================================ -change - AddCustomComponent method were moved from IKernel to IKernelInternal interface - -impact - very low -fixability - easy -revision - - -description - This method constitute internally used contract of kernel and is not intended - for external usage. As such it was moved to internal interface to declutter public - interface of IKernel. - -fix - You should not have been using this method so it should not affect you in any way. If - you did, cast the IKernel to IKernelInternal to invoke the method. - -================================================================================================ -change - IModelInterceptorsSelector.SelectInterceptors method changed its signature and how it - is used. - -impact - medium -fixability - medium -revision - - -description - To accomodate additional scenarios that were impossible (or hard to achieve - with previous design the method now has additional parameter, an array of references to - interceptors, which contains either default interceptors for the component, or interceptors - selected by previous interceptors in line). Also, Windsor will now never call - IModelInterceptorsSelector.SelectInterceptors without calling - IModelInterceptorsSelector.HasInterceptors before it, or when the latter returns false. - -fix - When adjusting your implementation remember that model's interceptors are the default value - passed as methods second parameter, so you don't need to merge them again manually (otherwise - they'll be invoked twice). - -================================================================================================ -change - CreateComponentActivator, RaiseHandlerRegistered, RaiseHandlersChanged and - RegisterHandlerForwarding methods were moved from IKernel to IKernelInternal interface - -impact - very low -fixability - easy -revision - - -description - These methods constitute internally used contract of kernel and are not intended - for external usage. As such they were moved to internal interface to declutter public - interface of IKernel. - -fix - You should not have been using these methods so it should not affect you in any way. If - you did, cast the IKernel to IKernelInternal to invoke the methods. - -================================================================================================ -change - IProxyHook interface was removed - -impact - very low -fixability - easy -revision - - -description - Since MicroKernel was merged with Windsor and now depends on DynamicProxy directly - there's no need to provide additional abstraction on top of IProxyGenerationHook. - -fix - Make types that were implementing IProxyHook to implement IProxyGenerationHook. Change all - usages of IProxyHook to IProxyGenerationHook. - -================================================================================================ -change - AddInstallerConfiguration and GetComponents methods were added to IConfigurationStore. - -impact - very low -fixability - easy -revision - 3bf716cc6fc218601dab92a6dd75fe269bcb63d0 - -description - To enable installers to be exposed via configuration the interface has been - extended by addition of the two methods. - -fix - Implement the methods accordingly to your situation. - -================================================================================================ -change - Multiple types were moved between namespaces - -impact - low -fixability - trivial -revision - 3bf716cc6fc218601dab92a6dd75fe269bcb63d0 - -description - To improve the internal structure several types were moved to other namespaces. - -fix - When compilation error occurs adjust namespace imports as suggested by Visual Studio - -================================================================================================ -change - Assembly Castle.MicroKernel.dll was merged into Castle.Windsor.dll - -impact - high -fixability - easy -revision - 730b202b0ed23a6b42258a6ffd6a3e63f89501fc - -description - Since vast majority of users used Windsor, as opposed to bare MicroKernel it was - decided it didn't make sense to maintain two containers. As result of that their assemblies - were merged, as first step of integration between Windsor and MicroKernel. - -fix - In your projects remove reference to Castle.MicroKernel.dll. If you weren't using Windsor - add reference to Castle.Windsor.dll - In all places where your were referencing types from Castle.MicroKernel.dll via string - (like xml configuration when registering facilities, or section on your - web.config) update references from Castle.MicroKernel to Castle.Windsor. - -================================================================================================ -change - ComponentRegistration.Startable public method has been removed. - ComponentRegistration.StartUsingMethod public method was moved to extension method. - ComponentRegistration.StopUsingMethod public method was moved to extension method. - -impact - low -fixability - trivial -revision - 6710 - -description - StartUsingMethod/StopUsingMethod belong to StartableFacility and do not make sense - as part of generic API. Startable method was superfluous. - -fix - Remove calls to Startable(). Import namespace Castle.Facilities.Startable to use - StartUsingMethod and StopUsingMethod as extension methods. - -================================================================================================ -change - DefaultProxyFactory.CreateProxyGenerationOptionsFrom protected method and - DefaultProxyFactory.CustomizeProxy protected virtual method have changed signature - -impact - very low -fixability - easy -revision - 6691 - -description - the methods now also takes IKernel and CreationContext, to be used by IReferences - to do resolution of components they reference - -fix - pass required parameters to the methods. - -================================================================================================ -change - ProxyOption's properties changed types: - Selector, from IInterceptorSelector to IReference - Hook from IProxyHook to IReference - MixIns from object[] to IEnumerable> - -impact - very low -fixability - easy -revision - 6691 - -description - the properties now use IReferences instead of live objects to allow for - resolution of their values from the container, as required in case of usage from xml. - -fix - wherever used, adjust types appropriately. To obtain actual objects, use Resolve method. diff --git a/packages/Castle.Windsor.3.2.0/Castle.Windsor.3.2.0.nupkg b/packages/Castle.Windsor.3.2.0/Castle.Windsor.3.2.0.nupkg deleted file mode 100644 index 1142842..0000000 Binary files a/packages/Castle.Windsor.3.2.0/Castle.Windsor.3.2.0.nupkg and /dev/null differ diff --git a/packages/Castle.Windsor.3.2.0/Castle.Windsor.3.2.0.nuspec b/packages/Castle.Windsor.3.2.0/Castle.Windsor.3.2.0.nuspec deleted file mode 100644 index 7ba4b9c..0000000 --- a/packages/Castle.Windsor.3.2.0/Castle.Windsor.3.2.0.nuspec +++ /dev/null @@ -1,34 +0,0 @@ - - - - Castle.Windsor - 3.2.0 - Castle Windsor - Castle Project Contributors - Castle Project Contributors - http://www.apache.org/licenses/LICENSE-2.0.html - http://docs.castleproject.org/Windsor.MainPage.ashx - http://docs.castleproject.org/GetFile.aspx?File=/windsorLogo100px.png - false - Castle Windsor is best of breed, mature Inversion of Control container available for .NET and Silverlight. - Copyright 2004-2013 Castle Project - http://www.castleproject.org/ - castle windsor inversionOfControl DependencyInjection - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/packages/Castle.Windsor.3.2.0/Changes.txt b/packages/Castle.Windsor.3.2.0/Changes.txt deleted file mode 100644 index 963484c..0000000 --- a/packages/Castle.Windsor.3.2.0/Changes.txt +++ /dev/null @@ -1,956 +0,0 @@ -3.2.0 (2013-02-16) -================== -- implemented IOC-375 - List duplicate registrations that are registered through convention -- implemented IOC-366 - support scoped lifestyle in XML config -- implemented IOC-365 - Provide convenience methods in the registration API to bind to nearest subgraph (in addition to existing - widest) -- implemented IOC-362 - New container diagnostic - duplicated dependencies -- implemented IOC-360 - Ability to register types based on one or several of multiple bases -- implemented IOC-358 - add ability to specify dependency on an embedded resource -- implemented IOC-357 - Provide some internal logging in Windsor to be able to see non-critical errors -- implemented IOC-355 - Add a mechanism to mark constructors as unselectable for injection, much like DoNotWireAttribute is for property injection -- implemented IOC-353 - Add Classes.FromAssemblyInThisApplication() for parity with FromAssembly class -- implemented IOC-348 - Explict sort order for convention-based configuration would be nice - -- fixed FACILITIES-160 - Wcf Facility doesn't support multiple IErrorHandlers -- fixed IOC-374 - Container.Register causing NotSupportedException in ASP .NET MVC 4. -- fixed IOC-373 - Open Generics won't resolve with LateBoundComponent Implementation -- fixed IOC-372 - Performance Counters not updated on releasing a typed factory -- fixed IOC-371 - AssemblyFilter cannot find assemblies on case-sensitive filesystems -- fixed IOC-370 - Deadlock -- fixed IOC-369 - Probably bug with generic interceptors -- fixed IOC-364 - It is impossible to use bound lifestyle with chain of components binding to innermost one -- fixed IOC-359 - Property filtering API is confusing and buggy -- fixed IOC-356 - Specifying a hook should be enough to create an implementation-less proxy -- fixed IOC-354 - Deadlock in pooled lifestyle under heavy load -- fixed IOC-334 - FacilityConfig is null in facility Init() -- fixed IOC-300 - OnCreate does not work for generic components - -3.1.0 (2012-08-05) -================== -- fixed IOC-347 - WithServiceAllInterfaces throws exception (regression) - -3.1.0 RC (2012-07-08) -================== -- Refined WCF Discovery Load Balancing approach -- Added WCF behavior to specify an IDataContractSurrogate -- Import Bindings instead of endpoints for WCF Discovery -- Improved concurrency during WCF channel failover -- Refactored WCF proxying to support all channels (not just ones based on RealProxy) -- Added additional WCF Discovery support for managed Discovery Proxies -- Exposes notifications when channels are refreshed -- Added exponential backoff client policy for WCF Facility - -- implemented IOC-343 - Add ability to specify fallback components that should never take precedence over non-fallback ones -- implemented IOC-339 - Add extension point to decide whether open generic component wants to support particular closed version -- implemented FACILITIES-159 - Add option to skip configuring log4net/nlog in LoggingFacility - -- fixed IOC-345 - When using child containers, parent components are released with child container in certain cases -- fixed IOC-342 - Should error when trying to use PerWebRequest lifestyle when linked against the client profile -- fixed IOC-341 - IHandlerFilter returning empty array ignored -- fixed IOC-338 - SerializationException thrown when using remoting within default lifetime scope (Failed to load expression host assembly. Details: Type '[...]CallContextLifetimeScope[...]' is not marked as serializable.) -- fixed IOC-336 - Failing resolution of proxied components implementing multiple generic service interfaces -- fixed IOC-332 - UsingFactoryMethod resolving a proxy without a target throws NullReferenceException instead of a better exception -- fixed IOC-331 - TypedFactoryFacility should ignore Func -- fixed IOC-328 - Hard-to-understand comment -- fixed IOC-326 - Component is Disposed before the OnDestroy delegate is invoked -- fixed IOC-325 - ParentHandlerWithChildResolver.TryResolve throws exception -- fixed IOC-241 - .NET 4 security transparency and APTCA -- fixed FACILITIES-155 - PerWcfSession throws NullReferenceException when not in a session - -3.0.0 (2011-12-13) -================== -no major changes - -3.0.0 RC 1 (2011-11-20) -================== -- implemented IOC-318 - Provide more high level API for fitering (and ignoring/requiring) properties at registration time -- implemented IOC-317 - Add ability to reference AppSettings values in XML using #{property} syntax -- implemented IOC-316 - Add attribute to specify default selector for a typed factory interface/delegate -- implemented IOC-313 - Add event to be raised by the container whenever empty collection is being resolved -- implemented IOC-312 - Add shortcut methods to API to register types from given namespace - -- fixed IOC-320 - System.ArgumentNullException at Castle.MicroKernel.Burden.Release(IReleasePolicy policy) -- fixed IOC-319 - Concurrency problem when child container is used -- fixed IOC-315 - ResolveAll should not ignore generic constraint violations on dependencies of resolved component -- fixed IOC-314 - Parsing container configuration uses the current culture -- fixed IOC-311 - OptimizeDependencyResolutionDisposable eats exceptions thrown during installation -- fixed IOC-310 - Add ability to disable performance counters - -3.0.0 beta 1 (2011-08-14) -================== -- implemented IOC-306 - Add ability to provide fine-grained filtering of properties -- implemented IOC-303 - Support proxying for components registered using factory method -- implemented IOC-302 - Support open generic components where implementation has more generic parameters than service if they can be figured out based on generic constraints -- implemented IOC-301 - Add ConfigureIf method to be used with custom predicate when configuring components registered via convention -- implemented IOC-298 - Add a method to FromAssembly that will scan all assemblies in the application for installers -- implemented IOC-292 - Add fluent registration entry point that passes through truly "all types" that is interfaces, or abstract classes can be registered too -- implemented IOC-291 - Add alias class to AllTypes that is better named, like 'Classes' -- implemented IOC-287 - Add overloads to OnCreate and OnDestroy that only take the instance and leave the container out as it is often superfluous -- implemented IOC-285 - Add abilitty to make a component the default for a service without ensuring it's the first component exposed that service registered -- implemented IOC-284 - Optimize fluent registration API for less typing -- implemented IOC-283 - Ability to create custom lifestyle attribute with custom LifestyleManager -- implemented IOC-281 - Provide out of the box support for Lazy -- implemented IOC-279 - WindsorContainer constructor taking string should accept not only file path but also other supported locations, like UNC, config section and embedded resource -- implemented IOC-277 - Add ability for components activated in a custom way to opt out of container lifetime management -- implemented IOC-275 - Exception message thrown when dependencies are missing is not always very clear and should be improved -- implemented IOC-271 - Support open generic components where implementing class has more generic parameters than the service but the missing ones can be somehow inferred -- implemented IOC-270 - Add OnDestroy method, symertical to OnCreate -- implemented IOC-269 - Windsor Performance Counters -- implemented IOC-268 - Hook that allows for filtering handlers during ResolveAll -- implemented IOC-263 - Add new debugger diagnostics - tracked objects -- implemented IOC-257 - Same as in code, specifying type for facility in XML should be enough - Id should be optional -- implemented IOC-256 - Same as in code, specifying type for component in XML should be enough - Id should be optional -- implemented IOC-255 - Specifying custom lifestyle type in XML should be enough, for it to be picked up -- implemented IOC-249 - Remove aility to remove components from the Container -- implemented IOC-246 - Remove alternative naming subsystems -- implemented IOC-243 - Remove obsolete UseSingleInterfaceProxy option - -- fixed IOC-305 - GenericListConverter throwing NotImplementedException -- fixed IOC-299 - ResolveAll ignores services for open version of generic service requested -- fixed IOC-297 - Container should throw an exception if a "primitive type" is registered as a service, since it will not be resolved -- fixed IOC-295 - registration via XML ignores service specofied in attribute -- fixed IOC-286 - Custom logger config in XML is broken -- fixed IOC-282 - Windsor should be able to register generic typed factories as open generics -- fixed IOC-280 - ResolveAll should respect services and fail hard when a component can't be resolved -- fixed IOC-278 - Optional Dependencies should also be satisfied from ILazyComponentLoaders if possible -- fixed IOC-273 - Auto register PerWebRequestLifestyleModule using PreApplicationStartMethodAttribute at runtime -- fixed IOC-267 - Register() on a System.ValueType (like an Int32 or an Enum) instance should throw an exception -- fixed IOC-265 - In certain cases of cyclic dependencies debugger view times out because of stack overflow in MismatchedLifestyleDependencyViewBuilder -- fixed IOC-262 - objects created via UsingFactoryMethod are always tracked, even if they could safely not be -- fixed IOC-260 - Generic Typed Factories no longer working in trunk -- fixed IOC-254 - Optional non-primitive .ctor parameters don't work -- fixed IOC-250 - Dispose not being called on open generic registrations -- fixed IOC-248 - Open generic components with multiple services, some of which are generic fail to properly instantiate in certain cases -- fixed IOC-247 - Make ComponentModel/IHandler expose all services for given component, instead of piggybacking them via ForwardedHandlers -- fixed IOC-245 - Proxies (for interface services) should not implicitly proxy all interfaces that the service implementation type happens to implement -- fixed IOC-240 - Castle Windsor ArrayResolver ServiceOverrides Not Respected - -- fixed FACILITIES-153 - Issue with setting the inital log level for the ConsoleLogger - -- EventWiringFacility, FactorySupportFacility and RemotingFacility are extracted to their own assemblies -- fixed bug with NullReferenceException when TypedFactoryFacility is used and disposed -- IServiceProviderEx was removed as base interface for IWindsorContainer and IKernel -- Removed the following types: ContainerAdapter, ContainerWrapper, IContainerAdapter, IContainerAdapterSite - -2.5.3 (2011-02-02) -================== -- fixed IOC-266 - Dependency of a generic service is not disposed in Windsor 2.5.x -- fixed IOC-261 - Disposing of typed-factory can throw argument null exception -- fixed IOC-254 - Optional non-primitive .ctor parameters don't work -- fixed IOC-250 - Dispose not being called on open generic registrations - -2.5.2 (2010-11-15) -================== -- implemented IOC-243 - Unseal the InterceptorAttribute class -- fixed IOC-239 - ArrayResolver attempts to instantiate an unresolvable array dependency -- fixed IOC-238 - Resolving Composite depending on a Decorator may fire up cycle detection fuse -- fixed IOC-237 - Castle Windsor : Possible bug with Startable Facility and "decorator pattern" dependencies -- fixed IOC-236 - Typed Factory Facility causes memory leak because it keeps a reference after releasing object in list 'trackedComponents' -- fixed IOC-235 - TypedFactoryFacility with inherited interfaces throws an exception -- fixed IOC-234 - StackOverflow causing inability to use debugger view when there are components with dependency cycles in the container -- fixed IOC-232 - Exception when using delegate based factories can throw when registered implicitly and used as dependencies of generic component -- fixed IOC-231 - Boilerplate methods on facilities should be hidden from IntelliSense when configuring a facility -- fixed IOC-230 - Missing Mixins/InterceptorSelectors/ProxyGenerationHooks and TypedFactoryFacility's component selectors are not detected until resolution time -- fixed IOC-229 - Qurerying for subsystem is case sensitive -- implemented IOC-228 - Chicken and egg problem when trying to inherit from DefaultDependencyResolver -- fixed IOC-227 - ResolveAll fails for generic forwarded registrations -- fixed IOC-224 - Obsolete message on some members of old obsolete API don't compile -- fixed IOC-223 - Fluent registration registers components with System.Object service when no BasedOn discriminator is provided - -2.5.1 (2010-09-21) -================== -- added "Potential lifestyle mismatches" debugger view item, that will detect and list situations where Singleton depends on Transient or PerWebRequest component (which is usually a bug) -- fixed issue where forwarding main type would create additional, superfluous handler -- WebLogger/WebLoggerFactory was removed from Castle.Core so all references to that are removed from Windsor as well -- obseleted UseSingleProxyInterface in preference over IProxyGenerationHook -- fixed IOC-220 Composite pattern with CollectionResolver should be properly supported without throwing "cycle detected" exception -- fixed IOC-218 Enable methods that take arguments as anonymous objects in Silverlight version. This works in SL, but requires [assembly: InternalsVisibleTo(Castle.Core.Internal.InternalsVisible.ToCastleCore)] -- fixed IOC-217 Enable ISupportInitialize support as lifecyclecle concern in Silverlight 4 -- implemented IOC-216 Make it possible to specify service overrides in DependsOn, either via Property, or ServiceOverride entry class -- implemented IOC-215 Hide obsolete members from IntelliSense (in basic view. By default in VB they won't be showed, but will in C# :( ) -- fixed IOC-214 Missing bracket in obsolete warning text -- implemented IOC-212 Add ability to make IProxyGenerationHooks and IInterceptoSelectors IOnBehalfAware -- fixed IOC-211 Resolve doesn't work with constructor's ref argument -- fixed IOC-210 Typed Factory Facility treats constructor dependency as non-optional if resolved as a TFF component -- fixed IOC-209 Bug in constructor selection when resolving - Windsor would pick unresolvable constructor -- reverted back (to the way it was in v2.1) conditional registration of helper components used by TypedFactoryFacility as it would cause issues when used with nested containers (see the new test and thread "Typed Factories in sub Container (differences between 2.5 and 2.1)" on users group) -- added framework information the assembly was built for to the AssemblyTitle attribute -- improved how late bound types are displayed in debugger -- fixed bug where count of potentially misconfigured components would show invalid value -- added raw handler access to default component view in debugger -- changed how status message is displayed for potentially misconfigured components so that an actual visualizer for strings can be used to view this potentially long piece of text - -2.5.0 (2010-08-21) -================== -- debugger view support has been extracted to a separate subsystem (IContainerDebuggerExtensionHost) and can be extended by users code via IContainerDebuggerExtension and IComponentDebuggerExtension -- calling IHandler.TryStart will no longer silently ignore all the exceptions. -- added CollectionResolver which is a more general version of ArrayResolver and ListResolver and supports in addition ICollection and IEnumerable -- fixed issue where dependencies would not be cleaned up when component creation failed -- fixed issue where startable component would be created twice when property dependency could not be resolved -- passing arguments to ILazyComponentLoader (see breakingchanges.txt) -- fixed bug that caused exception when proxied component and it's proxied property dependency shared interceptor - -2.5.0 beta2 (2010-07-21) -================== -- added support for selecting components based on custom attributes and their properties. See Component.HasAttribute() methods -- added WithService.DefaultInterface() to fluent API.IT matches Foo to IFoo, SuperFooExtended to IFoo and IFooExtended etc -- added support for CastleComponentAttribute in fluent Api. Also added helper filter method Component.IsCastleComponent -- added ability to specify interceptors selector as a service, not just as instance -- added ability to specify proxy hook in fluent API: -- indexers on IKernel are now obsolete. -- added WithAppConfig() method to logging facility to point to loging configuration in AppDomain's config file (web.config or app.config) -- Restructured lifecycle concerns - introduced ICommissionConcern and IDecommissionConcern and favors them over old enum driven style. -- Fixed how contextual arguments are handled. Null is no longer considered a valid value (That would cause an exception later on, now it's ignored). -- Changed method DeferredStart on StartableFacility. It now does not take a bool parameter. A DeferredTryStart() method was introduced instead. - -2.5.0 beta1 (2010-07-05) -================== -- Typed Factories will not implicitly pick default ITypedFactoryComponentSelector registered in the container anymore -- Obsoleted all the AddComponent* methods in favor of using Installers and fluent registration API -- ServiceSelector delegate (used in WithService.Select calls) changed signature to fix a bug: http://3.ly/eP5Q -- moved IWindsorInstaller to Castle.MicroKernel.Registration namespace -- typed factories will now obey container release policy, that is if the container does not track the component, so won't the factory. -- added helper methods to fluently configure logging facility using: container.AddFacility( f = > f.Fluent().Magic().Here() ); -- added overload for UsingFactoryMethod which exposees ComponentModel of component to the factory -- added generic overloads for ITypeConverter.PerformConversion to reduce casting. -- it is now possible to call WithService.Foo().WithService.Bar() and both services will be used. Also more methods were added: WithService.Self() and WithService.AllInterfaces() -- added simple debugger visualizer to help diagnosing misconfigured components. -- added optimized mode to StartableFacility for Single-call-to-Install scenario that won't start anything before the end of Install (at which point the container is assumed to be completely configured and all components should be there) and it will throw if it can't resolve and start the component. -- added OptimizeDependencyResolution around calls to Install -- Component.IsInNamespace and its sister methods have now overload that let you include components from subnamespaces as well. -- added ability to load assemblies from designated directory (with fair bit of optional filtering using new AssemblyFilter class). It works in three places: - - AllTypes.FromAssemblyInDirectory() - picks assemblies for registration - - FromAssembly.InDirectory() - installs installers from assemblies in the directory - - - installs installers from assemblies in directory via XML -- TypedFactoryFacility - added ability to configure factory inline: Component.For().AsFactory(f => f.SelectedWith("selectorKey")) -- Changed IModelInterceptorSelector's signature and behavior (see breakingChanges.txt for details) -- removed IProxyHook interface (see breakingchanges.txt) -- added support for specifying typed factory component selectors on a per-factory basis -- added support for using services as mixins -- added autogenerated delegate-based factories. Taking dependency on Func and calling the delegate will return IFoo from the container -- implemented IOC-ISSUE-203 - Add to fluent API scanning assemblies for IWindsorInstallers and installing them -- added fluent API for EventWiringFacility -- added ability to specify assemblies that will be scanned for types when shorthened type name is using via XML using the following syntax: - -- added ability to specify installers (IWindsorInstaller) via XML using either of the following: - - - - - installers must be public and have default constructor. -- Xml config does not require assembly qualified type name any more - specifying just type name, or typename+namespace should be enough. Works only for types in already loaded assemblies. -- ResolveAll will now resolve components that are not in Valid state when inline/dynamic arguments are provided -- TypedFactoryFacility: TypedFactoryComponent will now fallback to resolving by type if no component with designated name can be found -- fixed issue with per-web-request components not being released properly in some cases -- fixed IOC-ISSUE-199 - NamingPartsSubSystem broken when RegisterHandlerForwarding is used -- TypedFactoryFacility: added ability to resolve multiple components -- TypedFactoryFacility: added ability to put custom resolving logic -- fixed another case of IoC-168 where a component with two constructors of different parameter length couldn't be resolved when the fewer parameter constructor was not satisfied -- If and Unless functions on fluent registration API are now cumulative - it is legal to call them multiple times and all conditions will be checked. This is a minor breaking change from previous behavior where last call would win. -- added typed arguments (specified by type rather than by name). - It works for: - - call site (Resolve with Dictionary, specifying System.Type as value of key. A helper class 'Arguments' should be used for this.) - - DynamicParameters - there's an extension method Insert that should make using it nicer - - fluent Api (DependsOn(Property.ForKey().Eq("typed")) -- added 'Insert' extension method on IDictionary, specifically so simplify usage in DynamicParameters method and similar situations. It behaves like IDictionary's indexer setter -- added 'Arguments' class to carry inline arguments (typed or named) for components. It is recommended to use this class rather than Hashtable or Dictionary<> -- added strongly typed overloads for StartUsingMethod and StopUsingMethod from startable facility's registration API. It is now possible to call .StartUsingMethod(x => x.Start).StopUsingMethod(x => x.Stop) -- moved StartUsingMethod/StopUsingMethod to extension methods in StartableFacility's namespace. Startable() method was removed as superfluous. -- changed the UsingFactoryMethod (and UsingFactory) methods in fluent registration API to not rely on FactorySupportFacility. They now work even if facility is not used. -- fixed IOC-ISSUE-190 - "Resolve with argumentsAsAnonymousType overload is now case sensitive". - This fixed a regression bug introduced in v2.1, and brings the behavior back to what it was in v2.0. -- added support for specifying interceptorsSelector, proxyHook and mixins from config (see new tests for example). This also means some small impact breaking changes: - - DefaultProxyFactory.CreateProxyGenerationOptionsFrom protected method has changed signature - it now also takes IKernel and CreationContext, to be used by IReferences to do resolve (see below) - - DefaultProxyFactory.CustomizeProxy protected virtual method has changed signature, for the same reason as above - - ProxyOption's properties changed types: - Selector, from IInterceptorSelector to IReference - Hook from IProxyHook to IReference - MixIns from object[] to IEnumerable> - IReference abstraction allows to use components resolved from the container, similar to InterceptorReferences. -- Moved several types from Core: - ComponentActivatorAttribute - ComponentProxyBehaviorAttribute - CustomLifestyleAttribute - DoNotWireAttribute - InterceptorAttribute - LifestyleAttribute - PooledAttribute - TransientAttribute - GraphNode - IVertex - IRecyclable - IStartable - ComponentModel - ConstructorCandidate - ConstructorCandidateCollection - DependencyModel - DependencyModelCollection - InterceptorReference - InterceptorReferenceCollection - LifecycleStepCollection - MethodMetaModel - MethodMetaModelCollection - ParameterModel - ParameterModelCollection - PropertySet - PropertySetCollection - TopologicalSortAlgo - IOnBehalfAware - GraphSets - GraphTestCase - - -2.1.1 (2010-01-13) -================== -- Reverted factory support facility changes in r6595, r6596 and r6653 which fixed IOC-ISSUE-153, however caused other bugs - reported on the mailing list (http://groups.google.com/group/castle-project-users/browse_thread/thread/3f2b602e738a08c6?hl=en) - -2.1.0 (2010-01-12) -================== -- Moved the logging facility project into the Windsor project: - - Applied Tom Allard's patch fixing FACILITIES-93 - "Extra constructors on LoggingFacility" - - Added test case supplied by chris ortman - - Register base logger and factory when using extended logger. - - Fixed FACILITIES-77 - ILoggerFactory instance creation requires constructor with one argument - -- simplified API for attaching interceptors. - -- added support for forwarded types in XML config - -- added WithParameters method to fluent registration that enables inspecting and modifying arguments passed to Resolve method. -- BREAKING CHANGE - AbstractHandler.Resolve method is no longer abstract and instead a ResolveCore protected abstract method was added. To fix this, implementers should override ResolveCore instead of Resolve. - -- added OnCreate method (refactored from OnCreateFacility created by Tehlike) which allows to specify actions to be invoked on the component right after it is created, and before it's returned from the container - -2.0 -==== - -- Updated FactorySupportFacility and fluent registration to allow propagation - of CreationContext to factory methods - -- Fixed Burden release issue in which children were being released if the - component was not destroyed - -- Automatically configure proxy to omit target if no implementation - -- Fluent interface for factory support - -- Fixed an issue with of not considering unregistered service dependencies in arrays - -- Will not try to convert values that are already a match to the parameter type - -- XmlProcessor now properly dispose of the stream reader - -- The kernel will now check if trying to register null types - -RC 4 -==== - -- Update FromInterface Registration policy to only consider toplevel interfaces - and allow multiple services. - -- Fixed bug in AllComponentsReleasePolicy in which burden not properly handled - on dispose. - -- Applied patch from Joao Braganca to allow abstract types in DefaultComponentActivator if proxied. - -- Added additional AddFacility overrides to improve fluent configuration of facilities. - -- Moved DefaultComponentActivator check for abstract so it can be better overriden. - -- Added Attribute to Component Registration fluent interface. - -- Add ability to use Configure components based on implementation type when - using AllTypesOf. - -- Do not return forward handlers in ResolveAll since you will get duplicate services. - -- Applied patch (with mods) from Martin Nllsson to select registration interface from - containing interface. - -- Added shortcut to AllTypes to accept a where. - -- Added ability to include non-public types in registration. - -- Updated registration to support providing multiple service types. - -- Add registration support for mixins. - -- Do not allow registering components with the same name in fluent interface. - -- Applied Ayendes patch to introduce component service type forwarding to - support multiple service interfaces for a component. - Extended the Component Registration interface to support service forwarding. - -- Avoid to register abstract component via IKernel.AddComponent, now throws when trying to add instead of while resolving component - -- Removed sealed qualifier from CreationContext and made ISubDependencyResolver - methods virtual so they can be overriden. - -- Made IKernel.AddFacility fluent. - -- Added StartMethod/StartMethod to ComponentRegistration. - -- Add if/unless support for ComponentRegistration. - -- Applied Daniel Jins patch to not proxy internal interfaces. - -- Fixed IOC-126 - "PoolableLifestyleManager creates pool in constructor" - -- Fixed IOC-125 - "DefaultGenericHandler does not properly handle proxied generic components" - -- Updated AllTypes strategy to support types based on generic type definitions. - -- Updated AllTypes strategy to support multiple registrations from a single set of types. - -- Collection handlers from parent container for GetAssignableHandlers. - -- Added ability to change invocation target to DefaultProxyFactory. - -- Fixed bug with ComponentRegistration.Instance in which the instance type was not assigned as the ComponentModel implementation. - -- Replaced AllTypesOf syntax with AllTypes.Of so a non-generic version can be consistently provided. - -- Added generic AddFacility methods to kernel. - -- Added generalized configuration support to ComponentRegistration. - -- Added IWindsorInstaller interface to enhance Windsor component installation. - -- Added AllTypesOf registration stratgey to simplify custom registration - scenarios. - -- Added IRegistration interface to allow alternate registration mechanisms. - -- Fixed CORE-16 (Should be Facilities) - "The FactorySupportFacility does not create proxies if interceptors are present" - -- Added support for list service overrides using the fluent registration interface. - Added support for specifying configuration parameters using the fluent interface to allow any complex - registration scenarios. - -- Restructured the registration fluent interface to be a little more readable, - better support component registrations and prevent errors resulting from - forgetting to call ComponentRegistration.Register - -- Fixed Facilities-97 - "EventWiring Facility fails to create some components" - -- Added support for non-generic usage of fluent-interface. Needed for dynamic registrations scenarios (Binsor) - Automatically register the component between consecutive AddComponentEx (Saves a few strokes). - -- Initial version of MicroKernel/Windsor fluent interface IOC-99 - -- Applied patch from Jacob Lewallen improving the locking performance in the DefaultNamingSubsystem under high load. - -- Applied Philippe Tremblay's patch fixing IOC-94 - "Copy LifeStyle from generic interface" - -- Added support for copying interceptors defined on the geneirc interface handler. - -- Fixed IOC-80 - "StartableFacility erroneously tries to start a component before - RegisterCustomDependency can be called" - -- Added ComponentModelConverter to utilize System.ComponentModel TypeConverters - Very useful for converting things like Fonts and Colors - -- Updated DefaultComplexConverter to support interfaces and derived types - -- Fixed IOC-96 - "FactorySupport fails to create components if the factory instance is a proxy" - -- Fixed IOC-93 - "GenericListConverter does not handle service overrides properly" - -- Fixed IOC-91 - "ContextBoundObject's context is not bound when object is created by MicroKernel" - -- Fixed build from IContainerAccessor change - -- Applied Ron Grabowski's patch fixing IOC-89 - "Make DefaultKernel implement IServiceProvider" - -- Check for required Properties before determining the Handlers initial state - -- Fixed IoC-87 - "DefaultComplextConverter does not properly handle nested components" - -- Applied Lee Henson's patch fixing IOC-86 - "Additional generic AddComponent overloads" - -- Applied Ido Samuelson patch fixing IOC-85 - "IKernel to support generics to add/resolve components." - -- Refactored proxy options support. Now you can use the attribute 'marshalByRefProxy' - on the external configuration, or the ComponentProxyBehaviorAttribute - -- Fixed IOC-79 - "Kernel.GetHandlers(Type) does not consider generic handlers when satisfying the type" - -- Updated StartableFacilityTestCase to correctly demonstrate the facility and - added a unit test to demonstrate IOC-80 - -- Applied Alex Henderson's patch that makes the ComponentModel available - to the ILifestyleManager - -- Applied Adam Mills's patch fixing IOC-74 - "BinaryComponentName VisitNode null check" - -- Fixed IOC-67 - "RemoveComponent needs to unwire handlers and remove them" - -- Fixed IOC-59 - "Child component unable to correctly resolve parent service added after the component" - -- Fixed IOC-47 - "Components created by FactoryActivator have their dependencies checked" - -- Applied Marcus Widerberg's patch fixing FACILITIES-84 - "FactorySupport - Allow parameters to factory method to be set at resolvetime" - -- Applied Marcus Widerberg's patch fixing FACILITIES-82 - "Programmatic configuration for FactorySupport" - -- Reverted by Henry -> Apply patch from Sam Camp that fixes problems with Remoting Facility Sample and RecoverableComponent. - -- Updated TypedFactoryFacility to not require a target instance - when proxying. - -- Added Windsor proxy support to create proxies without targets. - -- Removed relationship between ProxyOptions and ProxyGeneration options - and moved ProxyOptions into the MicroKernel. ProxyGeneration options - are created from the ProxyOptions and will probably need to be updated - as facilities demand more proxy generation customizations. - -- Added ProxyOptions to allow facilities to easily add proxy interfaces - without having to create custom proxy factories. The ProxyOptions - are obtained via the ProxyUtil. - -- Fixed IOC-65 - "DictionaryConverter should use the alternate overload of the - PerformConversion method in order to support dictionaries that contain - custom types" - -- Moved ProxyComponentInspector from Castle.MicroKernel to here and added - support to supply ProxyGenerationOptions on a ComponentModel basis. This - provides the needed ability to provide proxy options in facilities. - -- Fixed IOC-69 - DefaultDependencyResolver issue with Service Overrides. - -- Added ComponentProxyBehaviorAttribute and ComponentProxyInspector - to control the creation of component proxies. - -- Added eval support to configuration. Currently it only supports - BaseDirectory as a content to evaluate - - - -- Added IEnvironmentInfo in an attempt to solve complex - configuration/environment issues. - -- Fixing IOC-63 - source order of constructors should not matter - -- Fixed IOC-62 - "Interceptors don't work properly on generic components" - -- Applied Norbert Wagner's patch fixing IOC-55 - "Generic Type Converters: Set default entry types to generic arguments of property type" - -- Applied Jeff Brown's patch fixing IOC-54 - "Empty component parameter values cause runtime exception during component resolution." - -- Applied patch by Bill Pierce that - --- Introduces the WebUserControlComponentActivator - --- Introduces the KeySearchNamingSubSystem - --- Allows you to associate a custom component activator using - 1. componentActivatorType on component node - 2. ComponentActivatorAttribute - --- Allows you to create and configure child containers - through the configuration, using - - - - - - - ... - - - - ... - - - - - - - -- Applied AndyD's patch fixing IOC-52 - "Remote access to generic components" - -- Fixed IOC-45 - "Proxying a component that has an interface that is extended from another interface throws an exception" - -- Applied patch by Ernst Naezer fixing IOC-37 - "Resolving with arguments in Windsor" - -- Fixed IOC-43 - "Creation of an Attribute in the Kernel that allows one property to be ignored by the dependency builder" - - Introduced DoNotWireAttribute that marks a property and prevents it - from being considered by the container - -- Changed Windsor to use DynamicProxy 2 - -- Applied patch by Adam Mills fixing IOC-42 - "ResolveServices", new method added to IKernel - -- Applied patch by Adam Mills fixing IOC-41 - "Bug Fix BinaryTreeComponentName - Assumed Lesser nodes went to left" - -- Applied patch by Adam Mills fixing IOC-40 - "Provided an Implementation for BinaryTreeComponentName.Remove" - -- Applied patch by Adam Mills fixing IOC-39 - "Fix for Null Reference when accessing empty BinaryTreeComponentName" - -- Fixed IOC-35 - "Add bootstrap section to configuration file" - -- Fixed issue where KeyAlreadyAdded exception would be throw for - components accepting two parameters of the same type, without overrides - -- Fixed IOC-36 - "Transient components with multliple constructors throw - unresolved dependency exceptions." - - Removed best candidate reference, as the kernel is dynamic it should - not cache best constructors as components can be added or removed - at any time - - Removed Points from candidates, as in a multithreaded scenario - this would lead to failures - - -- Fixed IOC-34 - "Cannot use types having their own base type as constructor argument" - - See revision r2787 - -- IOC-32, Support generic collections. - Supported collections are: ICollection, IList, List, IDictionary, Dictionary, IEnumerable - -RC 3 -==== - -- Applied patch by William C. Pierce adding PerWebRequestAttribute - -- Added setter to ReleasePolicy property - -- Applied Curtis Schlak's patch fixing IOC-30 - "Add overload to Windsor AddComponent to specify the Lifestyle" - -- Refactored AbstractHandler to use IDependencyResolver - -- Dependencies can be resolved now in three levels: - - * CreationContext (which now implements ISubDependencyResolver) - * IHandler (which now implements ISubDependencyResolver) - * IKernel which is the normal flow - -- Implemented IoC-29 using a different approach - -- Renamed IKernel.AddComponentWithProperties to AddComponentExtendedProperties. - The old method name misled the programmer about its purpose. - -- Added a PerWebRequestLifestyleManager which creates at most one instance of - an object per web request. To use it you must add the following http module - - - ... - - - - - The strong name could be omitted if not in the GAC - -- Added checks to handle cycles in dependencies graphs and avoid deadly Stack Overflow Exceptions. - -- Fixed IOC-24: "Allow user to provide an attribute which will customize how to inspect properties (PropertiesDependenciesModelInspector)" - Now users can add an 'inspectionBehavior' attribute to the component node that defines - the inspection strategy. Possible values are - - - None: No properties inspection should happen - - All: All properties will be inspected and collected (on the class and on the superclasses). - This is the default behavior - - DeclaredOnly: Only properties specified on type are checked (superclasses will be ignored) - -- Added overload to ITypeConvertor that accept the current node configuration as well as the type in CanHandleType() - -- Change: Better error message when there's an exception - setting up properties - -- Fixed IOC-25: Overrides on the configuration should be considered a non-optional dependency - - This fix changes a little the MicroKernel behavior. Now if you specify an service override - through external configuration, it will be considered a _non-optional_ dependency - -- Uri usage replaced by CustomUri which, differently than MS' Uri class, has the same - behavior on net-1.1, net-2.0 and mono - -- EventWiring Facility: now when a publisher is requested, the subscribers - are automatically started. - - The side effects are: - - - when a subscriber is requested it won't be wired automatically. - - There no much sense in having a subscriber with a lifestyle other than singleton - - I'm still evaluating this idea. Sometimes wiring only when the subscriber is requested - might make sense, but supporting both approaches is kinda hard. - - -- Applied patch by Alex Henderson adding - IWindsorContainer.RemoveChildContainer(IWindsorContainer childContainer) - and IKernel.RemoveChildKernel(IKernel kernel) - -- Applied fix by Ahmed. Now defines can be used on properties nodes like - - - - x - - - -- Now with DictionaryConverter you can specify the keyType and valueType on each entry (kudos to Ahmed) - -- xmlinterpreter will throw an exception if a property is not defined but referenced -using #{propertyName} syntax.(Patch from Ahmed) - -- XmlProcessor refactored from XmlInterpreter (kudos to Ahmed) - Now PI are also supported (don't forget to document this on the wiki) - -- Support for nested nodes on the properties. (kudos to Ahmed) - Example: - - - - - Joe - Doe - - - #{ MyComponentParams } - - - - Will result in - - - Joe - Doe - - - -- Type converter for kernel components. This allows a usage like this: - - - - - - - ${keytocomponent1} - ${keytocomponent2} - - - - -- Removed support for MethodMeta on ComponentModel. The design decision here - is to make the facilities interested on it to extend MethodMetaInspector - reading from a specific node. - -RC 2 -==== - -- AsyncInitializationContainer introduced. Special container flavor that installs the - facilities and components using a background thread. - -- Support for evaluation of expressions within the xml configuration (kudos to Ahmed) - The following "statements" are supported: - - - - - - component/facility nodes - - - - - - - - - - - - - - - - - -- Startable facility: support to specify the attribute startable=true on the configuration - -- Better error messages: now the components waiting for dependencies will recursively - report what they are waiting for. - -- Support for custom lifestyle through configuration (kudos to Bawer Dagdeviren): - - - -- Added Type converter for enums - -- Support to associate configuration nodes to methods. Usage: - - - - - - - - - - Which is equivalent to - - - - - - - - - -- IResource introduced (FileResource, AssemblyResource, ConfigResource and UncResource) - which are accessible through Uris: - - - FileResource: - file://pathtofile - (For example: file://c:\mydir\file.txt) - - - AssemblyResource: - assembly://AssemblyName/ExtendingNamespace/filename - (For example: assembly://Castle.Windsor.Tests/Configuration2/include1.xml) - - - ConfigResource: - config://sectioname - (For example: config://castle will fetch the - entry in the configuration) - - - UncResource: - \\server\file - (For example: \\mysharedplace\myconfig.xml) - -- IResource, IResourceFactory and IResourceSubSystem introduced - -- Ability to use in configuration files. Usage - - - prop1 value - prop2 value - - - - - - #{prop1} - - - - - - - - - -- Ability to use in configuration files. Usage - - Main file: - - - - - - - - include1.xml: - - - - - - - - - - - - - - - - -Beta 3 -====== - -- Bug in dependency resolution (when chained) fixed -- Better message description on exceptions related to unresolved dependencies. -- Fixed bug in AddComponentWithProperties - -Beta 2 - 10/apr/2005 -====== - -- Bug fixes - -- Configuration object model separated into interpreters and sources - -- AbstractFacility added - - -Beta 1 - 21/jan/2005 -====== - -- Changed: from #{} to ${} - way of referencing to another component - on the configuration. - -- Added: support for dictionaries, lists and arrays on the configuration file. - - - - - - value - - - - - -- Added: Component Graph (used by the Remove method and to dispose the components) - -- Fixed: Remove method - -- Fixed: Windsor: Proxy for components with (service != impl) diff --git a/packages/Castle.Windsor.3.2.0/License.txt b/packages/Castle.Windsor.3.2.0/License.txt deleted file mode 100644 index a00764d..0000000 --- a/packages/Castle.Windsor.3.2.0/License.txt +++ /dev/null @@ -1,14 +0,0 @@ -Copyright 2004-2013 Castle Project - http://www.castleproject.org/ - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - diff --git a/packages/Castle.Windsor.3.2.0/lib/net35/Castle.Windsor.dll b/packages/Castle.Windsor.3.2.0/lib/net35/Castle.Windsor.dll deleted file mode 100644 index 53e1d31..0000000 Binary files a/packages/Castle.Windsor.3.2.0/lib/net35/Castle.Windsor.dll and /dev/null differ diff --git a/packages/Castle.Windsor.3.2.0/lib/net35/Castle.Windsor.xml b/packages/Castle.Windsor.3.2.0/lib/net35/Castle.Windsor.xml deleted file mode 100644 index ca3813b..0000000 --- a/packages/Castle.Windsor.3.2.0/lib/net35/Castle.Windsor.xml +++ /dev/null @@ -1,7812 +0,0 @@ - - - - Castle.Windsor - - - - - Attempts to dynamically load a UserControl by invoking Page.LoadControl. There are two uses of this class. - 1) Add a component to the Kernel and add a VirtualPath attribute specifying the relative path of the .ascx file for the associated UserControl. (easy) - - - <component id="BasketView" - service="Castle.ShoppingCart.IBasketView, Castle.ShoppingCart" - type="Castle.ShoppingCart.BasketView, Castle.ShoppingCart" - lifestyle="transient" - virtualPath="~/Views/BasketView.ascx" - /> - - - 2) Precompile a UserControl and add the pre-compiled class to the Kernel. (hard) Has not been tested with proxies. - - - - - Standard implementation of . Handles the selection of the best constructor, fills the writable properties the component exposes, run the commission and - decommission lifecycles, etc. - - - Custom implementors can just override the CreateInstance method. Please note however that the activator is responsible for the proxy creation when needed. - - - - - Abstract implementation of . The implementors must only override the InternalCreate and InternalDestroy methods in order to perform their creation and destruction - logic. - - - - - Implements the instance creation logic. The default - implementation should rely on an ordinary call to - Activator.CreateInstance(). - - - This interface is provided in order to allow custom components - to be created using a different logic, such as using a specific factory - or builder. - - The constructor for implementation has the following signature: - - - ComponentModel model, IKernel kernel, - ComponentInstanceDelegate onCreation, - ComponentInstanceDelegate onDestruction - - - The Activator should raise the events onCreation and onDestruction - in order to correctly implement the contract. Usually the best - way of creating a custom activator is by extending the existing ones. - - - - - - - - Should return a new component instance. - - - - - - Should perform all necessary work to dispose the instance - and/or any resource related to it. - - - - - - Constructs an AbstractComponentActivator - - - - - Initializes a new instance of the class. - - - - - - - - - Initializes a new instance of the class. - - The model. - The kernel. - The on creation. - The on destruction. - - - - Creates the instance. - - The context. - - The arguments. - - - - - Indicates that the target components wants instance lifetime and reuse scope to be bound to another component further up the object graph. - Good scenario for this would be unit of work bound to a presenter in a two tier MVP application. - The attribute must point to a type - having default accessible constructor and public method matching signature of Func<IHandler[], IHandler> delegate. - - - - - Base for Attributes that want to express lifestyle - chosen by the component. - - - - - Initializes a new instance of the class. - - The type. - - - - Gets or sets the lifestyle. - - The lifestyle. - - - - Initializes a new instance of the class. - - type having default accessible constructor and public method matching signature of Func<IHandler[], IHandler> delegate. The method will be used to pick of the component current instance should be bound to. - - - - type having default accessible constructor and public method matching signature of Func<IHandler[], IHandler> delegate. The method will be used to pick of the component current instance should be bound to. - - - - - Represents a dependency (other component or a - fixed value available through external configuration). - - - - - Initializes a new instance of the class. - - The dependency key. - Type of the target. - if set to true [is optional]. - - - - Returns a that represents the current . - - A that represents the current . - - - - The default value of this dependency. Note that null is a valid default value. Use to determine whether default value was provided. - - - - - Gets or sets the dependency key. - - The dependency key. - - - - Specifies whether dependency has a default value (). Note that null is a valid default value. - - - - - Gets or sets whether this dependency is optional. - - true if this dependency is optional; otherwise, false . - - - - Gets the service type of the dependency. - This is the same type as or if is by ref, - then it's the element type of the reference. (in other words if dependency - is out IFoo foo this will be IFoo, while will be &IFoo); - - - - - Gets the type of the target. - - The type of the target. - - - Indicates that the target components wants a custom lifestyle. - - - - Initializes a new instance of the class. - - The custom lifestyle type. - - - - Marks as constructor to be skipped and not be selected - by the IoC container during new component activation - - - - - This attribute is useful only when you want to register all components - on an assembly as a batch process. - By doing so, the batch register will look - for this attribute to distinguish components from other classes. - - - - - Associates a custom activator with a component - - - - - Initializes a new instance of the class. - - Type of the component activator. - - - - Gets the type of the component activator. - - The type of the component activator. - - - - Gets the default name for component implemented by which will be used in case when user does not provide one explicitly. - - - - - - - Gets the default name for component implemented by which will be used in case when user does not provide one explicitly. - - - - - - - Specifies the proxying behavior for a component. - - - - - Gets or sets a value indicating whether the generated - interface proxy should inherit from . - - - - - Gets or sets the additional interfaces used during proxy generation. - - - - - Marks as property to be skipped and not be wired - by the IoC container - - - - - Represents a concern that will be applied to a component instance - during commission phase (right after component instance is activated). - - - - - Implementors should act on the instance in response to - a commission phase. - - The model. - The component. - - - - Represents a concern that will be applied to a component instance - during decommission phase (right before component instance is destroyed). - - - - - Implementors should act on the instance in response to - a decommission phase. - - The model. - The component. - - - - Lifecycle interface. If implemented by a component, - the method Initialized will be invoked by the container - before making the component available to the external world. - - - - - Implementors should perform any initialization logic. - - - - - Used to declare that a component wants interceptors acting on it. - Out of the box recognized only if applied on component's implementation class. - - - - - Constructs the InterceptorAttribute pointing to a key to a interceptor - - - - - - Constructs the InterceptorAttribute pointing to a service - - - - - - Simple type for thread safe adding/reading to/from keyed store. The difference between this and built in concurrent dictionary is that in this case adding is happening under a lock so never more than one thread will be adding at a time. - - - - - - - Returns all values and clears the dictionary - - - - - - Performs string comparison using - - - - - - - - 0 == false, 1 = =true - - - - - Signals (sets) the flag. - - true if the current thread signaled the flag, false if some other thread signaled the flag before. - - - - Marker class used to denote components that have late bound type - That is the actual type is not known exactly at the time when - is created. Those are for example components instantiated via abstract factory. - - - - - If the extended type is a Foo[] or IEnumerable{Foo} which is assignable from Foo[] this method will return typeof(Foo) - otherwise null. - - - - - - - Checkis if given is a primitive type or collection of primitive types. Value types, are considered primitive and can not be registered as components in Windsor - - - - - - - Checkis if given is a primitive type. Value types and are considered primitive and can not be registered as components in Windsor - - - - - - - Calls and if a generic constraint is violated returns null instead of throwing . - - - - - - - - Enumeration used to mark the component's lifestyle. - - - - - No lifestyle specified. - - - - - Singleton components are instantiated once, and shared - between all clients. - - - - - Thread components have a unique instance per thread. - - - - - Transient components are created on demand. - - - - - Optimization of transient components that keeps - instance in a pool instead of always creating them. - - - - - PerWebRequest components are created once per Http Request - - - - - Any other logic to create/release components. - - - - - Instances are reused within the scope provided. - - - - - Instance lifetime and reuse scope is bound to another component further up the object graph. - Good scenario for this would be unit of work bound to a presenter in a two tier MVP application. - When specified in xml a scopeRootBinderType attribute must be specified pointing to a type - having default accessible constructor and public method matching signature of Func<IHandler[], IHandler> delegate. - - - - - Indicates that the target components wants a - per thread lifestyle. - - - - - Initializes a new instance of the class. - - - - - Indicates that the target components wants a - per web request lifestyle. - - - - - Indicates that the target components wants a - pooled lifestyle. - - - - - Initializes a new instance of the class - using the default initial pool size (5) and the max pool size (15). - - - - - Initializes a new instance of the class. - - Initial size of the pool. - Max pool size. - - - - Gets the initial size of the pool. - - The initial size of the pool. - - - - Gets the maximum pool size. - - The size of the max pool. - - - - Specifies rules for designating settable properties on a component as dependencies, and controlling whether they are requred or not. - This is a shortcut for most common scenarios. More advanced/custom scenarios can be defined dynamically in the registration API. - - - - - Takes no action. By default that means all settable properties will be exposed as optional dependencies. - - - - - Makes all property dependencies required. - - - - - Makes all property dependencies defined at a base class/interfaces level required. - - - - - Makes all properties ignored. - - - - - Ignores all properties defined at a base class/interface level. - - - This option is particularily useful in scenarios like UI controls which in .NET UI frameworks tend to have byzantine inheritance hierarchies. - - - - - Indicates that the target components wants a - per thread lifestyle. - - - - - Initializes a new instance of the class. - - - - - Indicates that the target components wants a - singleton lifestyle. - - - - - Initializes a new instance of the class. - - - - - Indicates that the target components wants a - transient lifestyle. - - - - - Initializes a new instance of the class. - - - - - Implementors must inspect the component for - a given information or parameter. - - - - - Usually the implementation will look in the configuration property - of the model or the service interface, or the implementation looking for - something. - - The kernel instance - The component model - - - - Selects one or both of component name and type, for given method - called on given typed factory type. - When component should be requested by type only, - componentName should be null. - When component should be requested by name only, - componentType should be null. - - - - - - - - If set to true, all methods with names like 'GetSomething' will try to resolve by name component 'something'. Defaults to true. - If set to true, will fallback to resolving by type, if can not find component with specified name. This property is here for backward compatibility. It is recommended not to use it. Defaults to false. - - - - Builds for given call. - By default if is a collection - returns factory calling on collection's item type, - otherwise standard . - - - - - - - - - - Selects arguments to be passed to resolution pipeline. - By default passes all given - keyed by names of their corresponding parameters. - - - - - - - - Selects name of the component to resolve. - If Name is GetFoo returns "Foo", otherwise null. - - - - - - - - Selects type of the component to resolve. Uses return type. - - - - - - - - If set to true, will fallback to resolving by type, if can not find component with specified name. This property is here for backward compatibility. It is recommended not to use it. - - - - - If set to true, all methods with names like 'GetSomething' will try to resolve by name component 'something'. - - - - - Implemented by which don't necessarily need dependencies from the container to activate new instances of the component. - - - - - Should return true if the activator can provide dependencies for the . - - - - - - - Should return true if the activated instances of the are managed externally to the container. That means container will not try to track the objects in . - - - - - - - Provides lazy registration capabilities to the container. - - - When a component is requested from a container and it was not registered, - container loads up all registered implementers of this interface and asks - them in turn whether they can provide that component, until it finds one that will. - - - - - Used by container to allow the loader to register component for given and to the container at the time when it is requested - - Name of the requested component or null - Type of requested service or null - User supplied arguments or null - Registration that registers component for given key and/or service or null. - - While either key or service can be null reference it is guaranteed that at least one of them will not be null. - When implementer opts in to provide the requested component (by returning not-null registration) it is required - to register component for requested key/service combination (when one of the elements is null, it should be ignored as well). - When implementer does not want to register the requested component it must return null. - - - - - Specifies default configuration for a typed factory. All Selector* properties are mutually exclusive, that is you're only meant to set one. - - - - - Specifies component to use as selector for given factory. This works like any named service override. - - - - - Specifies component to use as selector for given factory. This works like any typed service override. - - - - - Specifies type of the selector to use for given factory. The type will be instantiated using default constructor. It must implement - - - - - Exception thrown whe a component could not be activated. THis should come from the component activator. - - - - - Exception thrown when resolution process for a component was unsuccessful at some point for whatever reason. - - - - - If - true - requires release by - - . If - false - , the object has a well defined, detectable end of life (web-request end, disposal of the container etc), and will be released externally. - - - - - Represents collection of arguments used when resolving a component. - - - - - Exception thrown when component has no resolvable constructor that can be used to create an instance. - - - - - Possible states for a IHandler instance - - - - - The component can be requested - - - - - The component can not be requested - as it still depending on a external - dependency not yet available - - - - - Inspects missings dependencies in the container. Default implementation is used to - construct helpful message for exceptions and debugger views, but other implementations - are also possible if needed. - - - - - Summary description for DefaultHandler. - - - - - Implements the basis of - - - - - Contract for the IHandler, which manages an - component state and coordinates its creation - and destruction (dispatching to activators, lifestyle managers) - - - - - Implementors should use a strategy to obtain - valid references to properties and/or services - requested in the dependency model. - - - - - Returns true if the resolver is able to satisfy this dependency. - - Creation context, which is a resolver itself - Parent resolver - normally the IHandler implementation - Model of the component that is requesting the dependency - The dependency model - true if the dependency can be satisfied - - - - Should return an instance of a service or property values as - specified by the dependency model instance. - It is also the responsibility of - to throw an exception in the case a non-optional dependency - could not be resolved. - - Creation context, which is a resolver itself - Parent resolver - normally the IHandler implementation - Model of the component that is requesting the dependency - The dependency model - The dependency resolved value or null - - - - Initializes the handler with a reference to the - kernel. - - - - - - Tests whether the handler is already being resolved in given context. - - - - - Implementors should dispose the component instance - - - true if destroyed. - - - - Implementors should return a valid instance - for the component the handler is responsible. - It should throw an exception in the case the component - can't be created for some reason - - - - - - Returns true if this handler supports - - - - - - - Implementors should return a valid instance - for the component the handler is responsible. - It should return null in the case the component - can't be created for some reason. No exception should be thrown. - - - - - - Gets the model of the component being - managed by this handler. - - - - - Gets the state of the handler - - - - - Might be implemented by a handler - so it can expose access to dependency information - which is used to construct meaningful error messages - - - - - Informs the about missing dependencies. - Implementers should ignore the call if no dependencies are missing and - call back the inspector with the information required otherwise - - - - - - Dictionary of key (string) to - - - - - Constructs and initializes the handler - - - - - - Should be implemented by derived classes: disposes the component instance (or recycle it) - - - true if destroyed. - - - - Returns an instance of the component this handler is responsible for - - - when false , handler can not create valid instance and return null instead - - - - - Saves the kernel instance, subscribes to event, creates the lifestyle manager instance and computes the handler state. - - - - - - disposes the component instance (or recycle it). - - - - - - - Returns an instance of the component this handler is responsible for - - - - - - - Invoked by in order to check if a dependency can be satisfied. If not, the handler is set to a 'waiting dependency' state. - - - This method registers the dependencies within the correct collection or dictionary and changes the handler state to - - - - - - Invoked by the kernel when one of registered dependencies were satisfied by new components registered. - - - Handler for the event - - - - - - Invoked when the container receives a parent container reference. - - - This method implementation checks whether the parent container is able to supply the dependencies for this handler. - - - - - - - Gets the component model. - - - - - Gets the handler state. - - - - - Lifestyle manager instance - - - - - Initializes a new instance of the - - class. - - - - - - disposes the component instance (or recycle it) - - - true if destroyed - - - - Returns an instance of the component this handler - is responsible for - - - - - - - - - - Lifestyle manager instance - - - - - Thrown when can't create proper closed version of itself due to violation of generic constraints. - - - - - Summary description for HandlerException. - - - - - Initializes a new instance of the class. - - The message. - - - - - Initializes a new instance of the class. - - The message. - - - - - - Initializes a new instance of the class. - - The object that holds the serialized object data. - The contextual information about the source or destination. - - - - Initializes a new instance of the class. - - The message. - - - - - Initializes a new instance of the class. - - The message. - - - - - - Initializes a new instance of the class. - - The object that holds the serialized object data. - The contextual information about the source or destination. - - - - Used during a component request, passed along to the whole process. - This allow some data to be passed along the process, which is used - to detected cycled dependency graphs and now it's also being used - to provide arguments to components. - - - - - The list of handlers that are used to resolve - the component. - We track that in order to try to avoid attempts to resolve a service - with itself. - - - - - Initializes a new instance of the class. - - The type to extract generic arguments. - The parent context. - When set to true will clone . - - - - Initializes a new instance of the class. - - The handler. - The release policy. - The type to extract generic arguments. - The additional arguments. - The conversion manager. - Parent context - - - - Initializes a new instance of the class. - - - - - Method used by handlers to test whether they are being resolved in the context. - - - - - This method is provided as part of double dispatch mechanism for use by handlers. - Outside of handlers, call instead. - - - - - Creates a new, empty instance. - - - A new CreationContext should be created every time, as the contexts keeps some state related to dependency resolution. - - - - - Default implementation of . This implementation is complete and also support a kernel hierarchy (sub containers). - - - Default implementation of . - This implementation is complete and also support a kernel - hierarchy (sub containers). - - - - - The IKernel interface exposes all the functionality - the MicroKernel implements. - - - It allows you to register components and - request them by their name or the services they expose. - It also allow you to register facilities and subsystem, thus - augmenting the functionality exposed by the kernel alone to fit - your needs. - - - - - - - Summary description for IKernelEvents. - - - - - Event fired when a new component is registered - on the kernel. - - - - - Event fired after the ComponentModel is created. - Allows customizations that may affect the handler. - - - - - Event fired when the kernel was added as child of - another kernel. - - - - - Event fired when the kernel was removed from being a child - of another kernel. - - - - - Event fired before the component is created. - - - - - Event fired when a component instance destroyed. - - - - - Event fired when a new handler is registered - (it might be in a valid or waiting dependency state) - - - - - Event fired when a new handler is registered - (it might be in a valid or waiting dependency state) - - - - - Event fired when a dependency is being resolved, - it allows the dependency to be changed, - but the client ComponentModel must not be changed. - - - - - Event fired when registration / installation process is completed. - That is when container is about to exit method. This event is raised once regardless of how many components were registered. - If the is called by the event is raised when that method exits. - - - - - Event fired when a collection is being resolved (via or another overload) and the collection is empty. - Implementors would usually log that fact or potentially throw an exception (especially in development). - - - - - Support for kernel hierarchy - - - - - - Adds a to the kernel. - - - - - - - Creates and adds an facility to the kernel. - - The facility type. - - - - - Creates and adds an facility to the kernel. - - The facility type. - The callback for creation. - - - - - Register a new component resolver that can take part in the decision - making about which handler to resolve - - - - - Register a new component resolver that can take part in the decision - making about which handler(s) to resolve and in which order - - - - - Adds (or replaces) an - - - - - - - Return handlers for components that - implements the specified service. - The check is made using IsAssignableFrom - - - - - - - Returns the facilities registered on the kernel. - - - - - - Returns the - for the specified component name. - - - - - - - Returns the - for the specified service. - - - - - - - Return handlers for components that - implements the specified service. - - - - - - - Returns an implementation of - for the specified name. - - - - - - - - Returns true if a component with given was registered, otherwise false. - - - - - - - Returns true if the specified service was registered - - - - - - - Registers the components with the . The instances of are produced by fluent registration API. - Most common entry points are method to register a single type or (recommended in most cases) - . - Let the Intellisense drive you through the fluent API past those entry points. For details see the documentation at http://j.mp/WindsorApi - - - - kernel.Register(Component.For<IService>().ImplementedBy<DefaultService>().LifestyleTransient()); - - - - - kernel.Register(Classes.FromThisAssembly().BasedOn<IService>().WithServiceDefaultInterfaces().Configure(c => c.LifestyleTransient())); - - - The component registrations created by , or different entry method to the fluent API. - The kernel. - - - - Releases a component instance. This allows - the kernel to execute the proper decommission - lifecycles on the component instance. - - - - - - Remove child kernel - - - - - - Adds a to the kernel. - - - - - - - - Creates and adds an facility to the kernel. - - The facility type. - - - - - Creates and adds an facility to the kernel. - - The facility type. - - The callback for creation. - - - - Returns the component instance by the component key - using dynamic arguments - - Key to resolve - Arguments to resolve the services - - - - - Returns the component instance by the component key - using dynamic arguments - - - - - - - - Returns the component instance by the service type - - - - - Returns the component instance by the service type - using dynamic arguments - - - - - - - - Returns the component instance by the service type - using dynamic arguments - - Service to resolve - Arguments to resolve the services - - - - - Returns a component instance by the key - - - - - - - - Returns the component instance by the service type - using dynamic arguments - - - - - - - Returns the component instance by the service type - using dynamic arguments - - Arguments to resolve the services - - - - - Returns the component instance by the component key - - - - - - Returns a component instance by the key - - Component's key - Service type - The Component instance - - - - Returns a component instance by the key - - Service type - Component's key - - The Component instance - - - - Returns a component instance by the key - - - - - - - - - Returns all the valid component instances by - the service type - - The service type - - - - Returns all the valid component instances by - the service type - - The service type - Arguments to resolve the services - - - - Returns all the valid component instances by - the service type - - The service type - Arguments to resolve the services - - - - Returns component instances that implement TService - - - - - - - Returns component instances that implement TService - - - - - - - Returns component instances that implement TService - - - - - - - Returns the implementation of - - - - - Gets or sets the implementation of - - - - - Graph of components and interactions. - - - - - Returns the implementation of - - - - - Returns the parent kernel - - - - - Gets or sets the implementation of - allowing different strategies for proxy creation. - - - - - Gets or sets the implementation for - - - - - Returns the implementation for - - - - - Returns the component instance by the key - - - - - Returns the component instance by the service type - - - - - Extended contract of kernel, used internally. - - - - - Adds a custom made . Used by facilities. - - - - - - Constructs an implementation of for the given - - - - - - - Returns a component instance by the key - - - - - - - - - - Internal logger used by the container (not just implementation itself but also other classes too) to log information about what's happening in the container. - - - - - List of sub containers. - - - - - List of registered. - - - - - Map of subsystems registered. - - - - - The parent kernel, if exists. - - - - - Constructs a DefaultKernel with no component proxy support. - - - - - Constructs a DefaultKernel with the specified implementation of and - - - - - - - Constructs a DefaultKernel with the specified implementation of - - - - - Starts the process of component disposal. - - - - - Return handlers for components that implements the specified service. The check is made using IsAssignableFrom - - - - - - - Returns the facilities registered on the kernel. - - - - - - Return handlers for components that implements the specified service. - - - - - - - Registers the components with the . The instances of are produced by fluent registration API. Most common entry points are - method to register a single type or (recommended in most cases) . Let the Intellisense drive you through the - fluent - API past those entry points. For details see the documentation at http://j.mp/WindsorApi - - - kernel.Register(Component.For<IService>().ImplementedBy<DefaultService>().LifestyleTransient()); - - - kernel.Register(Classes.FromThisAssembly().BasedOn<IService>().WithServiceDefaultInterfaces().Configure(c => c.LifestyleTransient())); - - The component registrations created by , or different entry method to the fluent - API. - The kernel. - - - - Releases a component instance. This allows the kernel to execute the proper decommission lifecycles on the component instance. - - - - - - Creates an implementation of based on and invokes to initialize the newly created manager. - - - - - - - - It is the responsibility of the kernel to ensure that handler is only ever disposed once. - - - - - Returns the component instance by the component key - using dynamic arguments - - - - - - - - Returns the component instance by the component key - using dynamic arguments - - - - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the key - - - - - - - - - Returns the component instance by the service type - using dynamic arguments - - - - - - - Returns the component instance by the service type - using dynamic arguments - - - - - - - Returns the component instance by the component key - - - - - - Returns a component instance by the key - - Component's key - Service type - - The Component instance - - - - - Returns a component instance by the key - - Service type - Component's key - - - The Component instance - - - - - Returns the component instance by the service type - - - - - Returns the component instance by the service type - using dynamic arguments - - - - - - - - Returns the component instance by the service type - using dynamic arguments - - - - - - - - Returns all the valid component instances by - the service type - - The service type - - - - Returns all the valid component instances by - the service type - - The service type - - Arguments to resolve the services - - - - - Returns all the valid component instances by - the service type - - The service type - - Arguments to resolve the services - - - - - Returns component instances that implement TService - - - - - - - - Returns component instances that implement TService - - - - - - - - Returns component instances that implement TService - - - - - - - Returns a component instance by the key - - - - - - - - - - Graph of components and interactions. - - - - - Exception throw when a circular dependency is detected - - - - - Initializes a new instance of the - - class. - - The message. - - - - Initializes a new instance of the - - class. - - The message. - The inner exception. - - - - Initializes a new instance of the - - class. - - - - - - - Initializes a new instance of the - - class. - - The - - that holds the serialized object data about the exception being thrown. - The - - that contains contextual information about the source or destination. - The - - parameter is - - . - The class name is - - or - - is zero (0). - - - - Exception threw when a request for a component - cannot be satisfied because the component does not - exist in the container - - - - - Initializes a new instance of the - - class. - - The name. - Exception message. - - - - Initializes a new instance of the - - class. - - The service. - Exception message. - - - - Initializes a new instance of the - - class. - - The service. - - - - Initializes a new instance of the - - class. - - The object that holds the serialized object data. - The contextual information about the source or destination. - - - - Exception threw when there is a problem - registering a component - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The object that holds the serialized object data. - The contextual information about the source or destination. - - - - Implementation of this interface allows for extension of the way - the container looks up multiple handlers. It provides the necessary - hook to allow for business logic to prioritize, filter, and sort - handlers when resolving multiple handlers. - - - - - Whatever the selector has an opinion about resolving a component with the - specified service and key. - - The service interface that we want to resolve - - - - Select the appropriate handlers (if any) from the list of defined handlers, - returning them in the order they should be executed. - The returned handlers should members from the array. - - The service interface that we want to resolve - The defined handlers - The selected handlers, or an empty array, or null - - - - Exception threw by Kernel operations that failed - for some reason. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The message. - The inner exception. - - - - Initializes a new instance of the class. - - The object that holds the serialized object data. - The contextual information about the source or destination. - - - - Base class for facilities. - - - - - Unit of extension. A facility should use - the extension points offered by the kernel - to augment its functionality. - - - - - - - - - - - - - - - The custom initialization for the Facility. - - - It must be overridden. - - - - - Performs the tasks associated with freeing, releasing, or resetting - the facility resources. - - - It can be overriden. - - - - - Initializes the facility. First it performs the initialization common for all - facilities, setting the and the - . After it, the Init method is invoked - and the custom initilization is perfomed. - - - - - - - Terminates the Facility, invokes the method and sets - the Kernel to a null reference. - - - - - Gets the facility configuration. - - The representing - the facility configuration. - - - - Gets the where the facility is registered. - - The . - - - - Base exception to be used by facilities. - - - - - This method changes behavior of the facility. Deferred mode should be used when you - have single call to and register all your components there. - Enabling this mode will optimize the behavior of the facility so that it will wait 'till the end of - installation and only after all s were ran it will instantiate and - start all the startable components. An exception will be thrown if a startable component can't be - instantiated and started. This will help you fail fast and diagnose issues quickly. If you don't want - the exception to be thrown and you prefer the component to fail silently, use method instead. - - - It is recommended to use this method over method. - - - - - This method changes behavior of the facility. Deferred mode should be used when you - have single call to and register all your components there. - Enabling this mode will optimize the behavior of the facility so that it will wait 'till the end of - installation and only after all s were ran it will instantiate and - start all the startable components. No exception will be thrown if a startable component can't be - instantiated and started. If you'd rather fail fast and diagnose issues quickly, use method instead. - - - It is recommended to use method over this method. - - - - - For each new component registered, - some components in the WaitingDependency - state may have became valid, so we check them - - - - - Request the component instance - - - - - - Assigns the start method for the startable. - - - The start method. - - - Be sure that you first added the - to the kernel, before registering this component. - - - - - Assigns the start method for the startable. - - - Method to use. something like: StartUsingMethod(s => s.Start) - - - Be sure that you first added the - to the kernel, before registering this component. - - - - - Assigns the stop method for the startable. - - - The stop method. - - - Be sure that you first added the - to the kernel, before registering this component. - - - - - Assigns the stop method for the startable. - - - Method to use. something like: StartUsingMethod(s => s.Start) - - - Be sure that you first added the - to the kernel, before registering this component. - - - - - Legacy class from old impl. of the facility. Do not use it. - - - - - Legacy interceptor for old impl. of the facility. - - - - - Interceptors might implement this to receive the - ComponentModel on behalf of the component where the - interceptor is acting. - - - - - Represents a single component to be resolved via Typed Factory - - - - - Resolves the component(s) from given kernel. - - - - Resolved component(s). - - - - Provides automatically generated factories on top of interfaces or delegates that - you can use to pull components out of the container without ever referencing it - explicitly. - - - - - Marks the component as typed factory. - - - - - - Only interfaces and delegates are legal to use as typed factories. Methods with out parameters are not allowed. - When registering component as typed factory no implementation should be provided (in case there is any it will be ignored). - Typed factories rely on set internally, so users should not set interceptor selectors explicitly; - otherwise the factory will not function correctly. - - - - - Marks the component as typed factory. - - - - Name of the component to be used for this factory - - - Only interfaces and delegates are legal to use as typed factories. Methods with out parameters are not allowed. - When registering component as typed factory no implementation should be provided (in case there is any it will be ignored). - Typed factories rely on set internally, so users should not set interceptor selectors explicitly; - otherwise the factory will not function correctly. - - - - - Marks the component as typed factory. - - - - Type of the component to be used for this factory - - - Only interfaces and delegates are legal to use as typed factories. Methods with out parameters are not allowed. - When registering component as typed factory no implementation should be provided (in case there is any it will be ignored). - Typed factories rely on set internally, so users should not set interceptor selectors explicitly; - otherwise the factory will not function correctly. - - - - - Marks the component as typed factory. - - - - The instance to be used for this factory - - - Only interfaces and delegates are legal to use as typed factories. Methods with out parameters are not allowed. - When registering component as typed factory no implementation should be provided (in case there is any it will be ignored). - Typed factories rely on set internally, so users should not set interceptor selectors explicitly; - otherwise the factory will not function correctly. - - - - - Marks the component as typed factory. - - - - - - - Only interfaces and delegates are legal to use as typed factories. Methods with out parameters are not allowed. - When registering component as typed factory no implementation should be provided (in case there is any it will be ignored). - Typed factories rely on set internally, so users should not set interceptor selectors explicitly; - otherwise the factory will not function correctly. - - - - - Initializes a new instance of the class. - - The parent handler. - The child resolver. - Release policy of the parent container. - - - - Clone some of the parent componentmodel properties to the generic subhandler. - - - The following properties are copied: - - - The - - - - - - The - - - - - - the subhandler - - - - Extension point to allow the developer to use his implementation of - - - - - Represents a delegate which holds basic information about a component. - - Key which identifies the component - handler that holds this component and is capable of - creating an instance of it. - - - - - Represents a delegate which holds basic information about a component - and its instance. - - Component meta information - Component instance - - - - Represents a delegate which holds the information about the - component - - - - - Represents a delegate which holds the information about a service. - - - - - Represents a delegate which holds a handler - - handler that holds a component and is capable of - creating an instance of it. - - - - - - Represents a delegate which holds dependency - resolving information. - - - - - Abstract representation of a vertex. - - - - - The nodes that this node depends on - - - - - The node has not been visited yet - - - - - This node is in the process of being visited - - - - - This now was visited - - - - - Represents a collection of objects - which are guaranteed to be unique - and holds a color for them - - - - - Holds a timestamp (integer) - for a given item - - - - - Summary description for DisposalConcern. - - - - - Summary description for InitializationConcern. - - - - - Lifetime concern that works for components that don't have their actual type determined upfront - - - - - Lifetime concern that works for components that don't have their actual type determined upfront - - - - - Lifetime concern that works for components that don't have their actual type determined upfront - - - - - Summary description for SupportInitializeConcern. - - - - - Only called for components that - belongs to a pool when the component - comes back to the pool. - - - - - Implementors should perform any - initialization/clean up. - - - - - Interface for components that wish to be started and stopped by the container - - - - - Starts this instance. - - - - - Stops this instance. - - - - - Base implementation of - - - - - The ILifestyleManager implements - a strategy for a given lifestyle, like singleton, per-thread - and transient. - - - The responsibility of ILifestyleManager - is only the management of lifestyle. It should rely on - to obtain a new component instance - - - - - Initializes the ILifestyleManager with the - - - - - - - - - Implementors should release the component instance based - on the lifestyle semantic, for example, singleton components - should not be released on a call for release, instead they should - release them when disposed is invoked. - - - - - - Implementors should return the component instance based on the lifestyle semantic. - Also the instance should be set to , should be also set if needed - and if a new instance was created it should be passed on to of . - - - - - - - - Invoked when the container gets disposed. The container will not call it multiple times in multithreaded environments. - However it may be called at the same time when some out of band release mechanism is in progress. Resolving those potential - issues is the task of implementors - - - - - Provides access to held in whatever is appropriate for given scope. - - - Implementors should also ensure proper initialization of when accessed for the first time and ensure a thread safe implementation is used when scope or cache access can cause threading issues if non thread safe cache is used. - - - - - Provides access to for currently resolved component. - - Current creation context - Thrown when scope cache could not be accessed. - - - - Returns current request's scope and detaches it from the request context. - Does not throw if scope or context not present. To be used for disposing of the context. - - - - - - Manages a pool of objects. - - - - - Pool implementation contract. - - - - - Implementors should release the instance or put it - on the pool - - - - - Represents persistence mechanism for instances of components that are supposed to be reused within scope managing the cache. - - - - Saves or retrieves a stored in the cache associated with the given . - - - Thrown when is null. - - - Thrown when there is already a associated with given - - value in the cache. - - The interface gives no thread safety guarantees. When the scope can be accessed from multiple threads the implementor should ensure thread safety. - - - - Provides explicit lifetime scoping within logical path of execution. Used for types with . - - - The scope is passed on to child threads, including ThreadPool threads. The capability is limited to single and should be used cauciously as call to may occur while the child thread is still executing, what in turn may lead to subtle threading bugs. - - - - - Delegate used by to request a new instance to be created (that would be the first instance in that scope, subsequently reused). - - Callback which should be invoken by provided delegate right after isntance gets created and before it burden gets tracked. - The purpose if this callback is to include scope in decisions regarding tracking of the instance by . - Depending on the scope implementation it may or may not provide its own end of lifetime detection mechanism. - - - - - Contribute to component model before standard run. - - - - - - - Contribute to component model after standard run. - - - - - - - Contribute to component model after standard run. - - - - - - - Entry point to fluent way to register, by convention, multiple concrete (non-abstract) classes (that include also delegate types). Use static methods on the class to fluently build - registration. - - - - Prepares to register types from a list of types. - The list of types. - - The corresponding - - - - Prepares to register types from a list of types. - The list of types. - - The corresponding - - - - Prepares to register types from an assembly. - The assembly. - - The corresponding - - - - Prepares to register types from an assembly containing the type. - The type belonging to the assembly. - - The corresponding - - - - Prepares to register types from an assembly containing the type. - The type belonging to the assembly. - - The corresponding - - - - Prepares to register types from assemblies found in a given directory that meet additional optional restrictions. - - - - - Scans current assembly and all refernced assemblies with the same first part of the name. - - - Assemblies are considered to belong to the same application based on the first part of the name. For example if the method is called from within MyApp.exe and MyApp.exe references - MyApp.SuperFeatures.dll, mscorlib.dll and ThirdPartyCompany.UberControls.dll the MyApp.exe and MyApp.SuperFeatures.dll will be scanned for components, and other - assemblies will be ignored. - - - - Prepares to register types from an assembly. - The assembly name. - - The corresponding - - - - Prepares to register types from the assembly containing the code invoking this method. - - The corresponding - - - - - Entry point to fluent way to register, by convention, multiple types. No upfront filtering is done so literally every type will be considered. That means that usually some filtering done by user - will be required. For a most common case where non-abstract classes only are to be considered use class instead. Use static methods on the class to fluently build - registration. - - - - Prepares to register types from a list of types. - The list of types. - - The corresponding - - - - Prepares to register types from a list of types. - The list of types. - - The corresponding - - - - Prepares to register types from an assembly. - The assembly. - - The corresponding - - - - Prepares to register types from an assembly containing the type. - The type belonging to the assembly. - - The corresponding - - - - Prepares to register types from an assembly containing the type. - The type belonging to the assembly. - - The corresponding - - - - Prepares to register types from assemblies found in a given directory that meet additional optional restrictions. - - - - - Scans current assembly and all refernced assemblies with the same first part of the name. - - - Assemblies are considered to belong to the same application based on the first part of the name. For example if the method is called from within MyApp.exe and MyApp.exe references - MyApp.SuperFeatures.dll, mscorlib.dll and ThirdPartyCompany.UberControls.dll the MyApp.exe and MyApp.SuperFeatures.dll will be scanned for components, and other - assemblies will be ignored. - - - - Prepares to register types from an assembly. - The assembly name. - - The corresponding - - - - Prepares to register types from the assembly containing the code invoking this method. - - The corresponding - - - - - Only one instance is created first time an instance of the component is requested, and it is then reused for all subseque. - - - - - Transient components are never reused. Since their lifetime does not have any externally constrained end, they have to be manually released if resolved explicitly, to ensure proper decomission. - - - - - Summary description for DefaultComponentModelBuilder. - - - - - Implementors must construct a populated - instance of ComponentModel by inspecting the component - and|or the configuration. - - - - - "To give or supply in common with others; give to a - common fund or for a common purpose". The contributor - should inspect the component, or even the configuration - associated with the component, to add or change information - in the model that can be used later. - - - - - Constructs a new ComponentModel by invoking - the registered contributors. - - - - - - - - - - Removes the specified contributor - - - - - - Initializes a new instance of the class. - - The kernel. - - - - "To give or supply in common with others; give to a - common fund or for a common purpose". The contributor - should inspect the component, or even the configuration - associated with the component, to add or change information - in the model that can be used later. - - - - - - Constructs a new ComponentModel by invoking - the registered contributors. - - - - - - - - - - Removes the specified contributor - - - - - - Initializes the default contributors. - - - - - Gets the contributors. - - The contributors. - - - - Inspects the component configuration and the type looking for a - definition of component activator type. The configuration preceeds whatever - is defined in the component. - - - This inspector is not guarantee to always set up an component activator type. - If nothing could be found it wont touch the model. In this case is up to - the kernel to establish a default component activator for components. - - - - - Searches for the component activator in the configuration and, if unsuccessful - look for the component activator attribute in the implementation type. - - The kernel instance - The model instance - - - - Reads the attribute "componentActivatorType" associated with the - component configuration and verifies it implements the - interface. - - - If the type does not implement the proper interface - - - - - - - Check if the type expose one of the component activator attributes - defined in Castle.Core namespace. - - - - - - Validates that the provide type implements IComponentActivator - - The custom component activator. - - - - Inspects the component configuration and type looking for information - that can influence the generation of a proxy for that component. - - We specifically look for additionalInterfaces and marshalByRefProxy - on the component configuration or the - attribute. - - - - - - Searches for proxy behavior in the configuration and, if unsuccessful - look for the attribute in - the implementation type. - - - - - Returns a instance if the type - uses the attribute. Otherwise returns null. - - - - - - Reads the proxy behavior associated with the - component configuration/type and applies it to the model. - - - If the conversion fails - - - - - - - Uses the ConfigurationStore registered in the kernel to obtain - an associated with the component. - - - - - Queries the kernel's ConfigurationStore for a configuration - associated with the component name. - - - - - - - Check for a node 'parameters' within the component - configuration. For each child it, a ParameterModel is created - and added to ComponentModel's Parameters collection - - - - - Inspect the configuration associated with the component - and populates the parameter model collection accordingly - - - - - - - This implementation of - collects all available constructors and populates them in the model - as candidates. The Kernel will pick up one of the candidates - according to a heuristic. - - - - - Only to hold internal constants and get rid of - magic numbers and hardcode names. - - - - - Inspect the component for InterceptorAttribute and - the configuration for the interceptors node - - - - - Inspects the type looking for interfaces that constitutes - lifecycle interfaces, defined in the Castle.Model namespace. - - - - - Checks if the type implements and or - interfaces. - - - - - - Inspects the component configuration and the type looking for a definition of lifestyle type. The configuration preceeds whatever is defined in the component. - - This inspector is not guarantee to always set up an lifestyle type. If nothing could be found it wont touch the model. In this case is up to the kernel to establish a default lifestyle for - components. - - - - Searches for the lifestyle in the configuration and, if unsuccessful look for the lifestyle attribute in the implementation type. - - - - Reads the attribute "lifestyle" associated with the component configuration and tries to convert to - enum type. - - - - Check if the type expose one of the lifestyle attributes defined in Castle.Model namespace. - - - - Base for inspectors that want configuration associated with methods. - For each child a is created - and added to ComponentModel's methods collection - - - Implementors should override the return - the name of the node to be inspected. For example: - - - - - ]]> - - - - - - This implementation of - collects all potential writable public properties exposed by the component - implementation and populates the model with them. - The Kernel might be able to set some of these properties when the component - is requested. - - - - - Adds the properties as optional dependencies of this component. - - - - - - - Represents the collection of information and meta information collected about a component. - - - - - Dependencies the kernel must resolve - - - - - Interceptors associated - - - - - External parameters - - - - - All potential properties that can be setted by the kernel - - - - - Constructs a ComponentModel - - - - - Adds constructor dependency to this - - - - - - Adds property dependency to this - - - - - - Add service to be exposed by this - - - - - - Requires the selected property dependencies. - - The property selector. - - - - Requires the property dependencies of type . - - The dependency type. - - - - Gets or sets the configuration. - - The configuration. - - - - Gets the constructors candidates. - - The constructors. - - - - Gets or sets the custom component activator. - - The custom component activator. - - - - Gets the custom dependencies. - - The custom dependencies. - - - - Gets or sets the custom lifestyle. - - The custom lifestyle. - - - - Dependencies are kept within constructors and properties. Others dependencies must be registered here, so the kernel (as a matter of fact the handler) can check them - - - - - Gets or sets the extended properties. - - The extended properties. - - - - Gets or sets the component implementation. - - The implementation. - - - - Gets or sets the strategy for inspecting public properties on the components - - - - - Gets the interceptors. - - The interceptors. - - - - Gets the lifecycle steps. - - The lifecycle steps. - - - - Gets or sets the lifestyle type. - - The type of the lifestyle. - - - - Sets or returns the component key - - - - - Gets the parameter collection. - - The parameters. - - - - Gets the properties set. - - The properties. - - - - Gets or sets a value indicating whether the component requires generic arguments. - - true if generic arguments are required; otherwise, false . - - - - Represents a constructor of the component - that the container can use to initialize it properly. - - - - - Initializes a new instance of the class. - - The constructor info. - The dependencies. - - - - Gets the ConstructorInfo (from reflection). - - The constructor. - - - - Gets the dependencies this constructor candidate exposes. - - The dependencies. - - - - Collection of - - - - - Collection of . - - - - - Represents an reference to a Interceptor component. - - - - - Represents obtained just in time object. - - - - - - If the reference introduces dependency on a component, should return for that dependency, otherwise null. - - - - - - - Resolves object referenced by this reference, optionally using provided . - If object is resolved from the kernel, the should be used to guard - against against cyclic dependencies. - - - - - - - - Initializes a new instance of the class. - - The component key. - - - - Initializes a new instance of the class. - - Type of the interceptor to use. This will reference the default component (ie. one with no explicitly assigned name) implemented by given type. - - - - Gets an for the component key. - - The component key. - The - - - - Gets an for the service. - - The service. - The - - - - Gets an for the service. - - The service type. - The - - - - Collection of - - - - Adds the specified interceptor as the first. - The interceptor. - - - Adds the interceptor to the end of the interceptors list if it does not exist already. - The interceptor reference. - - - Adds the specified interceptor as the last. - The interceptor. - - - Inserts the specified interceptor at the specified index. - The index. - The interceptor. - - - Returns an enumerator that can iterate through a collection. - - An - that can be used to iterate through the collection. - - - - Adds the specified item. - The interceptor. - - - Gets a value indicating whether this instance has interceptors. - - true if this instance has interceptors; otherwise, false. - - - - - Represents a collection of ordered lifecycle concerns. - - - - - Returns all concerns for the commission phase - - - - - - Returns all concerns for the decommission phase - - - - - - Gets a value indicating whether this instance has commission steps. - - - true if this instance has commission steps; otherwise, false. - - - - - Gets a value indicating whether this instance has decommission steps. - - - true if this instance has decommission steps; otherwise, false. - - - - - Represents meta information associated with a method - (not yet defined) - - - - - Initializes a new instance of the class. - - The config node. - - - - Gets the config node. - - The config node. - - - - Collection of - - - - - Gets the method info2 model. - - The method info2 model. - - - - Represents a parameter. Usually the parameter - comes from the external world, ie, an external configuration. - - - - - Initializes a new instance of the class. - - The name. - The value. - - - - Initializes a new instance of the class. - - The name. - The value. - - - - Gets the config value. - - The config value. - - - - Gets the name. - - The name. - - - - Gets the value. - - The value. - - - - Collection of - - - - - Adds the specified name. - - The name. - The value. - - - - Adds the specified name. - - The name. - The config node. - - - - Adds the specified key. - - - Not implemented - - The key. - The value. - - - - Returns an enumerator that can iterate through a collection. - - - An - that can be used to iterate through the collection. - - - - - Gets the count. - - The count. - - - - Gets the with the specified key. - - - - - - Represents a property and the respective dependency. - - TODO: remove this class and instead create PropertyDependencyModel like we do for constructors - - - - Initializes a new instance of the class. - - The property info. - The dependency. - - - - Gets the dependency. - - The dependency. - - - - Gets the property. - - The property. - - - - Collection of - - - - Finds a PropertySet the by PropertyInfo. - The info. - - - - - Reference to component obtained from the container. - - - - - - Creates a new instance of referencing default component implemented by - - - - - - Creates a new instance of referencing component - - - - - - Select the appropriate interceptors based on the application specific - business logic - - - - - Determine whatever the specified has interceptors. - The selector should only return true from this method if it has determined that is - a model that it would likely add interceptors to. - - The model - Whatever this selector is likely to add interceptors to the specified model - - - - Select the appropriate interceptor references. - The interceptor references aren't necessarily registered in the model.Intereceptors - - The model to select the interceptors for - The interceptors selected by previous selectors in the pipeline or if this is the first interceptor in the pipeline. - The interceptor for this model (in the current context) or a null reference - - If the selector is not interested in modifying the interceptors for this model, it - should return and the next selector in line would be executed. - If the selector wants no interceptors to be used it can either return null or empty array. - However next interceptor in line is free to override this choice. - - - - - Represents a reference to an existing object. - - - - - - Defines the contract used by the kernel - to obtain proxies for components. The implementor - must return a proxied instance that dispatch - the invocation to the registered interceptors in the model - - - - - Add the selector to the list of selectors that can affect interceptor's decisions - in the container. - - - - - Implementors must create a proxy based on - the information exposed by ComponentModel - - The kernel instance - The component model - The component instance to be proxy (only required in some cases) - array of parameters to the constructor (if any) - The creation context - proxy instance - - - - Implementor should check the component model - and determine if the caller must pass on the component - instance to the proxy - - The kernel instance - The component model - true if an instance must be passed to - - - - Determines whatever we need to create a proxy for this model - - - - - - - This is a placeholder implementation of . - - - The decision to supply no implementation for - is supported by the fact that the MicroKernel should be a thin - assembly with the minimal set of features, although extensible. - Providing the support for this interface would obligate - the user to import another assembly, even if the large majority of - simple cases, no use use of interceptors will take place. - If you want to use however, see the Windsor container. - - - - - Holds the keys used by the proxy factories. - - - - - Key used to supply custom proxy options. - - - - - Represents options to configure proxies. - - - - - Initializes a new instance of the class. - - - - - Adds the additional interfaces to proxy. - - The interfaces. - - - - Adds the additional mix ins to integrate. - - The mix ins. - - - - Adds the additional mix in to integrate. - - The mix in. - - - - Equals the specified obj. - - The obj. - true if equal. - - - - Gets the hash code. - - - - - - Gets the additional interfaces to proxy. - - The interfaces. - - - - Determines if the proxied component can change targets. - - - - - Determines if the interface proxied component should inherit - from - - - - - Gets or sets the proxy hook. - - - - - Gets the mix ins to integrate. - - The interfaces. - - - - Determines if the proxied component uses a target. - - - - - Gets or sets the interceptor selector. - - - - - Helper support for proxy configuration. - - - - - Obtains the associated with the . - - The component model. - true if the options should be created if not present. - The associated proxy options for the component model. - - - - Constructs the descriptor with name and value. - - The attribute name. - The attribute value. - - - - Constructs the descriptor with name. - - The component. - The attribute name. - - - - Builds the with value. - - The attribute value. - The - - - - Factory for creating objects. Use static methods on the class to fluently build registration. - - - - - Creates a component registration for the - - Type of the service. - The component registration. - - - - Creates a component registration for the - - Types of the service. - The component registration. - B - - - - Creates a component registration for the - - Types of the service. - The component registration. - - - - Creates a component registration for the service type. - - The service type. - The component registration. - - - - Creates a component registration for the service types. - - The primary service type. - The forwarded type. - The component registration. - - - - Creates a component registration for the service types. - - The primary service type. - The first forwarded type. - The second forwarded type. - The component registration. - - - - Creates a component registration for the service types. - - The primary service type. - The first forwarded type. - The second forwarded type. - The third forwarded type. - The component registration. - - - - Creates a component registration for the service types. - - The primary service type. - The first forwarded type. - The second forwarded type. - The third forwarded type. - The fourth forwarded type. - The component registration. - - - - Helper method for filtering components based on presence of an Attribute. - - - - - - container.Register( - Classes.FromThisAssembly() - .Where(Component.HasAttribute<UserAttribute>) ); - - - - - Helper method for filtering components based on presence of an Attribute and value of predicate on that attribute. - - - - - - container.Register( - Classes.FromThisAssembly() - .Where(Component.HasAttribute<UserAttribute>(u => u.SomeFlag)) ); - - - - - Determines if the component is a Castle component, that is - if it has a . - - true if the service is a Castle Component. - - This method is usually used as argument for method. - - - - - Creates a predicate to check if a component is in a namespace. - - The namespace. - true if the component type is in the namespace. - - - - Creates a predicate to check if a component is in a namespace. - - The namespace. - If set to true, will also include types from subnamespaces. - true if the component type is in the namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - true if the component is in the same namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - If set to true, will also include types from subnamespaces. - true if the component is in the same namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - true if the component is in the same namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - If set to true, will also include types from subnamespaces. - true if the component is in the same namespace. - - - - Inserts a new named argument with given key. If an argument for this name already exists, it will be overwritten. - - - - - Inserts a new typed argument with given type. If an argument for this type already exists, it will be overwritten. - - - - - Inserts a set of typed arguments. Property names of the anonymous type will be used as key. - - - - - Inserts a new typed argument with given type. If an argument for this type already exists, it will be overwritten. - - - - - Inserts a set of typed arguments. Actual type of the arguments will be used as key. - - - - - Registration for a single type as a component with the kernel. - - You can create a new registration with the factory. - - The service type - - - - The contract for all registrations with the kernel. - - - - - Performs the registration in the . - - The kernel. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Marks the components with one or more actors. - - The component actors. - - - - - Set a custom which creates and destroys the component. - - - - - - Adds the attribute descriptor. - - The key. - The value. - - - - - Adds the descriptor. - - The descriptor. - - - - - Creates an attribute descriptor. - - The attribute key. - - - - - Apply more complex configuration to this component registration. - - The config nodes. - - - - - Apply more complex configuration to this component registration. - - The configuration . - - - - - Defines additional dependencies for the component. Those can be any of , and . Use the static methods on - class to define the dependencies. See the example attached. - - The dependency. - - - Artificial example showing how to specify a service override. See other methods on class for more options. - DependsOn(Dependency.OnComponent(typeof(IRepository), typeof(IntranetRepository))); - - - - - Defines additional dependencies for the component. Those can be any combibation of , and . Use the static methods - on class to define the dependencies. See the example attached. - - The dependencies. - - - Artificial example showing how to specify three different dependencies. If any of the methods shown is not self explanatory consult its documentation. - DependsOn(Dependency.OnAppSettingsValue("connectionString", "intranet-connection-string"), - Dependency.OnComponent(typeof(IRepository), typeof(IntranetRepository)), - Dependency.OnValue("applicationName", "My Application")); - - - - - Uses a dictionary of key/value pairs, to specify custom dependencies. - - - The dependencies. - - - - - Uses an (anonymous) object as a dictionary, to specify custom dependencies. - - - The dependencies. - - - - - Allows custom dependencies to by defined dyncamically. Calling this overload is synonymous to using - - The delegate used for providing dynamic parameters. - - - - - Allows custom dependencies to by defined dynamically with releasing capability. Calling this overload is synonymous to using - - - The delegate used for providing dynamic parameters. - - - - - Allows custom dependencies to by defined dynamically with releasing capability. Calling this overload is synonymous to using - - - The delegate used for providing dynamic parameters. - - - Use when resolving components from in order to detect cycles. - - - - - Allows custom dependencies to by defined dyncamically. - - The delegate used for providing dynamic parameters. - - - - - Allows custom dependencies to by defined dynamically with releasing capability. - - The delegate used for providing dynamic parameters. - - - - - Allows custom dependencies to by defined dynamically with releasing capability. - - The delegate used for providing dynamic parameters. - - - Use when resolving components from in order to detect cycles. - - - - - Sets for this component. - - The extended properties. - - - - - Sets for this component. - - The extended properties. - - - - - Sets for this component. - - The extendend properties as key/value pairs. - - - - - Adds as additional services to be exposed by this component. - - The types to forward. - - - - - Adds as additional service to be exposed by this component. - - The forwarded type. - The component registration. - - - - Adds and as additional services to be exposed by this component. - - The first forwarded type. - The second forwarded type. - The component registration. - - - - Adds , and as additional services to be exposed by this component. - - The first forwarded type. - The second forwarded type. - The third forwarded type. - The component registration. - - - - Adds , , and as additional services to be exposed by - this component. - - The first forwarded type. - The second forwarded type. - The third forwarded type. - The fourth forwarded type. - The component registration. - - - - Adds as additional services to be exposed by this component. - - The types to forward. - - - - - Sets the concrete type that implements the service to . - - If not set, the class service type or first registered interface will be used as the implementation for this component. - - The type that is the implementation for the service. - - - - - Sets the concrete type that implements the service to . - - If not set, the class service type or first registered interface will be used as the implementation for this component. - - The type that is the implementation for the service. - - - - - Sets the concrete type that implements the service to . - - If not set, the class service type or first registered interface will be used as the implementation for this component. - - The type that is the implementation for the service. - Provides ability to close open generic service. Ignored when registering closed or non-generic component. - - - - - Sets the concrete type that implements the service to . - - If not set, the class service type or first registered interface will be used as the implementation for this component. - - The type that is the implementation for the service. - Provides ability to select if open generic component supports particular closed version of a service. - - - - - Sets the concrete type that implements the service to . - - If not set, the class service type or first registered interface will be used as the implementation for this component. - - The type that is the implementation for the service. - Provides ability to close open generic service. Ignored when registering closed or non-generic component. - Provides ability to select if open generic component supports particular closed version of a service. - - - - - Assigns an existing instance as the component for this registration. - - The component instance. - - - - - Set the interceptors for this component. - - The interceptors. - - - - - Set the interceptors for this component. - - The interceptors. - - - - - Set the interceptor for this component. - - - - - - Set the interceptor for this component. - - - - - - Set the interceptor for this component. - - - - - - Sets component lifestyle to specified one. - - - - - - Sets component lifestyle to specified one. - - - - - - Sets component lifestyle to per thread. - - - - - - Sets component lifestyle to scoped per explicit scope. If is provided, it will be used to access scope for the component. Otherwise the default scope accessor - will be used. - - - - - - Sets component lifestyle to scoped per explicit scope. - - - - - - Sets component lifestyle to scoped per farthest component on the resolution stack where implementation type is assignable to . - - - - - - Sets component lifestyle to scoped per nearest component on the resolution stack where implementation type is assignable to . - - - - - - Sets component lifestyle to scoped per scope determined by - - Custom algorithm for selection which component higher up the resolution stack should be the root of the lifetime scope for current component's instances. The delegate - will be invoked when current component is about to be resolved and will be passed set of handlers to components higher up the resolution stack. It ought to return one which it designages as the root - which shall scope the lifetime of current component's instance, or null - - - - - Sets component lifestyle to instance per web request. - - - - - - Sets component lifestyle to pooled. If or are not set default values will be used. - - - - - - Sets component lifestyle to singleton. - - - - - - Sets component lifestyle to transient. - - - - - - Set a name of this registration. This is required if you have multiple components for a given service and want to be able to resolve some specific ones. Then you'd provide the name so that Windsor - knows which one of the bunch you know. Otherwise don't bother setting the name. - - If not set, the of the will be used as the key to register the component. - - The name of this registration. - - - Names have to be globally unique in the scope of the container. - - - - - This method as opposed to should be used by tools like facilities when the name is not provided by the user, but autogenerated and user has no interest in seing this name, for - example in diagnostics reports. Set a name of this registration. This is required if you have multiple components for a given service and want to be able to resolve some specific ones. Then you'd - provide the name so that Windsor knows which one of the bunch you know. Otherwise don't bother setting the name. - - If not set, the of the will be used as the key to register the component. - - The name of this registration. - - - Names have to be globally unique in the scope of the container. - - - - - Stores a set of which will be invoked when the component is created and before it's returned from the container. - - A set of actions to be executed right after the component is created and before it's returned from the container. - - - - Stores a set of which will be invoked when the component is created and before it's returned from the container. - - A set of actions to be executed right after the component is created and before it's returned from the container. - - - - Stores a set of which will be invoked when the component is created and before it's returned from the container. - - A set of actions to be executed right after the component is created and before it's returned from the container. - - - - Stores a set of which will be invoked when the component is destroyed which means when it's released or it's lifetime scope ends. Notice that usage of this - method will cause instsances of the component to be tracked, even if they wouldn't be otherwise. - - A set of actions to be executed when the component is destroyed. - - - - Services that are already present in the container will be skipped. If no new service is left the registration will not happen at all. - - - - - - With the overwrite. - - - - - - Set configuration parameters with string or values. - - The parameters. - - - - - Sets the interceptor selector for this component. - - - - - - - Sets the interceptor selector for this component. - - - - - - - Override (some of) the services that this component needs. Use to create an override. - - Each key represents the service dependency of this component, for example the name of a constructor argument or a property. The corresponding value is the key of an other component registered to the - kernel, and is used to resolve the dependency. - - To specify dependencies which are not services, use - - The service overrides. - - - - - Override (some of) the services that this component needs, using a dictionary. - - Each key represents the service dependency of this component, for example the name of a constructor argument or a property. The corresponding value is the key of an other component registered to the - kernel, and is used to resolve the dependency. - - To specify dependencies which are not services, use - - The service overrides. - - - - - Override (some of) the services that this component needs, using an (anonymous) object as a dictionary. - - Each key represents the service dependency of this component, for example the name of a constructor argument or a property. The corresponding value is the key of an other component registered to the - kernel, and is used to resolve the dependency. - - To specify dependencies which are not services, use - - The service overrides. - - - - - Uses a factory to instantiate the component - - Factory type. This factory has to be registered in the kernel. - Implementation type. - Factory invocation - - - - - Uses a factory method to instantiate the component. - - Implementation type - Factory method - When set to true container will not assume ownership of this component, will not track it not apply and lifecycle concerns to it. - - - - - Uses a factory method to instantiate the component. - - Implementation type - Factory method - When set to true container will not assume ownership of this component, will not track it not apply and lifecycle concerns to it. - - - - - Uses a factory method to instantiate the component. - - Implementation type - Factory method - When set to true container will not assume ownership of this component, will not track it not apply and lifecycle concerns to it. - - - - - Uses a factory method to instantiate the component. - - Implementation type - Factory method - - - - - Registers this component with the . - - The kernel. - - - - Overrides default behavior by making the current component the default for every service it exposes. The allows user to narrow down the number of services which - should be make defaults. - - Invoked for each service exposed by given component if returns true this component will be the default for that service. - - - When specified for multiple components for any given service the one registered after will override the one selected before. - - - - - Overrides default behavior by making the current component the default for every service it exposes. - - - - When specified for multiple components for any given service the one registered after will override the one selected before. - - - - - Overrides default behavior by making the current component the fallback for every service it exposes that returns true for. That is if another, - non-fallback, component will be registered exposing any of these same services as this component, that other component will take precedence over this one, regardless of order in which they are - registered. - - Invoked for each service exposed by given component if returns true this component will be the fallback for that service. - - - - Overrides default behavior by making the current component the fallback for every service it exposes. That is if another, non-fallback, component will be registered exposing any of the same services - as this component, that other component will take precedence over this one, regardless of order in which they are registered - - - - - - Filters (settable) properties of the component's implementation type to expose in the container. - - Predicate deciding whether a property is settable or not. If it returns false the property will not be added to collection - and Windsor will never try to set it. - - - Matched properties will be considered optional. Windsor will resolve the component even if it cannot provide value for those properties. If you want to make them mandatory use a different overload. - - - - - Filters (settable) properties of the component's implementation type to expose in the container and specifies if matched properties are considered mandatory. - - Predicate deciding whether a property is settable or not. If it returns false the property will not be added to collection - and Windsor will never try to set it. - if true the properties matched by will be considered mandatory dependencies. Windsor will only successfully resole the component if it - can provide value for all of these properties. If false Windsor will still try to provide values for these properties, but if it can't it will not stop the component from being successfully - resolved. - - - - - Filters (settable) properties of the component's implementation type to expose in the container and specifies if matched properties are considered mandatory. - - Predicate deciding whether a property is settable or not. If it returns false the property will not be added to collection - and Windsor will never try to set it. - if true the properties matched by will be considered mandatory dependencies. Windsor will only successfully resole the component if it - can provide value for all of these properties. If false Windsor will still try to provide values for these properties, but if it can't it will not stop the component from being successfully - resolved. - - - - - Filters (settable) properties of the component's implementation type to ignore. - - Predicate finding properties to ignore. If it returns true the property will not be added to collection and Windsor - will never try to set it. - - - - Filters (settable) properties of the component's implementation type to expose in the container as mandatory dependencies - - Predicate finding properties. If it returns true the property will be added to collection and Windsor will make it - a mandatory dependency. - - - - Filters (settable) properties of the component's implementation type to ignore. - - Predicate finding properties to ignore. If it returns true the property will not be added to collection and Windsor - will never try to set it. - - - - Filters (settable) properties of the component's implementation type to expose in the container as mandatory dependencies - - Predicate finding properties. If it returns true the property will be added to collection and Windsor will make it - a mandatory dependency. - - - - Filters (settable) properties of the component's implementation type to expose in the container and specifies if matched properties are considered mandatory. - - Rules for deciding whether given properties are exposed in the container or ignored and if they are mandatory, that is Windsor will only successfully resole the component if - it can provide value for all of these properties. - - - - - The concrete type that implements the service. - - To set the implementation, use . - - The implementation of the service. - - - - Set the lifestyle of this component. For example singleton and transient (also known as 'factory'). - - The with lifestyle. - - - - The name of the component. Will become the key for the component in the kernel. - - To set the name, use . - - If not set, the of the will be used as the key to register the component. - - The name. - - - - Set proxy for this component. - - The proxy. - - - - A non-generic . - - You can create a new registration with the factory. - - - - - Represents a configuration child. - - - - - Applies the configuration node. - - The configuration. - - - - Represents a configuration attribute. - - - - - Applies the configuration node. - - The configuration. - - - - Create a with name. - - The attribute name. - The new - - - - Represents a named attribute. - - - - - Builds the with name/value. - - The attribute value. - The new - - - - Builds the with name/value. - - The attribute value. - The new - - - - Represents a configuration child. - - - - - Create a with name. - - The child name. - The new - - - - Represents a named child. - - - - - Applies the configuration node. - - The configuration. - - - - Builds the with name/value. - - The child value. - The new - - - - Builds the with name/value. - - The child value. - The new - - - - Builds the with name/config. - - The child configuration. - The new - - - - Builds the with name/config. - - The child nodes. - The new - - - - Represents a simple child node. - - - - - Applies the configuration node. - - The configuration. - - - - Represents a complex child node. - - - - - Applies the configuration node. - - The configuration. - - - - Represents a compound child node. - - - - - Applies the configuration node. - - The configuration. - - - - Specifies that value should be used to satisfy dependencies matched by . The value is provided as a string and will be - converted to appropriate type when resolving. - - - - - - - - Specifies that value should be used to satisfy dependencies matched by . The value is provided as a string and will be converted to - appropriate type when resolving. - - - - - - - - Specifies that value from application configuration file's appSettings section named should be used to satisfy dependencies matched by - . The value is provided as a string and will be converted to appropriate type when resolving. - - - - - - - - Specifies that value from application configuration file's appSettings section named should be used to satisfy dependencies matched by . The value - is provided as a string and will be converted to appropriate type when resolving. - - - - - - - Specifies that component registered with should be used to satisfy dependencies matched by - - - - - Specifies that component registered with should be used to satisfy dependencies matched by - - - - - Specifies that component registered with should be used to satisfy dependencies matched by - - - - - Specifies that component registered with should be used to satisfy dependencies matched by - - - - - Specifies that component registered with should be used to satisfy dependencies matched by - - - - - Specifies that components registered with should be used to satisfy collection dependencies matched by - - - - - Specifies that components registered with should be used to satisfy collection dependencies matched by - - - - - Specifies that components registered with should be used to satisfy collection dependencies matched by - - - - - Specifies that components registered with should be used to satisfy collection dependencies matched by - - - - - Specifies that components registered with should be used to satisfy collection dependencies matched by - - - - - Specifies that components registered with should be used to satisfy collection dependencies matched by - - - - - Specifies that value should be used to satisfy dependencies matched by - - - - - Specifies that value should be used to satisfy dependencies matched by - - - - - Specifies that value should be used to satisfy dependencies matched by - - - - - The contract to install components in the container. - - - - - Performs the installation in the . - - The container. - The configuration store. - - - - Adds the actions to ExtendedProperties. - - - - - - Sets the lifestyle to the specified - - . - - The type. - - - - - Assigns scoped lifestyle with scope accessed via - - instances. - - - - - - - Assigns scoped lifestyle with scope accessed via - - instances if provided, or default accessor otherwise. - - - - - - Assigns scoped lifestyle with scope accessed via default accessor. - - - - - - Assign a custom lifestyle type, that implements - - . - - Type of the custom lifestyle. - - - - - Assign a custom lifestyle type, that implements - - . - - The type of the custom lifestyle - - - - - Represents a configuration parameter. - - - - - Create a with key. - - The parameter key. - The new - - - - Gets the parameter configuration. - - - - - Gets the parameter key. - - - - - Gets the parameter value. - - - - - Represents a parameter key. - - - - - Builds the with key/value. - - The parameter value. - The new - - - - Builds the with key/config. - - The parameter configuration. - The new - - - - The parameter key name. - - - - - Represents a key/value pair. - - - - - Create a with key. - - The property key. - The new - - - - Create a with key. - - The property key. - The new - - - - Create a with key. - - The property key. - The new - - - - Gets the property key. - - - - - Gets the property value. - - - - - Represents a property key. - - - - - Builds the with key/value. - - The property value. - The new - - - - Builds a service override using other component registered with given as value for dependency with given . - - - - - - - Builds a service override using other component registered with given and no explicit name, as value for dependency with given . - - - - - - Builds a service override using other component registered with given and no explicit name, as value for dependency with given . - - - - - - The property key key. - - - - - Represents a service override. - - - - - Creates a with key. - - The service override key. - The new - - - - Creates a with key. - - The service override key. - The new - - - - Creates a with key. - - The service override key. - The new - - - - Implicitly converts service override to dependency. This is a API trick to keep the API clean and focused. - - - - - - - Gets the optional value type specifier. - - - - - Represents a service override key. - - - - - Builds the with key/value. - - The service override value. - The new - - - - Builds the with key/values. - - The service override values. - The new - - - - Builds the with key/values. - - The service override values. - The new - The value type. - - - - Builds the with key/values. - - The service override values. - The new - - - - Builds the with key/values. - - The service override values. - The new - The value type. - - - - Describes a set of components to register in the kernel. Use static methods on the class to fluently build registration. - - - - - Prepares to register types from a list of types. - - The list of types. - The corresponding - - - - Prepares to register types from a list of types. - - The list of types. - The corresponding - - - - Prepares to register types from an assembly. - - The assembly. - The corresponding - - - - Prepares to register types from an assembly containing the type. - - The type belonging to the assembly. - The corresponding - - - - Prepares to register types from an assembly containing the type. - - The type belonging to the assembly. - The corresponding - - - - Prepares to register types from assemblies found in a given directory that meet additional optional restrictions. - - - - - - - Prepares to register types from an assembly. - - The assembly name. - The corresponding - - - - Prepares to register types from the assembly containing the code invoking this method. - - The corresponding - - - - Describes all the types based on basedOn. - - The base type. - - - - - Describes all the types based on type T. - - The base type. - - - - - Describes any types that are supplied. - - - - - - Prepares to register types from a list of types. - - The list of types. - The corresponding - - - - Describes a related group of components to register in the kernel. - - - - - Prepares to register types from a list of types. - - The list of types. - The corresponding - - - - Prepares to register types from a list of types. - - The list of types. - The corresponding - - - - Prepares to register types from an assembly. - - The assembly. - The corresponding - - - - Prepares to register types from an assembly. - - The assembly name. - The corresponding - - - - Prepares to register types from a list of types. - - The list of types. - The corresponding - - - - Selects a set of types from an assembly. - - - - - Describes the source of types to register. - - - - - Allows a type to be registered multiple times. - - - - - Returns the descriptor for accepting a type. - - The base type. - The descriptor for the type. - - - - Returns the descriptor for accepting a type. - - The base type. - The descriptor for the type. - - - - Returns the descriptor for accepting a type. - - One or more base types. To be accepted a type must implement at least one of the given base types. - The descriptor for the type. - - - - Returns the descriptor for accepting a type. - - One or more base types. To be accepted a type must implement at least one of the given base types. - The descriptor for the type. - - - - Creates a predicate to check if a component is in a namespace. - - The namespace. - true if the component type is in the namespace. - - - - Creates a predicate to check if a component is in a namespace. - - The namespace. - If set to true, will also include types from subnamespaces. - true if the component type is in the namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - true if the component is in the same namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - If set to true, will also include types from subnamespaces. - true if the component is in the same namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - true if the component is in the same namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - If set to true, will also include types from subnamespaces. - true if the component is in the same namespace. - - - - Returns the descriptor for accepting any type from given solutions. - - - - - - Returns the descriptor for accepting a type based on a condition. - - The accepting condition. - The descriptor for the type. - - - - When called also non-public types will be scanned. - - - Usually it is not recommended to register non-public types in the container so think twice before using this option. - - - - - Selects an existing set of types to register. - - - - - Describes how to select a types service. - - - - - Uses all interfaces implemented by the type (or its base types) as well as their base interfaces. - - - - - - Uses the base type matched on. - - - - - - Uses all interfaces that have names matched by implementation type name. - Matches Foo to IFoo, SuperFooExtended to IFoo and IFooExtended etc - - - - - - Uses the first interface of a type. This method has non-deterministic behavior when type implements more than one interface! - - - - - - Uses to lookup the sub interface. - For example: if you have IService and - IProductService : ISomeInterface, IService, ISomeOtherInterface. - When you call FromInterface(typeof(IService)) then IProductService - will be used. Useful when you want to register _all_ your services - and but not want to specify all of them. - - - - - - - Uses base type to lookup the sub interface. - - - - - - Assigns a custom service selection strategy. - - - - - - - Assigns the supplied service types. - - - - - - - Uses the type itself. - - - - - - This is a workaround for a CLR bug in - which GetInterfaces() returns interfaces - with no implementations. - - Type of the service. - - - - - Describes how to register a group of related types. - - - - - Initializes a new instance of the BasedOnDescriptor. - - - - - Allows a type to be registered multiple times. - - - - - Returns the descriptor for accepting a new type. - - The base type. - The descriptor for the type. - - - - Returns the descriptor for accepting a new type. - - The base type. - The descriptor for the type. - - - - Adds another type to be accepted as base. - - The base type. - The descriptor for the type. - - - - Allows customized configurations of each matching type. - - The configuration action. - - - - - Allows customized configurations of each matching component with implementation type that is - assignable to - - . - - The type assignable from. - The configuration action. - - - - - Allows customized configurations of each matching component that satisfies supplied . - - Condition to satisfy - The configuration action, executed only for components for which evaluates to true . - - - - - Allows customized configurations of each matching component that satisfies supplied and alternative configuration for the rest of components. - - Condition to satisfy - The configuration action, executed only for components for which evaluates to true . - The configuration action, executed only for components for which evaluates to false . - - - - - Assigns a conditional predication which must be satisfied. - - The predicate to satisfy. - - - - - Assigns a conditional predication which must not be satisfied. - - The predicate not to satisify. - - - - - Returns the descriptor for accepting a type based on a condition. - - The accepting condition. - The descriptor for the type. - - - - Uses all interfaces implemented by the type (or its base types) as well as their base interfaces. - - - - - - Uses the base type matched on. - - - - - - Uses all interfaces that have names matched by implementation type name. - Matches Foo to IFoo, SuperFooExtended to IFoo and IFooExtended etc - - - - - - Uses the first interface of a type. This method has non-deterministic behavior when type implements more than one interface! - - - - - - Uses to lookup the sub interface. - For example: if you have IService and - IProductService : ISomeInterface, IService, ISomeOtherInterface. - When you call FromInterface(typeof(IService)) then IProductService - will be used. Useful when you want to register _all_ your services - and but not want to specify all of them. - - - - - - - Uses base type to lookup the sub interface. - - - - - - Assigns a custom service selection strategy. - - - - - - - Uses the type itself. - - - - - - Sets component lifestyle to specified one. - - - - - - Sets component lifestyle to specified one. - - - - - - Sets component lifestyle to per thread. - - - - - - Sets component lifestyle to scoped per explicit scope. - - - - - - Sets component lifestyle to scoped per explicit scope. - - - - - - Sets component lifestyle to scoped per explicit scope. - - - - - - Sets component lifestyle to scoped per component . - - - - - - Sets component lifestyle to scoped per nearest component on the resolution stack where implementation type is assignable to . - - - - - - Sets component lifestyle to instance per web request. - - - - - - Sets component lifestyle to pooled. If or are not set default values will be used. - - - - - - Sets component lifestyle to singleton. - - - - - - Sets component lifestyle to transient. - - - - - - Assigns the supplied service types. - - - - - - - Assigns the supplied service types. - - - - - - - Gets the service descriptor. - - - - - Tracks all components requiring decomission () - - - - - Policy managing lifetime of components, and in particular their release process. - - - - - Creates nested policy for scoped object tracking. - - - - - - Returns true if is being tracked by this release policy, false otherwise. - - - - - - - Releases if it's being tracked by this release policy, invoking its s and stops tracking it so that it can be claimed by the Garbage Collector. - - - - - - Asks the policy to track given object. The object will be released when a call to is made. - - - - Thrown when does NOT have its flag set. - - - - Used to obtain if present. - - - - - Creates new policy which publishes its tracking components count to - - and exposes diagnostics into - - . - - - - - - - Obtains from given if present. - - - - - - - Creates new from given . - - - - - - - No tracking of component instances are made. - - - - - Default implementation for . - This implementation is quite simple, but still should be useful - for 99% of situations. - - - - - Implementors should use a strategy to obtain - valid references to properties and/or services - requested in the dependency model. - - - - - Registers a sub resolver instance - - The subresolver instance - - - - This method is called with a delegate for firing the - IKernelEvents.DependencyResolving event. - - kernel - The delegate used to fire the event - - - - Unregisters a sub resolver instance previously registered - - The subresolver instance - - - - Registers a sub resolver instance - - The subresolver instance - - - - Initializes this instance with the specified dependency delegate. - - kernel - The dependency delegate. - - - - Unregisters a sub resolver instance previously registered - - The subresolver instance - - - - Returns true if the resolver is able to satisfy the specified dependency. - - Creation context, which is a resolver itself - Parent resolver - Model of the component that is requesting the dependency - The dependency model - - true - if the dependency can be satisfied - - - - Try to resolve the dependency by checking the parameters in - the model or checking the Kernel for the requested service. - - - The dependency resolver has the following precedence order: - - - The dependency is checked within the - - - - - The dependency is checked within the - - instance for the component - - - The dependency is checked within the registered - - s - - - Finally the resolver tries the normal flow - which is using the configuration - or other component to satisfy the dependency - - - - Creation context, which is a resolver itself - Parent resolver - Model of the component that is requesting the dependency - The dependency model - The dependency resolved value or null - - - - This method rebuild the context for the parameter type. - Naive implementation. - - - - - Initializes a new instance of the class. - - The message. - The inner exception. - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The object that holds the serialized object data. - The contextual information about the source or destination. - - - - Handle dependencies of services in the format of typed arrays. - - - This is a complimentary implementation - that is capable of satisfying dependencies of services as typed arrays. - - Note that it will take precedence over service override for arrays defined - on the configuration. - - - - In order to install the resolver: - - var kernel = new DefaultKernel(); - kernel.Resolver.AddSubResolver(new ArrayResolver(kernel)); - - - - To use it, assuming that IService is on the container: - - - - public class Component - { - public Component(IService[] services) - { - } - } - - - - - - More generic alternative to and . - It supports arrays as well as any generic interface type assignable from arrays. - - - The collection instance that is provided is read only, even for interfaces like - - - - - Handle dependencies of services in the format of generic IList. - - - This is a complimentary implementation - that is capable of satisfying dependencies of services generic IList. - - Note that it will take precedence over service override for lists defined - on the configuration. - - - - In order to install the resolver: - - var kernel = new DefaultKernel(); - kernel.Resolver.AddSubResolver(new ListResolver(kernel)); - - - - To use it, assuming that IService is on the container: - - - - public class Component - { - public Component(IList<IService> services) - { - } - } - - - - - - A subsystem is used by the MicroKernel to deal - with a specific concern. - - - - - Initializes the subsystem - - - - - - Should perform the termination - of the subsystem instance. - - - - - This implementation of - does not try to obtain an external configuration by any means. - Its only purpose is to serve as a base class for subclasses - that might obtain the configuration node from anywhere. - - - - - The contract used by the kernel to obtain - external configuration for the components and - facilities. - - - - - Adds the child container configuration. - - The container's name. - The config. - - - - Associates a configuration node with a component key - - item key - Configuration node - - - - Associates a configuration node with a facility key - - item key - Configuration node - - - - Returns the configuration node associated with - the specified child container key. Should return null - if no association exists. - - item key - - - - - Returns the configuration node associated with - the specified component key. Should return null - if no association exists. - - item key - - - - - Returns all configuration nodes for components - - - - - - Gets the child containers configuration nodes. - - - - - - Returns all configuration nodes for facilities - - - - - - Returns the configuration node associated with - the specified facility key. Should return null - if no association exists. - - item key - - - - - Returns all configuration nodes for installers - - - - - - - - - - - - - Adds the child container configuration. - - The key. - The config. - - - - Associates a configuration node with a component key - - item key - Configuration node - - - - Associates a configuration node with a facility key - - item key - Configuration node - - - - Returns the configuration node associated with - the specified child container key. Should return null - if no association exists. - - item key - - - - - Returns the configuration node associated with - the specified component key. Should return null - if no association exists. - - item key - - - - - Returns all configuration nodes for components - - - - - - Returns all configuration nodes for child containers - - - - - - Returns all configuration nodes for facilities - - - - - - Returns the configuration node associated with - the specified facility key. Should return null - if no association exists. - - item key - - - - - Base implementation of - - - - - Implements a conversion logic to a type of a - set of types. - - - - - Returns true if this instance of ITypeConverter - is able to handle the specified type. - - - - - - - Returns true if this instance of ITypeConverter - is able to handle the specified type with the specified - configuration - - - - - - - - Should perform the conversion from the - string representation specified to the type - specified. - - - - - - - - Should perform the conversion from the - configuration node specified to the type - specified. - - - - - - - - Returns true if this instance of ITypeConverter - is able to handle the specified type with the specified - configuration - - - - - - The default behavior is to just pass it to the normal CanHadnleType - peeking into the configuration is used for some advanced functionality - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The message. - The inner exception. - - - - Initializes a new instance of the class. - - The object that holds the serialized object data. - The contextual information about the source or destination. - - - - Looks for a on the type to be converted. - If found, the TypeConverter defined by the attribute is used to perform the conversion. - - - - - Marker interface that signals that a converter - depends on IKernel to be able to perform - the conversion. - - - - - Attempts to utilize an existing for conversion - - - - - Creates the target type instance. - - The type. - The configuration. - - - - - Chooses the first non default constructor. Throws an exception if more than - one non default constructor is found - - - The chosen constructor, or null if none was found - - - - Converts the constructor parameters. - - The constructor. - The configuration. - - - - - Converts the property values. - - The instance. - The type. - The configuration. - - - - Finds the child (case insensitive). - - The config. - The name. - - - - - Gets the conversion manager. - - The conversion manager. - - - - Converts a string representation to an enum value - - - - - This interface is needed because we want to isolate ourself from - the generic parameters, so we can work type safe inside the implementations, - and still call from non generic types outside. - - - - - Implements all standard conversions. - - - - - Convert a type name to a Type instance. - - - - - Declares a type as being convertible by a and optionally defines the converter to be used - - - - - Defines the to be used to convert the type - - - - - Defines the to be used to convert the type - - - - - - Composition of all available conversion managers - - - - - Establish a composition interface and a subsystem. - Implementors should delegate the conversion to - a instance of a type converter. - - - - - Register a type converter instance. - - - - - - Contract for SubSystem that wishes to keep and coordinate - component registration. - - - - - Register a new component resolver that can take part in the decision - making about which handler to resolve - - - - - Register a new component resolver that can take part in the decision - making about which handler(s) to resolve and in which order - - - - - Returns true if there is a component registered - for the specified name - - - - - - - Returns true if there is a component registered - for the specified service - - - - - - - Returns all registered. - - - - - - Return s where components are compatible - with the specified service. - - - - - - - Returns the associated with - the specified name. - - - - - - - Returns the associated with - the specified service. - - - - - Returns an array of associated with - the specified service. - - - - - - - Implementors should register the with all its exposes. - The handler should also be accessible via unique of its . - - - Thrown if the of 's is not unique and a handler with the same name has already been registered. - - - - Returns the number of components registered. - - - - - Map(String, IHandler) to map component names to Items in this dictionary are sorted in insertion order. - - - - - Map(Type, IHandler) to map a service to . If there is more than a single service of the type, only the first registered services is stored in this dictionary. It serve as a fast lookup for the common case of having a single handler for a type. - - - - - Implementors of this interface allow to extend the way the container perform - component resolution based on some application specific business logic. - - - This is the sibling interface to . - This is dealing strictly with root components, while the is dealing with - dependent components. - - - - - Whatever the selector has an opinion about resolving a component with the - specified service and key. - - The service key - can be null - The service interface that we want to resolve - - - - Select the appropriate handler from the list of defined handlers. - The returned handler should be a member from the array. - - The service key - can be null - The service interface that we want to resolve - The defined handlers - The selected handler, or null - - - - Pendent - - - - - An implementation of a should - be able to return instances of - for a given resource identifier. - - - - - Holds the keys used by Kernel to register/request - a subsystem. - - - - - Key used for the configuration store subsystem - - - - - Key used for the conversion manager - - - - - Key used for the diagnostics subsystem - - - - - Key used for the naming subsystem - - - - - Key used for the resource subsystem - - - - - Implementation of . - Do not support configuration inheritance. - - - - - Interpreter of a specific language to describe - configuration nodes in a hierarchical manner. - - - - - Should obtain the contents from the resource, - interpret it and populate the - accordingly. - - - - - - - - Gets or sets the name of the environment. - - The name of the environment. - - - - Exposes the reference to - which the interpreter is likely to hold - - - - - Provides common methods for those who wants - to implement - - - - - Should obtain the contents from the resource, - interpret it and populate the - accordingly. - - - - - - - - Exposes the reference to - which the interpreter is likely to hold - - - - - - Gets or sets the name of the environment. - - The name of the environment. - - - - Reads the configuration from a XmlFile. Sample structure: - - <configuration> - <facilities> - <facility id="myfacility"> - - </facility> - </facilities> - - <components> - <component id="component1"> - - </component> - </components> - </configuration> - - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The filename. - - - - Initializes a new instance of the class. - - The source. - - - - Initializes a new instance of the class. - - Name of the environment. - - - - Initializes a new instance of the class. - - Name of the environment. - The resource sub system. - - - - Processes the element. - - The element. - - - - - Processes the element. - - The element. - - - - - Make a shallow copy of the nodeList. - - The nodeList to be copied. - - - - - Accepts the specified node. - Check if node has the same name as the processor and the node.NodeType - is in the AcceptNodeTypes List - - The node. - - - - - Convert and return child parameter into an XmlElement - An exception will be throw in case the child node cannot be converted - - Parent node - Node to be converted - child node as XmlElement - - - - - - - - - - - attributeValue - - propertyValue - - - - - - - Processes the specified node list. - - The node list. - The engine. - - - - Processes element attributes. - if the attribute is include will append to the element - all contents from the file. - if the attribute has a property reference the reference will be - expanded - - The element. - - - - - Properties names can contain a-zA-Z0-9_. - i.e. #!{ my_node_name } || #{ my.node.name } - spaces are trimmed - - - - - Processes the string. - - The node. - The value. - The context. - - - - Accepts the specified node. - Check if node has the same name as the processor and the node.NodeType - is in the AcceptNodeTypes List - NOTE: since the BatchRegistrationFacility already uses an include - element we will distinguish between both by looking for the presence of an uri attribute - we should revisit this later by using xml-namespaces - - The node. - - - - - - - - - - - - attributeValue - - propertyValue - - - - - - - Pendent - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - Name of the environment. - The resource sub system. - - - - Initializes a new instance of the class. - - - - - Collects all handlers for components in hosting container. - - - - - Base inteface for exposing diagnostic information about container, its components and extensions - - - - - - Collects specified diagnostic information. - - - - - - Collects all handlers for components in hosting container grouped by services they expose. - Within the service group, first one would be the default (the one obtained when callling for the service type) - - - - - Hosts different diagnostics available in the container. - - - - - Adds and makes it available as . - - - Thrown when a diagnostic for - - has already been added. - - - - - Returns diagnostic registered with or null if not present. - - - - - - - Stupid name, but debugger views in Visual Studio display items in alphabetical order so if we want - to have that item on top its name must be alphabetically before - - - - - Collects dependencies that are duplicated between constructors and properties. - - - - - Detects components that are not extending Windsor's infrastructure yet depend on the container which usually means they use the container as service locator - which is a bad practice and should be avoided. Consult the documentation for more details: http://j.mp/WindsorSL - - - - - Exposes diagnostics about itself to the . - - Usually simple type containing information provided to the . - - Can be implemented by any type constituting part of container infrastructure. Should have a matching registred in the container that knows - how to find it and that prepares information from it for consumption. - - - - - Collects for the and calls if any data available. - - - pass-through context. Used by the inspector. - - - - Gets the environment information (name). Implementors should - use to define their environments and how those affect the configuration. - - - - - Gets the name of the environment. - - - - - - Installs all the components from the App.Config file. - - - - - - Installs all the component from the xml configuration. - - The xml configuration resource. - - - - - Installs all the component from the xml configuration file. - - The xml configuration file. - - - - - Delegate to provide environment name. - - The environment name. - - - - Initializes a new instance of the ConfigurationInstaller class. - - - - - Sets the configuration environment name. - - The environment name. - - - - - Set the configuration environment strategy. - - The environment strategy. - - - - - Default implementation. - - - - - Installs the components and facilities based on the - information on the configuration store. - - - - - Perform installation. - - Target container - Configuration store - - - - Perform installation. - - Target container - Configuration store - - - - Scans the assembly containing specified type for types implementing , instantiates them and returns so that can - install them. - - - - - - Scans the assembly containing specified type for types implementing , instantiates using given and returns so that - can install them. - - - - - - Scans the assembly containing specified type for types implementing , instantiates them and returns so that can - install them. - - - - - - Scans the assembly containing specified type for types implementing , instantiates using given and returns so that - can install them. - - - - - - Scans assemblies in directory specified by for types implementing , instantiates and returns so that - can install them. - - - - - - - Scans assemblies in directory specified by for types implementing , instantiates using given and - returns so that can install them. - - - - - - - - Scans current assembly and all refernced assemblies with the same first part of the name for types implementing , instantiates and returns so that - can install them. - - - - Assemblies are considered to belong to the same application based on the first part of the name. For example if the method is called from within MyApp.exe and MyApp.exe references - MyApp.SuperFeatures.dll, mscorlib.dll and ThirdPartyCompany.UberControls.dll the MyApp.exe and MyApp.SuperFeatures.dll will be scanned for installers, and other - assemblies will be ignored. - - - - - Scans current assembly and all refernced assemblies with the same first part of the name for types implementing , instantiates using given - and returns so that can install them. - - - - - Assemblies are considered to belong to the same application based on the first part of the name. For example if the method is called from within MyApp.exe and MyApp.exe references - MyApp.SuperFeatures.dll, mscorlib.dll and ThirdPartyCompany.UberControls.dll the MyApp.exe and MyApp.SuperFeatures.dll will be scanned for installers, and other - assemblies will be ignored. - - - - - Scans the specified assembly with specified name for types implementing , instantiates them and returns so that can - install them. - - - - - - Scans the specified assembly with specified name for types implementing , instantiates using given and returns so that - can install them. - - - - - - Scans the assembly with specified name for types implementing , instantiates them and returns so that can install - them. - - - - - - Scans the assembly with specified name for types implementing , instantiates using given and returns so that - can install them. - - - - - - Scans assembly that contains code calling this method for types implementing , instantiates them and returns so that - can install them. - - - - - - Scans assembly that contains code calling this method for types implementing , instantiates using given and returns so that - can install them. - - - - - - Helper class used by to filter/order and instantiate implementations - - - - - Performs custom instantiation of given - - - Default implementation uses public parameterless constructor to create the instance. - - - - - Performs custom filtering/ordering of given set of types. - - Set of concrete class types implementing interface. - Transformed . - - Default implementation simply returns types passed into it. - - - - - The IWindsorContainer interface exposes all the - functionality the Windsor implements. - - - - - Registers a subcontainer. The components exposed - by this container will be accessible from subcontainers. - - - - - - Registers a facility within the container. - - The to add to the container. - - - - Creates and adds an facility to the container. - - The facility type. - - - - - Creates and adds an facility to the container. - - The facility type. - The callback for creation. - - - - - Gets a child container instance by name. - - The container's name. - The child container instance or null - - - - Runs the so that they can register components in the container. For details see the documentation at http://j.mp/WindsorInstall - - - In addition to instantiating and passing every installer inline you can use helper methods on class to automatically instantiate and run your installers. - You can also use class to install components and/or run aditional installers specofied in a configuration file. - - The container. - - - container.Install(new YourInstaller1(), new YourInstaller2(), new YourInstaller3()); - - - - - container.Install(FromAssembly.This(), Configuration.FromAppConfig(), new SomeOtherInstaller()); - - - - - - Registers the components with the . The instances of are produced by fluent registration API. - Most common entry points are method to register a single type or (recommended in most cases) - . - Let the Intellisense drive you through the fluent API past those entry points. For details see the documentation at http://j.mp/WindsorApi - - - - container.Register(Component.For<IService>().ImplementedBy<DefaultService>().LifestyleTransient()); - - - - - container.Register(Classes.FromThisAssembly().BasedOn<IService>().WithServiceDefaultInterfaces().Configure(c => c.LifestyleTransient())); - - - The component registrations created by , or different entry method to the fluent API. - The container. - - - - Releases a component instance - - - - - - Remove a child container - - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the service - - - - - - - Returns a component instance by the service - - - - - - - - Returns a component instance by the service - - - - - - - - Returns a component instance by the service - - Service type - The component instance - - - - Returns a component instance by the service - - Service type - - The component instance - - - - Returns a component instance by the service - - Service type - - The component instance - - - - Returns a component instance by the key - - Component's key - Service type - The Component instance - - - - Returns a component instance by the key - - Service type - Component's key - - The Component instance - - - - Returns a component instance by the key - - Service type - Component's key - - The Component instance - - - - Returns a component instance by the key - - - - - - - - - Returns a component instance by the key - - - - - - - - - Resolve all valid components that match this type. - - The service type - - - - Resolve all valid components that match this service - the service to match - - - - - Resolve all valid components that match this service - the service to match - Arguments to resolve the service - - - - - Resolve all valid components that match this service - the service to match - Arguments to resolve the service - - - - - Resolve all valid components that match this type. - The service type - Arguments to resolve the service - - - - - Resolve all valid components that match this type. - The service type - Arguments to resolve the service - - - - - Registers a facility within the container. - - The key by which the gets indexed. - The to add to the container. - - - - Creates and adds an facility to the container. - - The facility type. - - - - - - Creates and adds an facility to the container. - - The facility type. - - The callback for creation. - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the key - - - - - - - - Returns the inner instance of the MicroKernel - - - - - Gets the container's name - - - Only useful when child containers are being used - - The container's name. - - - - Gets or sets the parent container if this instance - is a sub container. - - - - - This interface should be implemented by classes - that are available in a bigger context, exposing - the container to different areas in the same application. - - For example, in Web application, the (global) HttpApplication - subclasses should implement this interface to expose - the configured container - - - - - - Obtains the interceptors associated with the component. - - The kernel instance - The component model - The creation context - interceptors array - - - - This implementation of relies - on DynamicProxy to expose proxy capabilities. - - - Note that only virtual methods can be intercepted in a - concrete class. However, if the component - was registered with a service interface, we proxy - the interface and the methods don't need to be virtual, - - - - - Constructs a DefaultProxyFactory - - - - - Creates the proxy for the supplied component. - - The kernel. - The target. - The model. - The constructor arguments. - The creation context - The component proxy. - - - - Determines if the component requires a target instance for proxying. - - The kernel. - The model. - true if an instance is required. - - - - Implementation of - which delegates to implementation. - - - - - Constructs a container without any external - configuration reference - - - - - Constructs a container using the specified - implementation. - - The instance of an implementation. - - - - Constructs a container using the specified - implementation. - - The instance of an implementation. - - - - Initializes a new instance of the class. - - The interpreter. - The environment info. - - - - Initializes a new instance of the class using a - resource pointed to by the parameter. That may be a file, an assembly embedded resource, a UNC path or a config file section. - - Equivalent to the use of new WindsorContainer(new XmlInterpreter(configurationUri)) - - - The XML file. - - - - Constructs a container using the specified - implementation. Rarely used. - - - This constructs sets the Kernel.ProxyFactory property to - Proxy.DefaultProxyFactory - - Kernel instance - Installer instance - - - - Constructs a container using the specified - implementation. Rarely used. - - - This constructs sets the Kernel.ProxyFactory property to - Proxy.DefaultProxyFactory - - Container's name - Kernel instance - Installer instance - - - - Constructs with a given . - - A instance of an . - - - - Constructs a container assigning a parent container - before starting the dependency resolution. - - The instance of an - The instance of an implementation - - - - Initializes a new instance of the class. - - The container's name. - The parent. - The interpreter. - - - - Executes Dispose on underlying - - - - - Registers a subcontainer. The components exposed - by this container will be accessible from subcontainers. - - - - - - Registers a facility within the container. - - - - - - Creates and adds an facility to the container. - - The facility type. - - - - - Creates and adds an facility to the container. - - The facility type. - The callback for creation. - - - - - Gets a child container instance by name. - - The container's name. - The child container instance or null - - - - Runs the so that they can register components in the container. For details see the documentation at http://j.mp/WindsorInstall - - - In addition to instantiating and passing every installer inline you can use helper methods on class to automatically instantiate and run your installers. - You can also use class to install components and/or run aditional installers specofied in a configuration file. - - The container. - - - container.Install(new YourInstaller1(), new YourInstaller2(), new YourInstaller3()); - - - - - container.Install(FromAssembly.This(), Configuration.FromAppConfig(), new SomeOtherInstaller()); - - - - - - Registers the components with the . The instances of are produced by fluent registration API. - Most common entry points are method to register a single type or (recommended in most cases) - . - Let the Intellisense drive you through the fluent API past those entry points. For details see the documentation at http://j.mp/WindsorApi - - - - container.Register(Component.For<IService>().ImplementedBy<DefaultService>().LifestyleTransient()); - - - - - container.Register(Classes.FromThisAssembly().BasedOn<IService>().WithServiceDefaultInterfaces().Configure(c => c.LifestyleTransient())); - - - The component registrations created by , or different entry method to the fluent API. - The container. - - - - Releases a component instance - - - - - - Removes (unregisters) a subcontainer. The components exposed by this container - will no longer be accessible to the child container. - - - - - - Returns a component instance by the service - - - - - - - - Returns a component instance by the service - - - - - - - - Returns a component instance by the service - - - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the key - - - - - - - - - Returns a component instance by the key - - - - - - - - - Returns a component instance by the service - - - - - - - - Returns a component instance by the service - - - - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the service - - - - - - - Returns a component instance by the key - - - - - - - Resolve all valid components that match this type. - - The service type - - - - Resolve all valid components that match this type. - The service type - Arguments to resolve the service - - - - - Resolve all valid components that match this type. - The service type - Arguments to resolve the service - - - - - Registers a facility within the container. - - - - - - - Creates and adds an facility to the container. - - The facility type. - - - - - - Creates and adds an facility to the container. - - The facility type. - - The callback for creation. - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the key - - - - - - - - Returns the inner instance of the MicroKernel - - - - - Gets the container's name - - - Only useful when child containers are being used - - The container's name. - - - - Gets or sets the parent container if this instance - is a sub container. - - - - - Implementation of and that uses a or as its component's source. - - - - diff --git a/packages/Castle.Windsor.3.2.0/lib/net40-client/Castle.Windsor.dll b/packages/Castle.Windsor.3.2.0/lib/net40-client/Castle.Windsor.dll deleted file mode 100644 index b567e6c..0000000 Binary files a/packages/Castle.Windsor.3.2.0/lib/net40-client/Castle.Windsor.dll and /dev/null differ diff --git a/packages/Castle.Windsor.3.2.0/lib/net40-client/Castle.Windsor.xml b/packages/Castle.Windsor.3.2.0/lib/net40-client/Castle.Windsor.xml deleted file mode 100644 index 29021d9..0000000 --- a/packages/Castle.Windsor.3.2.0/lib/net40-client/Castle.Windsor.xml +++ /dev/null @@ -1,7752 +0,0 @@ - - - - Castle.Windsor - - - - - Indicates that the target components wants instance lifetime and reuse scope to be bound to another component further up the object graph. - Good scenario for this would be unit of work bound to a presenter in a two tier MVP application. - The attribute must point to a type - having default accessible constructor and public method matching signature of Func<IHandler[], IHandler> delegate. - - - - - Base for Attributes that want to express lifestyle - chosen by the component. - - - - - Initializes a new instance of the class. - - The type. - - - - Gets or sets the lifestyle. - - The lifestyle. - - - - Initializes a new instance of the class. - - type having default accessible constructor and public method matching signature of Func<IHandler[], IHandler> delegate. The method will be used to pick of the component current instance should be bound to. - - - - type having default accessible constructor and public method matching signature of Func<IHandler[], IHandler> delegate. The method will be used to pick of the component current instance should be bound to. - - - - - Represents a dependency (other component or a - fixed value available through external configuration). - - - - - Initializes a new instance of the class. - - The dependency key. - Type of the target. - if set to true [is optional]. - - - - Returns a that represents the current . - - A that represents the current . - - - - The default value of this dependency. Note that null is a valid default value. Use to determine whether default value was provided. - - - - - Gets or sets the dependency key. - - The dependency key. - - - - Specifies whether dependency has a default value (). Note that null is a valid default value. - - - - - Gets or sets whether this dependency is optional. - - true if this dependency is optional; otherwise, false . - - - - Gets the service type of the dependency. - This is the same type as or if is by ref, - then it's the element type of the reference. (in other words if dependency - is out IFoo foo this will be IFoo, while will be &IFoo); - - - - - Gets the type of the target. - - The type of the target. - - - Indicates that the target components wants a custom lifestyle. - - - - Initializes a new instance of the class. - - The custom lifestyle type. - - - - Marks as constructor to be skipped and not be selected - by the IoC container during new component activation - - - - - This attribute is useful only when you want to register all components - on an assembly as a batch process. - By doing so, the batch register will look - for this attribute to distinguish components from other classes. - - - - - Associates a custom activator with a component - - - - - Initializes a new instance of the class. - - Type of the component activator. - - - - Gets the type of the component activator. - - The type of the component activator. - - - - Gets the default name for component implemented by which will be used in case when user does not provide one explicitly. - - - - - - - Gets the default name for component implemented by which will be used in case when user does not provide one explicitly. - - - - - - - Specifies the proxying behavior for a component. - - - - - Gets or sets a value indicating whether the generated - interface proxy should inherit from . - - - - - Gets or sets the additional interfaces used during proxy generation. - - - - - Marks as property to be skipped and not be wired - by the IoC container - - - - - Represents a concern that will be applied to a component instance - during commission phase (right after component instance is activated). - - - - - Implementors should act on the instance in response to - a commission phase. - - The model. - The component. - - - - Represents a concern that will be applied to a component instance - during decommission phase (right before component instance is destroyed). - - - - - Implementors should act on the instance in response to - a decommission phase. - - The model. - The component. - - - - Lifecycle interface. If implemented by a component, - the method Initialized will be invoked by the container - before making the component available to the external world. - - - - - Implementors should perform any initialization logic. - - - - - Used to declare that a component wants interceptors acting on it. - Out of the box recognized only if applied on component's implementation class. - - - - - Constructs the InterceptorAttribute pointing to a key to a interceptor - - - - - - Constructs the InterceptorAttribute pointing to a service - - - - - - Simple type for thread safe adding/reading to/from keyed store. The difference between this and built in concurrent dictionary is that in this case adding is happening under a lock so never more than one thread will be adding at a time. - - - - - - - Returns all values and clears the dictionary - - - - - - Performs string comparison using - - - - - - - - 0 == false, 1 = =true - - - - - Signals (sets) the flag. - - true if the current thread signaled the flag, false if some other thread signaled the flag before. - - - - Marker class used to denote components that have late bound type - That is the actual type is not known exactly at the time when - is created. Those are for example components instantiated via abstract factory. - - - - - If the extended type is a Foo[] or IEnumerable{Foo} which is assignable from Foo[] this method will return typeof(Foo) - otherwise null. - - - - - - - Checkis if given is a primitive type or collection of primitive types. Value types, are considered primitive and can not be registered as components in Windsor - - - - - - - Checkis if given is a primitive type. Value types and are considered primitive and can not be registered as components in Windsor - - - - - - - Calls and if a generic constraint is violated returns null instead of throwing . - - - - - - - - Enumeration used to mark the component's lifestyle. - - - - - No lifestyle specified. - - - - - Singleton components are instantiated once, and shared - between all clients. - - - - - Thread components have a unique instance per thread. - - - - - Transient components are created on demand. - - - - - Optimization of transient components that keeps - instance in a pool instead of always creating them. - - - - - Any other logic to create/release components. - - - - - Instances are reused within the scope provided. - - - - - Instance lifetime and reuse scope is bound to another component further up the object graph. - Good scenario for this would be unit of work bound to a presenter in a two tier MVP application. - When specified in xml a scopeRootBinderType attribute must be specified pointing to a type - having default accessible constructor and public method matching signature of Func<IHandler[], IHandler> delegate. - - - - - Indicates that the target components wants a - per thread lifestyle. - - - - - Initializes a new instance of the class. - - - - - Indicates that the target components wants a - pooled lifestyle. - - - - - Initializes a new instance of the class - using the default initial pool size (5) and the max pool size (15). - - - - - Initializes a new instance of the class. - - Initial size of the pool. - Max pool size. - - - - Gets the initial size of the pool. - - The initial size of the pool. - - - - Gets the maximum pool size. - - The size of the max pool. - - - - Specifies rules for designating settable properties on a component as dependencies, and controlling whether they are requred or not. - This is a shortcut for most common scenarios. More advanced/custom scenarios can be defined dynamically in the registration API. - - - - - Takes no action. By default that means all settable properties will be exposed as optional dependencies. - - - - - Makes all property dependencies required. - - - - - Makes all property dependencies defined at a base class/interfaces level required. - - - - - Makes all properties ignored. - - - - - Ignores all properties defined at a base class/interface level. - - - This option is particularily useful in scenarios like UI controls which in .NET UI frameworks tend to have byzantine inheritance hierarchies. - - - - - Indicates that the target components wants a - per thread lifestyle. - - - - - Initializes a new instance of the class. - - - - - Indicates that the target components wants a - singleton lifestyle. - - - - - Initializes a new instance of the class. - - - - - Indicates that the target components wants a - transient lifestyle. - - - - - Initializes a new instance of the class. - - - - - Implementors must inspect the component for - a given information or parameter. - - - - - Usually the implementation will look in the configuration property - of the model or the service interface, or the implementation looking for - something. - - The kernel instance - The component model - - - - Selects one or both of component name and type, for given method - called on given typed factory type. - When component should be requested by type only, - componentName should be null. - When component should be requested by name only, - componentType should be null. - - - - - - - - If set to true, all methods with names like 'GetSomething' will try to resolve by name component 'something'. Defaults to true. - If set to true, will fallback to resolving by type, if can not find component with specified name. This property is here for backward compatibility. It is recommended not to use it. Defaults to false. - - - - Builds for given call. - By default if is a collection - returns factory calling on collection's item type, - otherwise standard . - - - - - - - - - - Selects arguments to be passed to resolution pipeline. - By default passes all given - keyed by names of their corresponding parameters. - - - - - - - - Selects name of the component to resolve. - If Name is GetFoo returns "Foo", otherwise null. - - - - - - - - Selects type of the component to resolve. Uses return type. - - - - - - - - If set to true, will fallback to resolving by type, if can not find component with specified name. This property is here for backward compatibility. It is recommended not to use it. - - - - - If set to true, all methods with names like 'GetSomething' will try to resolve by name component 'something'. - - - - - Abstract implementation of . The implementors must only override the InternalCreate and InternalDestroy methods in order to perform their creation and destruction - logic. - - - - - Implements the instance creation logic. The default - implementation should rely on an ordinary call to - Activator.CreateInstance(). - - - This interface is provided in order to allow custom components - to be created using a different logic, such as using a specific factory - or builder. - - The constructor for implementation has the following signature: - - - ComponentModel model, IKernel kernel, - ComponentInstanceDelegate onCreation, - ComponentInstanceDelegate onDestruction - - - The Activator should raise the events onCreation and onDestruction - in order to correctly implement the contract. Usually the best - way of creating a custom activator is by extending the existing ones. - - - - - - - - Should return a new component instance. - - - - - - Should perform all necessary work to dispose the instance - and/or any resource related to it. - - - - - - Constructs an AbstractComponentActivator - - - - - Implemented by which don't necessarily need dependencies from the container to activate new instances of the component. - - - - - Should return true if the activator can provide dependencies for the . - - - - - - - Should return true if the activated instances of the are managed externally to the container. That means container will not try to track the objects in . - - - - - - - Provides lazy registration capabilities to the container. - - - When a component is requested from a container and it was not registered, - container loads up all registered implementers of this interface and asks - them in turn whether they can provide that component, until it finds one that will. - - - - - Used by container to allow the loader to register component for given and to the container at the time when it is requested - - Name of the requested component or null - Type of requested service or null - User supplied arguments or null - Registration that registers component for given key and/or service or null. - - While either key or service can be null reference it is guaranteed that at least one of them will not be null. - When implementer opts in to provide the requested component (by returning not-null registration) it is required - to register component for requested key/service combination (when one of the elements is null, it should be ignored as well). - When implementer does not want to register the requested component it must return null. - - - - - Specifies default configuration for a typed factory. All Selector* properties are mutually exclusive, that is you're only meant to set one. - - - - - Specifies component to use as selector for given factory. This works like any named service override. - - - - - Specifies component to use as selector for given factory. This works like any typed service override. - - - - - Specifies type of the selector to use for given factory. The type will be instantiated using default constructor. It must implement - - - - - Exception thrown whe a component could not be activated. THis should come from the component activator. - - - - - Exception thrown when resolution process for a component was unsuccessful at some point for whatever reason. - - - - - Standard implementation of . Handles the selection of the best constructor, fills the writable properties the component exposes, run the commission and - decommission lifecycles, etc. - - - Custom implementors can just override the CreateInstance method. Please note however that the activator is responsible for the proxy creation when needed. - - - - - Initializes a new instance of the class. - - - - - - - - - If - true - requires release by - - . If - false - , the object has a well defined, detectable end of life (web-request end, disposal of the container etc), and will be released externally. - - - - - Represents collection of arguments used when resolving a component. - - - - - Exception thrown when component has no resolvable constructor that can be used to create an instance. - - - - - Possible states for a IHandler instance - - - - - The component can be requested - - - - - The component can not be requested - as it still depending on a external - dependency not yet available - - - - - Inspects missings dependencies in the container. Default implementation is used to - construct helpful message for exceptions and debugger views, but other implementations - are also possible if needed. - - - - - Summary description for DefaultHandler. - - - - - Implements the basis of - - - - - Contract for the IHandler, which manages an - component state and coordinates its creation - and destruction (dispatching to activators, lifestyle managers) - - - - - Implementors should use a strategy to obtain - valid references to properties and/or services - requested in the dependency model. - - - - - Returns true if the resolver is able to satisfy this dependency. - - Creation context, which is a resolver itself - Parent resolver - normally the IHandler implementation - Model of the component that is requesting the dependency - The dependency model - true if the dependency can be satisfied - - - - Should return an instance of a service or property values as - specified by the dependency model instance. - It is also the responsibility of - to throw an exception in the case a non-optional dependency - could not be resolved. - - Creation context, which is a resolver itself - Parent resolver - normally the IHandler implementation - Model of the component that is requesting the dependency - The dependency model - The dependency resolved value or null - - - - Initializes the handler with a reference to the - kernel. - - - - - - Tests whether the handler is already being resolved in given context. - - - - - Implementors should dispose the component instance - - - true if destroyed. - - - - Implementors should return a valid instance - for the component the handler is responsible. - It should throw an exception in the case the component - can't be created for some reason - - - - - - Returns true if this handler supports - - - - - - - Implementors should return a valid instance - for the component the handler is responsible. - It should return null in the case the component - can't be created for some reason. No exception should be thrown. - - - - - - Gets the model of the component being - managed by this handler. - - - - - Gets the state of the handler - - - - - Might be implemented by a handler - so it can expose access to dependency information - which is used to construct meaningful error messages - - - - - Informs the about missing dependencies. - Implementers should ignore the call if no dependencies are missing and - call back the inspector with the information required otherwise - - - - - - Dictionary of key (string) to - - - - - Constructs and initializes the handler - - - - - - Should be implemented by derived classes: disposes the component instance (or recycle it) - - - true if destroyed. - - - - Returns an instance of the component this handler is responsible for - - - when false , handler can not create valid instance and return null instead - - - - - Saves the kernel instance, subscribes to event, creates the lifestyle manager instance and computes the handler state. - - - - - - disposes the component instance (or recycle it). - - - - - - - Returns an instance of the component this handler is responsible for - - - - - - - Invoked by in order to check if a dependency can be satisfied. If not, the handler is set to a 'waiting dependency' state. - - - This method registers the dependencies within the correct collection or dictionary and changes the handler state to - - - - - - Invoked by the kernel when one of registered dependencies were satisfied by new components registered. - - - Handler for the event - - - - - - Invoked when the container receives a parent container reference. - - - This method implementation checks whether the parent container is able to supply the dependencies for this handler. - - - - - - - Gets the component model. - - - - - Gets the handler state. - - - - - Lifestyle manager instance - - - - - Initializes a new instance of the - - class. - - - - - - disposes the component instance (or recycle it) - - - true if destroyed - - - - Returns an instance of the component this handler - is responsible for - - - - - - - - - - Lifestyle manager instance - - - - - Thrown when can't create proper closed version of itself due to violation of generic constraints. - - - - - Summary description for HandlerException. - - - - - Initializes a new instance of the class. - - The message. - - - - - Initializes a new instance of the class. - - The message. - - - - - - Initializes a new instance of the class. - - The object that holds the serialized object data. - The contextual information about the source or destination. - - - - Initializes a new instance of the class. - - The message. - - - - - Initializes a new instance of the class. - - The message. - - - - - - Initializes a new instance of the class. - - The object that holds the serialized object data. - The contextual information about the source or destination. - - - - Used during a component request, passed along to the whole process. - This allow some data to be passed along the process, which is used - to detected cycled dependency graphs and now it's also being used - to provide arguments to components. - - - - - The list of handlers that are used to resolve - the component. - We track that in order to try to avoid attempts to resolve a service - with itself. - - - - - Initializes a new instance of the class. - - The type to extract generic arguments. - The parent context. - When set to true will clone . - - - - Initializes a new instance of the class. - - The handler. - The release policy. - The type to extract generic arguments. - The additional arguments. - The conversion manager. - Parent context - - - - Initializes a new instance of the class. - - - - - Method used by handlers to test whether they are being resolved in the context. - - - - - This method is provided as part of double dispatch mechanism for use by handlers. - Outside of handlers, call instead. - - - - - Creates a new, empty instance. - - - A new CreationContext should be created every time, as the contexts keeps some state related to dependency resolution. - - - - - Default implementation of . This implementation is complete and also support a kernel hierarchy (sub containers). - - - Default implementation of . - This implementation is complete and also support a kernel - hierarchy (sub containers). - - - - - The IKernel interface exposes all the functionality - the MicroKernel implements. - - - It allows you to register components and - request them by their name or the services they expose. - It also allow you to register facilities and subsystem, thus - augmenting the functionality exposed by the kernel alone to fit - your needs. - - - - - - - Summary description for IKernelEvents. - - - - - Event fired when a new component is registered - on the kernel. - - - - - Event fired after the ComponentModel is created. - Allows customizations that may affect the handler. - - - - - Event fired when the kernel was added as child of - another kernel. - - - - - Event fired when the kernel was removed from being a child - of another kernel. - - - - - Event fired before the component is created. - - - - - Event fired when a component instance destroyed. - - - - - Event fired when a new handler is registered - (it might be in a valid or waiting dependency state) - - - - - Event fired when a new handler is registered - (it might be in a valid or waiting dependency state) - - - - - Event fired when a dependency is being resolved, - it allows the dependency to be changed, - but the client ComponentModel must not be changed. - - - - - Event fired when registration / installation process is completed. - That is when container is about to exit method. This event is raised once regardless of how many components were registered. - If the is called by the event is raised when that method exits. - - - - - Event fired when a collection is being resolved (via or another overload) and the collection is empty. - Implementors would usually log that fact or potentially throw an exception (especially in development). - - - - - Support for kernel hierarchy - - - - - - Adds a to the kernel. - - - - - - - Creates and adds an facility to the kernel. - - The facility type. - - - - - Creates and adds an facility to the kernel. - - The facility type. - The callback for creation. - - - - - Register a new component resolver that can take part in the decision - making about which handler to resolve - - - - - Register a new component resolver that can take part in the decision - making about which handler(s) to resolve and in which order - - - - - Adds (or replaces) an - - - - - - - Return handlers for components that - implements the specified service. - The check is made using IsAssignableFrom - - - - - - - Returns the facilities registered on the kernel. - - - - - - Returns the - for the specified component name. - - - - - - - Returns the - for the specified service. - - - - - - - Return handlers for components that - implements the specified service. - - - - - - - Returns an implementation of - for the specified name. - - - - - - - - Returns true if a component with given was registered, otherwise false. - - - - - - - Returns true if the specified service was registered - - - - - - - Registers the components with the . The instances of are produced by fluent registration API. - Most common entry points are method to register a single type or (recommended in most cases) - . - Let the Intellisense drive you through the fluent API past those entry points. For details see the documentation at http://j.mp/WindsorApi - - - - kernel.Register(Component.For<IService>().ImplementedBy<DefaultService>().LifestyleTransient()); - - - - - kernel.Register(Classes.FromThisAssembly().BasedOn<IService>().WithServiceDefaultInterfaces().Configure(c => c.LifestyleTransient())); - - - The component registrations created by , or different entry method to the fluent API. - The kernel. - - - - Releases a component instance. This allows - the kernel to execute the proper decommission - lifecycles on the component instance. - - - - - - Remove child kernel - - - - - - Adds a to the kernel. - - - - - - - - Creates and adds an facility to the kernel. - - The facility type. - - - - - Creates and adds an facility to the kernel. - - The facility type. - - The callback for creation. - - - - Returns the component instance by the component key - using dynamic arguments - - Key to resolve - Arguments to resolve the services - - - - - Returns the component instance by the component key - using dynamic arguments - - - - - - - - Returns the component instance by the service type - - - - - Returns the component instance by the service type - using dynamic arguments - - - - - - - - Returns the component instance by the service type - using dynamic arguments - - Service to resolve - Arguments to resolve the services - - - - - Returns a component instance by the key - - - - - - - - Returns the component instance by the service type - using dynamic arguments - - - - - - - Returns the component instance by the service type - using dynamic arguments - - Arguments to resolve the services - - - - - Returns the component instance by the component key - - - - - - Returns a component instance by the key - - Component's key - Service type - The Component instance - - - - Returns a component instance by the key - - Service type - Component's key - - The Component instance - - - - Returns a component instance by the key - - - - - - - - - Returns all the valid component instances by - the service type - - The service type - - - - Returns all the valid component instances by - the service type - - The service type - Arguments to resolve the services - - - - Returns all the valid component instances by - the service type - - The service type - Arguments to resolve the services - - - - Returns component instances that implement TService - - - - - - - Returns component instances that implement TService - - - - - - - Returns component instances that implement TService - - - - - - - Returns the implementation of - - - - - Gets or sets the implementation of - - - - - Graph of components and interactions. - - - - - Returns the implementation of - - - - - Returns the parent kernel - - - - - Gets or sets the implementation of - allowing different strategies for proxy creation. - - - - - Gets or sets the implementation for - - - - - Returns the implementation for - - - - - Returns the component instance by the key - - - - - Returns the component instance by the service type - - - - - Extended contract of kernel, used internally. - - - - - Adds a custom made . Used by facilities. - - - - - - Constructs an implementation of for the given - - - - - - - Returns a component instance by the key - - - - - - - - - - Internal logger used by the container (not just implementation itself but also other classes too) to log information about what's happening in the container. - - - - - List of sub containers. - - - - - List of registered. - - - - - Map of subsystems registered. - - - - - The parent kernel, if exists. - - - - - Constructs a DefaultKernel with no component proxy support. - - - - - Constructs a DefaultKernel with the specified implementation of and - - - - - - - Constructs a DefaultKernel with the specified implementation of - - - - - Starts the process of component disposal. - - - - - Return handlers for components that implements the specified service. The check is made using IsAssignableFrom - - - - - - - Returns the facilities registered on the kernel. - - - - - - Return handlers for components that implements the specified service. - - - - - - - Registers the components with the . The instances of are produced by fluent registration API. Most common entry points are - method to register a single type or (recommended in most cases) . Let the Intellisense drive you through the - fluent - API past those entry points. For details see the documentation at http://j.mp/WindsorApi - - - kernel.Register(Component.For<IService>().ImplementedBy<DefaultService>().LifestyleTransient()); - - - kernel.Register(Classes.FromThisAssembly().BasedOn<IService>().WithServiceDefaultInterfaces().Configure(c => c.LifestyleTransient())); - - The component registrations created by , or different entry method to the fluent - API. - The kernel. - - - - Releases a component instance. This allows the kernel to execute the proper decommission lifecycles on the component instance. - - - - - - Creates an implementation of based on and invokes to initialize the newly created manager. - - - - - - - - It is the responsibility of the kernel to ensure that handler is only ever disposed once. - - - - - Returns the component instance by the component key - using dynamic arguments - - - - - - - - Returns the component instance by the component key - using dynamic arguments - - - - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the key - - - - - - - - - Returns the component instance by the service type - using dynamic arguments - - - - - - - Returns the component instance by the service type - using dynamic arguments - - - - - - - Returns the component instance by the component key - - - - - - Returns a component instance by the key - - Component's key - Service type - - The Component instance - - - - - Returns a component instance by the key - - Service type - Component's key - - - The Component instance - - - - - Returns the component instance by the service type - - - - - Returns the component instance by the service type - using dynamic arguments - - - - - - - - Returns the component instance by the service type - using dynamic arguments - - - - - - - - Returns all the valid component instances by - the service type - - The service type - - - - Returns all the valid component instances by - the service type - - The service type - - Arguments to resolve the services - - - - - Returns all the valid component instances by - the service type - - The service type - - Arguments to resolve the services - - - - - Returns component instances that implement TService - - - - - - - - Returns component instances that implement TService - - - - - - - - Returns component instances that implement TService - - - - - - - Returns a component instance by the key - - - - - - - - - - Graph of components and interactions. - - - - - Exception throw when a circular dependency is detected - - - - - Initializes a new instance of the - - class. - - The message. - - - - Initializes a new instance of the - - class. - - The message. - The inner exception. - - - - Initializes a new instance of the - - class. - - - - - - - Initializes a new instance of the - - class. - - The - - that holds the serialized object data about the exception being thrown. - The - - that contains contextual information about the source or destination. - The - - parameter is - - . - The class name is - - or - - is zero (0). - - - - Exception threw when a request for a component - cannot be satisfied because the component does not - exist in the container - - - - - Initializes a new instance of the - - class. - - The name. - Exception message. - - - - Initializes a new instance of the - - class. - - The service. - Exception message. - - - - Initializes a new instance of the - - class. - - The service. - - - - Initializes a new instance of the - - class. - - The object that holds the serialized object data. - The contextual information about the source or destination. - - - - Exception threw when there is a problem - registering a component - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The object that holds the serialized object data. - The contextual information about the source or destination. - - - - Implementation of this interface allows for extension of the way - the container looks up multiple handlers. It provides the necessary - hook to allow for business logic to prioritize, filter, and sort - handlers when resolving multiple handlers. - - - - - Whatever the selector has an opinion about resolving a component with the - specified service and key. - - The service interface that we want to resolve - - - - Select the appropriate handlers (if any) from the list of defined handlers, - returning them in the order they should be executed. - The returned handlers should members from the array. - - The service interface that we want to resolve - The defined handlers - The selected handlers, or an empty array, or null - - - - Exception threw by Kernel operations that failed - for some reason. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The message. - The inner exception. - - - - Initializes a new instance of the class. - - The object that holds the serialized object data. - The contextual information about the source or destination. - - - - Base class for facilities. - - - - - Unit of extension. A facility should use - the extension points offered by the kernel - to augment its functionality. - - - - - - - - - - - - - - - The custom initialization for the Facility. - - - It must be overridden. - - - - - Performs the tasks associated with freeing, releasing, or resetting - the facility resources. - - - It can be overriden. - - - - - Initializes the facility. First it performs the initialization common for all - facilities, setting the and the - . After it, the Init method is invoked - and the custom initilization is perfomed. - - - - - - - Terminates the Facility, invokes the method and sets - the Kernel to a null reference. - - - - - Gets the facility configuration. - - The representing - the facility configuration. - - - - Gets the where the facility is registered. - - The . - - - - Base exception to be used by facilities. - - - - - This method changes behavior of the facility. Deferred mode should be used when you - have single call to and register all your components there. - Enabling this mode will optimize the behavior of the facility so that it will wait 'till the end of - installation and only after all s were ran it will instantiate and - start all the startable components. An exception will be thrown if a startable component can't be - instantiated and started. This will help you fail fast and diagnose issues quickly. If you don't want - the exception to be thrown and you prefer the component to fail silently, use method instead. - - - It is recommended to use this method over method. - - - - - This method changes behavior of the facility. Deferred mode should be used when you - have single call to and register all your components there. - Enabling this mode will optimize the behavior of the facility so that it will wait 'till the end of - installation and only after all s were ran it will instantiate and - start all the startable components. No exception will be thrown if a startable component can't be - instantiated and started. If you'd rather fail fast and diagnose issues quickly, use method instead. - - - It is recommended to use method over this method. - - - - - For each new component registered, - some components in the WaitingDependency - state may have became valid, so we check them - - - - - Request the component instance - - - - - - Assigns the start method for the startable. - - - The start method. - - - Be sure that you first added the - to the kernel, before registering this component. - - - - - Assigns the start method for the startable. - - - Method to use. something like: StartUsingMethod(s => s.Start) - - - Be sure that you first added the - to the kernel, before registering this component. - - - - - Assigns the stop method for the startable. - - - The stop method. - - - Be sure that you first added the - to the kernel, before registering this component. - - - - - Assigns the stop method for the startable. - - - Method to use. something like: StartUsingMethod(s => s.Start) - - - Be sure that you first added the - to the kernel, before registering this component. - - - - - Legacy class from old impl. of the facility. Do not use it. - - - - - Legacy interceptor for old impl. of the facility. - - - - - Interceptors might implement this to receive the - ComponentModel on behalf of the component where the - interceptor is acting. - - - - - Represents a single component to be resolved via Typed Factory - - - - - Resolves the component(s) from given kernel. - - - - Resolved component(s). - - - - Provides automatically generated factories on top of interfaces or delegates that - you can use to pull components out of the container without ever referencing it - explicitly. - - - - - Marks the component as typed factory. - - - - - - Only interfaces and delegates are legal to use as typed factories. Methods with out parameters are not allowed. - When registering component as typed factory no implementation should be provided (in case there is any it will be ignored). - Typed factories rely on set internally, so users should not set interceptor selectors explicitly; - otherwise the factory will not function correctly. - - - - - Marks the component as typed factory. - - - - Name of the component to be used for this factory - - - Only interfaces and delegates are legal to use as typed factories. Methods with out parameters are not allowed. - When registering component as typed factory no implementation should be provided (in case there is any it will be ignored). - Typed factories rely on set internally, so users should not set interceptor selectors explicitly; - otherwise the factory will not function correctly. - - - - - Marks the component as typed factory. - - - - Type of the component to be used for this factory - - - Only interfaces and delegates are legal to use as typed factories. Methods with out parameters are not allowed. - When registering component as typed factory no implementation should be provided (in case there is any it will be ignored). - Typed factories rely on set internally, so users should not set interceptor selectors explicitly; - otherwise the factory will not function correctly. - - - - - Marks the component as typed factory. - - - - The instance to be used for this factory - - - Only interfaces and delegates are legal to use as typed factories. Methods with out parameters are not allowed. - When registering component as typed factory no implementation should be provided (in case there is any it will be ignored). - Typed factories rely on set internally, so users should not set interceptor selectors explicitly; - otherwise the factory will not function correctly. - - - - - Marks the component as typed factory. - - - - - - - Only interfaces and delegates are legal to use as typed factories. Methods with out parameters are not allowed. - When registering component as typed factory no implementation should be provided (in case there is any it will be ignored). - Typed factories rely on set internally, so users should not set interceptor selectors explicitly; - otherwise the factory will not function correctly. - - - - - Initializes a new instance of the class. - - The parent handler. - The child resolver. - Release policy of the parent container. - - - - Clone some of the parent componentmodel properties to the generic subhandler. - - - The following properties are copied: - - - The - - - - - - The - - - - - - the subhandler - - - - Extension point to allow the developer to use his implementation of - - - - - Represents a delegate which holds basic information about a component. - - Key which identifies the component - handler that holds this component and is capable of - creating an instance of it. - - - - - Represents a delegate which holds basic information about a component - and its instance. - - Component meta information - Component instance - - - - Represents a delegate which holds the information about the - component - - - - - Represents a delegate which holds the information about a service. - - - - - Represents a delegate which holds a handler - - handler that holds a component and is capable of - creating an instance of it. - - - - - - Represents a delegate which holds dependency - resolving information. - - - - - Abstract representation of a vertex. - - - - - The nodes that this node depends on - - - - - The node has not been visited yet - - - - - This node is in the process of being visited - - - - - This now was visited - - - - - Represents a collection of objects - which are guaranteed to be unique - and holds a color for them - - - - - Holds a timestamp (integer) - for a given item - - - - - Summary description for DisposalConcern. - - - - - Summary description for InitializationConcern. - - - - - Lifetime concern that works for components that don't have their actual type determined upfront - - - - - Lifetime concern that works for components that don't have their actual type determined upfront - - - - - Lifetime concern that works for components that don't have their actual type determined upfront - - - - - Summary description for SupportInitializeConcern. - - - - - Only called for components that - belongs to a pool when the component - comes back to the pool. - - - - - Implementors should perform any - initialization/clean up. - - - - - Interface for components that wish to be started and stopped by the container - - - - - Starts this instance. - - - - - Stops this instance. - - - - - Base implementation of - - - - - The ILifestyleManager implements - a strategy for a given lifestyle, like singleton, per-thread - and transient. - - - The responsibility of ILifestyleManager - is only the management of lifestyle. It should rely on - to obtain a new component instance - - - - - Initializes the ILifestyleManager with the - - - - - - - - - Implementors should release the component instance based - on the lifestyle semantic, for example, singleton components - should not be released on a call for release, instead they should - release them when disposed is invoked. - - - - - - Implementors should return the component instance based on the lifestyle semantic. - Also the instance should be set to , should be also set if needed - and if a new instance was created it should be passed on to of . - - - - - - - - Invoked when the container gets disposed. The container will not call it multiple times in multithreaded environments. - However it may be called at the same time when some out of band release mechanism is in progress. Resolving those potential - issues is the task of implementors - - - - - Provides access to held in whatever is appropriate for given scope. - - - Implementors should also ensure proper initialization of when accessed for the first time and ensure a thread safe implementation is used when scope or cache access can cause threading issues if non thread safe cache is used. - - - - - Provides access to for currently resolved component. - - Current creation context - Thrown when scope cache could not be accessed. - - - - Manages a pool of objects. - - - - - Pool implementation contract. - - - - - Implementors should release the instance or put it - on the pool - - - - - Represents persistence mechanism for instances of components that are supposed to be reused within scope managing the cache. - - - - Saves or retrieves a stored in the cache associated with the given . - - - Thrown when is null. - - - Thrown when there is already a associated with given - - value in the cache. - - The interface gives no thread safety guarantees. When the scope can be accessed from multiple threads the implementor should ensure thread safety. - - - - Provides explicit lifetime scoping within logical path of execution. Used for types with . - - - The scope is passed on to child threads, including ThreadPool threads. The capability is limited to single and should be used cauciously as call to may occur while the child thread is still executing, what in turn may lead to subtle threading bugs. - - - - - Delegate used by to request a new instance to be created (that would be the first instance in that scope, subsequently reused). - - Callback which should be invoken by provided delegate right after isntance gets created and before it burden gets tracked. - The purpose if this callback is to include scope in decisions regarding tracking of the instance by . - Depending on the scope implementation it may or may not provide its own end of lifetime detection mechanism. - - - - - Contribute to component model before standard run. - - - - - - - Contribute to component model after standard run. - - - - - - - Contribute to component model after standard run. - - - - - - - Entry point to fluent way to register, by convention, multiple concrete (non-abstract) classes (that include also delegate types). Use static methods on the class to fluently build - registration. - - - - Prepares to register types from a list of types. - The list of types. - - The corresponding - - - - Prepares to register types from a list of types. - The list of types. - - The corresponding - - - - Prepares to register types from an assembly. - The assembly. - - The corresponding - - - - Prepares to register types from an assembly containing the type. - The type belonging to the assembly. - - The corresponding - - - - Prepares to register types from an assembly containing the type. - The type belonging to the assembly. - - The corresponding - - - - Prepares to register types from assemblies found in a given directory that meet additional optional restrictions. - - - - - Scans current assembly and all refernced assemblies with the same first part of the name. - - - Assemblies are considered to belong to the same application based on the first part of the name. For example if the method is called from within MyApp.exe and MyApp.exe references - MyApp.SuperFeatures.dll, mscorlib.dll and ThirdPartyCompany.UberControls.dll the MyApp.exe and MyApp.SuperFeatures.dll will be scanned for components, and other - assemblies will be ignored. - - - - Prepares to register types from an assembly. - The assembly name. - - The corresponding - - - - Prepares to register types from the assembly containing the code invoking this method. - - The corresponding - - - - - Entry point to fluent way to register, by convention, multiple types. No upfront filtering is done so literally every type will be considered. That means that usually some filtering done by user - will be required. For a most common case where non-abstract classes only are to be considered use class instead. Use static methods on the class to fluently build - registration. - - - - Prepares to register types from a list of types. - The list of types. - - The corresponding - - - - Prepares to register types from a list of types. - The list of types. - - The corresponding - - - - Prepares to register types from an assembly. - The assembly. - - The corresponding - - - - Prepares to register types from an assembly containing the type. - The type belonging to the assembly. - - The corresponding - - - - Prepares to register types from an assembly containing the type. - The type belonging to the assembly. - - The corresponding - - - - Prepares to register types from assemblies found in a given directory that meet additional optional restrictions. - - - - - Scans current assembly and all refernced assemblies with the same first part of the name. - - - Assemblies are considered to belong to the same application based on the first part of the name. For example if the method is called from within MyApp.exe and MyApp.exe references - MyApp.SuperFeatures.dll, mscorlib.dll and ThirdPartyCompany.UberControls.dll the MyApp.exe and MyApp.SuperFeatures.dll will be scanned for components, and other - assemblies will be ignored. - - - - Prepares to register types from an assembly. - The assembly name. - - The corresponding - - - - Prepares to register types from the assembly containing the code invoking this method. - - The corresponding - - - - - Only one instance is created first time an instance of the component is requested, and it is then reused for all subseque. - - - - - Transient components are never reused. Since their lifetime does not have any externally constrained end, they have to be manually released if resolved explicitly, to ensure proper decomission. - - - - - Summary description for DefaultComponentModelBuilder. - - - - - Implementors must construct a populated - instance of ComponentModel by inspecting the component - and|or the configuration. - - - - - "To give or supply in common with others; give to a - common fund or for a common purpose". The contributor - should inspect the component, or even the configuration - associated with the component, to add or change information - in the model that can be used later. - - - - - Constructs a new ComponentModel by invoking - the registered contributors. - - - - - - - - - - Removes the specified contributor - - - - - - Initializes a new instance of the class. - - The kernel. - - - - "To give or supply in common with others; give to a - common fund or for a common purpose". The contributor - should inspect the component, or even the configuration - associated with the component, to add or change information - in the model that can be used later. - - - - - - Constructs a new ComponentModel by invoking - the registered contributors. - - - - - - - - - - Removes the specified contributor - - - - - - Initializes the default contributors. - - - - - Gets the contributors. - - The contributors. - - - - Inspects the component configuration and the type looking for a - definition of component activator type. The configuration preceeds whatever - is defined in the component. - - - This inspector is not guarantee to always set up an component activator type. - If nothing could be found it wont touch the model. In this case is up to - the kernel to establish a default component activator for components. - - - - - Searches for the component activator in the configuration and, if unsuccessful - look for the component activator attribute in the implementation type. - - The kernel instance - The model instance - - - - Reads the attribute "componentActivatorType" associated with the - component configuration and verifies it implements the - interface. - - - If the type does not implement the proper interface - - - - - - - Check if the type expose one of the component activator attributes - defined in Castle.Core namespace. - - - - - - Validates that the provide type implements IComponentActivator - - The custom component activator. - - - - Inspects the component configuration and type looking for information - that can influence the generation of a proxy for that component. - - We specifically look for additionalInterfaces and marshalByRefProxy - on the component configuration or the - attribute. - - - - - - Searches for proxy behavior in the configuration and, if unsuccessful - look for the attribute in - the implementation type. - - - - - Returns a instance if the type - uses the attribute. Otherwise returns null. - - - - - - Reads the proxy behavior associated with the - component configuration/type and applies it to the model. - - - If the conversion fails - - - - - - - Uses the ConfigurationStore registered in the kernel to obtain - an associated with the component. - - - - - Queries the kernel's ConfigurationStore for a configuration - associated with the component name. - - - - - - - Check for a node 'parameters' within the component - configuration. For each child it, a ParameterModel is created - and added to ComponentModel's Parameters collection - - - - - Inspect the configuration associated with the component - and populates the parameter model collection accordingly - - - - - - - This implementation of - collects all available constructors and populates them in the model - as candidates. The Kernel will pick up one of the candidates - according to a heuristic. - - - - - Only to hold internal constants and get rid of - magic numbers and hardcode names. - - - - - Inspect the component for InterceptorAttribute and - the configuration for the interceptors node - - - - - Inspects the type looking for interfaces that constitutes - lifecycle interfaces, defined in the Castle.Model namespace. - - - - - Checks if the type implements and or - interfaces. - - - - - - Inspects the component configuration and the type looking for a definition of lifestyle type. The configuration preceeds whatever is defined in the component. - - This inspector is not guarantee to always set up an lifestyle type. If nothing could be found it wont touch the model. In this case is up to the kernel to establish a default lifestyle for - components. - - - - Searches for the lifestyle in the configuration and, if unsuccessful look for the lifestyle attribute in the implementation type. - - - - Reads the attribute "lifestyle" associated with the component configuration and tries to convert to - enum type. - - - - Check if the type expose one of the lifestyle attributes defined in Castle.Model namespace. - - - - Base for inspectors that want configuration associated with methods. - For each child a is created - and added to ComponentModel's methods collection - - - Implementors should override the return - the name of the node to be inspected. For example: - - - - - ]]> - - - - - - This implementation of - collects all potential writable public properties exposed by the component - implementation and populates the model with them. - The Kernel might be able to set some of these properties when the component - is requested. - - - - - Adds the properties as optional dependencies of this component. - - - - - - - Represents the collection of information and meta information collected about a component. - - - - - Dependencies the kernel must resolve - - - - - Interceptors associated - - - - - External parameters - - - - - All potential properties that can be setted by the kernel - - - - - Constructs a ComponentModel - - - - - Adds constructor dependency to this - - - - - - Adds property dependency to this - - - - - - Add service to be exposed by this - - - - - - Requires the selected property dependencies. - - The property selector. - - - - Requires the property dependencies of type . - - The dependency type. - - - - Gets or sets the configuration. - - The configuration. - - - - Gets the constructors candidates. - - The constructors. - - - - Gets or sets the custom component activator. - - The custom component activator. - - - - Gets the custom dependencies. - - The custom dependencies. - - - - Gets or sets the custom lifestyle. - - The custom lifestyle. - - - - Dependencies are kept within constructors and properties. Others dependencies must be registered here, so the kernel (as a matter of fact the handler) can check them - - - - - Gets or sets the extended properties. - - The extended properties. - - - - Gets or sets the component implementation. - - The implementation. - - - - Gets or sets the strategy for inspecting public properties on the components - - - - - Gets the interceptors. - - The interceptors. - - - - Gets the lifecycle steps. - - The lifecycle steps. - - - - Gets or sets the lifestyle type. - - The type of the lifestyle. - - - - Sets or returns the component key - - - - - Gets the parameter collection. - - The parameters. - - - - Gets the properties set. - - The properties. - - - - Gets or sets a value indicating whether the component requires generic arguments. - - true if generic arguments are required; otherwise, false . - - - - Represents a constructor of the component - that the container can use to initialize it properly. - - - - - Initializes a new instance of the class. - - The constructor info. - The dependencies. - - - - Gets the ConstructorInfo (from reflection). - - The constructor. - - - - Gets the dependencies this constructor candidate exposes. - - The dependencies. - - - - Collection of - - - - - Collection of . - - - - - Represents an reference to a Interceptor component. - - - - - Represents obtained just in time object. - - - - - - If the reference introduces dependency on a component, should return for that dependency, otherwise null. - - - - - - - Resolves object referenced by this reference, optionally using provided . - If object is resolved from the kernel, the should be used to guard - against against cyclic dependencies. - - - - - - - - Initializes a new instance of the class. - - The component key. - - - - Initializes a new instance of the class. - - Type of the interceptor to use. This will reference the default component (ie. one with no explicitly assigned name) implemented by given type. - - - - Gets an for the component key. - - The component key. - The - - - - Gets an for the service. - - The service. - The - - - - Gets an for the service. - - The service type. - The - - - - Collection of - - - - Adds the specified interceptor as the first. - The interceptor. - - - Adds the interceptor to the end of the interceptors list if it does not exist already. - The interceptor reference. - - - Adds the specified interceptor as the last. - The interceptor. - - - Inserts the specified interceptor at the specified index. - The index. - The interceptor. - - - Returns an enumerator that can iterate through a collection. - - An - that can be used to iterate through the collection. - - - - Adds the specified item. - The interceptor. - - - Gets a value indicating whether this instance has interceptors. - - true if this instance has interceptors; otherwise, false. - - - - - Represents a collection of ordered lifecycle concerns. - - - - - Returns all concerns for the commission phase - - - - - - Returns all concerns for the decommission phase - - - - - - Gets a value indicating whether this instance has commission steps. - - - true if this instance has commission steps; otherwise, false. - - - - - Gets a value indicating whether this instance has decommission steps. - - - true if this instance has decommission steps; otherwise, false. - - - - - Represents meta information associated with a method - (not yet defined) - - - - - Initializes a new instance of the class. - - The config node. - - - - Gets the config node. - - The config node. - - - - Collection of - - - - - Gets the method info2 model. - - The method info2 model. - - - - Represents a parameter. Usually the parameter - comes from the external world, ie, an external configuration. - - - - - Initializes a new instance of the class. - - The name. - The value. - - - - Initializes a new instance of the class. - - The name. - The value. - - - - Gets the config value. - - The config value. - - - - Gets the name. - - The name. - - - - Gets the value. - - The value. - - - - Collection of - - - - - Adds the specified name. - - The name. - The value. - - - - Adds the specified name. - - The name. - The config node. - - - - Adds the specified key. - - - Not implemented - - The key. - The value. - - - - Returns an enumerator that can iterate through a collection. - - - An - that can be used to iterate through the collection. - - - - - Gets the count. - - The count. - - - - Gets the with the specified key. - - - - - - Represents a property and the respective dependency. - - TODO: remove this class and instead create PropertyDependencyModel like we do for constructors - - - - Initializes a new instance of the class. - - The property info. - The dependency. - - - - Gets the dependency. - - The dependency. - - - - Gets the property. - - The property. - - - - Collection of - - - - Finds a PropertySet the by PropertyInfo. - The info. - - - - - Reference to component obtained from the container. - - - - - - Creates a new instance of referencing default component implemented by - - - - - - Creates a new instance of referencing component - - - - - - Select the appropriate interceptors based on the application specific - business logic - - - - - Determine whatever the specified has interceptors. - The selector should only return true from this method if it has determined that is - a model that it would likely add interceptors to. - - The model - Whatever this selector is likely to add interceptors to the specified model - - - - Select the appropriate interceptor references. - The interceptor references aren't necessarily registered in the model.Intereceptors - - The model to select the interceptors for - The interceptors selected by previous selectors in the pipeline or if this is the first interceptor in the pipeline. - The interceptor for this model (in the current context) or a null reference - - If the selector is not interested in modifying the interceptors for this model, it - should return and the next selector in line would be executed. - If the selector wants no interceptors to be used it can either return null or empty array. - However next interceptor in line is free to override this choice. - - - - - Represents a reference to an existing object. - - - - - - Defines the contract used by the kernel - to obtain proxies for components. The implementor - must return a proxied instance that dispatch - the invocation to the registered interceptors in the model - - - - - Add the selector to the list of selectors that can affect interceptor's decisions - in the container. - - - - - Implementors must create a proxy based on - the information exposed by ComponentModel - - The kernel instance - The component model - The component instance to be proxy (only required in some cases) - array of parameters to the constructor (if any) - The creation context - proxy instance - - - - Implementor should check the component model - and determine if the caller must pass on the component - instance to the proxy - - The kernel instance - The component model - true if an instance must be passed to - - - - Determines whatever we need to create a proxy for this model - - - - - - - This is a placeholder implementation of . - - - The decision to supply no implementation for - is supported by the fact that the MicroKernel should be a thin - assembly with the minimal set of features, although extensible. - Providing the support for this interface would obligate - the user to import another assembly, even if the large majority of - simple cases, no use use of interceptors will take place. - If you want to use however, see the Windsor container. - - - - - Holds the keys used by the proxy factories. - - - - - Key used to supply custom proxy options. - - - - - Represents options to configure proxies. - - - - - Initializes a new instance of the class. - - - - - Adds the additional interfaces to proxy. - - The interfaces. - - - - Adds the additional mix ins to integrate. - - The mix ins. - - - - Adds the additional mix in to integrate. - - The mix in. - - - - Equals the specified obj. - - The obj. - true if equal. - - - - Gets the hash code. - - - - - - Gets the additional interfaces to proxy. - - The interfaces. - - - - Determines if the proxied component can change targets. - - - - - Determines if the interface proxied component should inherit - from - - - - - Gets or sets the proxy hook. - - - - - Gets the mix ins to integrate. - - The interfaces. - - - - Determines if the proxied component uses a target. - - - - - Gets or sets the interceptor selector. - - - - - Helper support for proxy configuration. - - - - - Obtains the associated with the . - - The component model. - true if the options should be created if not present. - The associated proxy options for the component model. - - - - Constructs the descriptor with name and value. - - The attribute name. - The attribute value. - - - - Constructs the descriptor with name. - - The component. - The attribute name. - - - - Builds the with value. - - The attribute value. - The - - - - Factory for creating objects. Use static methods on the class to fluently build registration. - - - - - Creates a component registration for the - - Type of the service. - The component registration. - - - - Creates a component registration for the - - Types of the service. - The component registration. - B - - - - Creates a component registration for the - - Types of the service. - The component registration. - - - - Creates a component registration for the service type. - - The service type. - The component registration. - - - - Creates a component registration for the service types. - - The primary service type. - The forwarded type. - The component registration. - - - - Creates a component registration for the service types. - - The primary service type. - The first forwarded type. - The second forwarded type. - The component registration. - - - - Creates a component registration for the service types. - - The primary service type. - The first forwarded type. - The second forwarded type. - The third forwarded type. - The component registration. - - - - Creates a component registration for the service types. - - The primary service type. - The first forwarded type. - The second forwarded type. - The third forwarded type. - The fourth forwarded type. - The component registration. - - - - Helper method for filtering components based on presence of an Attribute. - - - - - - container.Register( - Classes.FromThisAssembly() - .Where(Component.HasAttribute<UserAttribute>) ); - - - - - Helper method for filtering components based on presence of an Attribute and value of predicate on that attribute. - - - - - - container.Register( - Classes.FromThisAssembly() - .Where(Component.HasAttribute<UserAttribute>(u => u.SomeFlag)) ); - - - - - Determines if the component is a Castle component, that is - if it has a . - - true if the service is a Castle Component. - - This method is usually used as argument for method. - - - - - Creates a predicate to check if a component is in a namespace. - - The namespace. - true if the component type is in the namespace. - - - - Creates a predicate to check if a component is in a namespace. - - The namespace. - If set to true, will also include types from subnamespaces. - true if the component type is in the namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - true if the component is in the same namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - If set to true, will also include types from subnamespaces. - true if the component is in the same namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - true if the component is in the same namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - If set to true, will also include types from subnamespaces. - true if the component is in the same namespace. - - - - Inserts a new named argument with given key. If an argument for this name already exists, it will be overwritten. - - - - - Inserts a new typed argument with given type. If an argument for this type already exists, it will be overwritten. - - - - - Inserts a set of typed arguments. Property names of the anonymous type will be used as key. - - - - - Inserts a new typed argument with given type. If an argument for this type already exists, it will be overwritten. - - - - - Inserts a set of typed arguments. Actual type of the arguments will be used as key. - - - - - Registration for a single type as a component with the kernel. - - You can create a new registration with the factory. - - The service type - - - - The contract for all registrations with the kernel. - - - - - Performs the registration in the . - - The kernel. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Marks the components with one or more actors. - - The component actors. - - - - - Set a custom which creates and destroys the component. - - - - - - Adds the attribute descriptor. - - The key. - The value. - - - - - Adds the descriptor. - - The descriptor. - - - - - Creates an attribute descriptor. - - The attribute key. - - - - - Apply more complex configuration to this component registration. - - The config nodes. - - - - - Apply more complex configuration to this component registration. - - The configuration . - - - - - Defines additional dependencies for the component. Those can be any of , and . Use the static methods on - class to define the dependencies. See the example attached. - - The dependency. - - - Artificial example showing how to specify a service override. See other methods on class for more options. - DependsOn(Dependency.OnComponent(typeof(IRepository), typeof(IntranetRepository))); - - - - - Defines additional dependencies for the component. Those can be any combibation of , and . Use the static methods - on class to define the dependencies. See the example attached. - - The dependencies. - - - Artificial example showing how to specify three different dependencies. If any of the methods shown is not self explanatory consult its documentation. - DependsOn(Dependency.OnAppSettingsValue("connectionString", "intranet-connection-string"), - Dependency.OnComponent(typeof(IRepository), typeof(IntranetRepository)), - Dependency.OnValue("applicationName", "My Application")); - - - - - Uses a dictionary of key/value pairs, to specify custom dependencies. - - - The dependencies. - - - - - Uses an (anonymous) object as a dictionary, to specify custom dependencies. - - - The dependencies. - - - - - Allows custom dependencies to by defined dyncamically. Calling this overload is synonymous to using - - The delegate used for providing dynamic parameters. - - - - - Allows custom dependencies to by defined dynamically with releasing capability. Calling this overload is synonymous to using - - - The delegate used for providing dynamic parameters. - - - - - Allows custom dependencies to by defined dynamically with releasing capability. Calling this overload is synonymous to using - - - The delegate used for providing dynamic parameters. - - - Use when resolving components from in order to detect cycles. - - - - - Allows custom dependencies to by defined dyncamically. - - The delegate used for providing dynamic parameters. - - - - - Allows custom dependencies to by defined dynamically with releasing capability. - - The delegate used for providing dynamic parameters. - - - - - Allows custom dependencies to by defined dynamically with releasing capability. - - The delegate used for providing dynamic parameters. - - - Use when resolving components from in order to detect cycles. - - - - - Sets for this component. - - The extended properties. - - - - - Sets for this component. - - The extended properties. - - - - - Sets for this component. - - The extendend properties as key/value pairs. - - - - - Adds as additional services to be exposed by this component. - - The types to forward. - - - - - Adds as additional service to be exposed by this component. - - The forwarded type. - The component registration. - - - - Adds and as additional services to be exposed by this component. - - The first forwarded type. - The second forwarded type. - The component registration. - - - - Adds , and as additional services to be exposed by this component. - - The first forwarded type. - The second forwarded type. - The third forwarded type. - The component registration. - - - - Adds , , and as additional services to be exposed by - this component. - - The first forwarded type. - The second forwarded type. - The third forwarded type. - The fourth forwarded type. - The component registration. - - - - Adds as additional services to be exposed by this component. - - The types to forward. - - - - - Sets the concrete type that implements the service to . - - If not set, the class service type or first registered interface will be used as the implementation for this component. - - The type that is the implementation for the service. - - - - - Sets the concrete type that implements the service to . - - If not set, the class service type or first registered interface will be used as the implementation for this component. - - The type that is the implementation for the service. - - - - - Sets the concrete type that implements the service to . - - If not set, the class service type or first registered interface will be used as the implementation for this component. - - The type that is the implementation for the service. - Provides ability to close open generic service. Ignored when registering closed or non-generic component. - - - - - Sets the concrete type that implements the service to . - - If not set, the class service type or first registered interface will be used as the implementation for this component. - - The type that is the implementation for the service. - Provides ability to select if open generic component supports particular closed version of a service. - - - - - Sets the concrete type that implements the service to . - - If not set, the class service type or first registered interface will be used as the implementation for this component. - - The type that is the implementation for the service. - Provides ability to close open generic service. Ignored when registering closed or non-generic component. - Provides ability to select if open generic component supports particular closed version of a service. - - - - - Assigns an existing instance as the component for this registration. - - The component instance. - - - - - Set the interceptors for this component. - - The interceptors. - - - - - Set the interceptors for this component. - - The interceptors. - - - - - Set the interceptor for this component. - - - - - - Set the interceptor for this component. - - - - - - Set the interceptor for this component. - - - - - - Sets component lifestyle to specified one. - - - - - - Sets component lifestyle to specified one. - - - - - - Sets component lifestyle to per thread. - - - - - - Sets component lifestyle to scoped per explicit scope. If is provided, it will be used to access scope for the component. Otherwise the default scope accessor - will be used. - - - - - - Sets component lifestyle to scoped per explicit scope. - - - - - - Sets component lifestyle to scoped per farthest component on the resolution stack where implementation type is assignable to . - - - - - - Sets component lifestyle to scoped per nearest component on the resolution stack where implementation type is assignable to . - - - - - - Sets component lifestyle to scoped per scope determined by - - Custom algorithm for selection which component higher up the resolution stack should be the root of the lifetime scope for current component's instances. The delegate - will be invoked when current component is about to be resolved and will be passed set of handlers to components higher up the resolution stack. It ought to return one which it designages as the root - which shall scope the lifetime of current component's instance, or null - - - - - Sets component lifestyle to pooled. If or are not set default values will be used. - - - - - - Sets component lifestyle to singleton. - - - - - - Sets component lifestyle to transient. - - - - - - Set a name of this registration. This is required if you have multiple components for a given service and want to be able to resolve some specific ones. Then you'd provide the name so that Windsor - knows which one of the bunch you know. Otherwise don't bother setting the name. - - If not set, the of the will be used as the key to register the component. - - The name of this registration. - - - Names have to be globally unique in the scope of the container. - - - - - This method as opposed to should be used by tools like facilities when the name is not provided by the user, but autogenerated and user has no interest in seing this name, for - example in diagnostics reports. Set a name of this registration. This is required if you have multiple components for a given service and want to be able to resolve some specific ones. Then you'd - provide the name so that Windsor knows which one of the bunch you know. Otherwise don't bother setting the name. - - If not set, the of the will be used as the key to register the component. - - The name of this registration. - - - Names have to be globally unique in the scope of the container. - - - - - Stores a set of which will be invoked when the component is created and before it's returned from the container. - - A set of actions to be executed right after the component is created and before it's returned from the container. - - - - Stores a set of which will be invoked when the component is created and before it's returned from the container. - - A set of actions to be executed right after the component is created and before it's returned from the container. - - - - Stores a set of which will be invoked when the component is created and before it's returned from the container. - - A set of actions to be executed right after the component is created and before it's returned from the container. - - - - Stores a set of which will be invoked when the component is destroyed which means when it's released or it's lifetime scope ends. Notice that usage of this - method will cause instsances of the component to be tracked, even if they wouldn't be otherwise. - - A set of actions to be executed when the component is destroyed. - - - - Services that are already present in the container will be skipped. If no new service is left the registration will not happen at all. - - - - - - With the overwrite. - - - - - - Set configuration parameters with string or values. - - The parameters. - - - - - Sets the interceptor selector for this component. - - - - - - - Sets the interceptor selector for this component. - - - - - - - Override (some of) the services that this component needs. Use to create an override. - - Each key represents the service dependency of this component, for example the name of a constructor argument or a property. The corresponding value is the key of an other component registered to the - kernel, and is used to resolve the dependency. - - To specify dependencies which are not services, use - - The service overrides. - - - - - Override (some of) the services that this component needs, using a dictionary. - - Each key represents the service dependency of this component, for example the name of a constructor argument or a property. The corresponding value is the key of an other component registered to the - kernel, and is used to resolve the dependency. - - To specify dependencies which are not services, use - - The service overrides. - - - - - Override (some of) the services that this component needs, using an (anonymous) object as a dictionary. - - Each key represents the service dependency of this component, for example the name of a constructor argument or a property. The corresponding value is the key of an other component registered to the - kernel, and is used to resolve the dependency. - - To specify dependencies which are not services, use - - The service overrides. - - - - - Uses a factory to instantiate the component - - Factory type. This factory has to be registered in the kernel. - Implementation type. - Factory invocation - - - - - Uses a factory method to instantiate the component. - - Implementation type - Factory method - When set to true container will not assume ownership of this component, will not track it not apply and lifecycle concerns to it. - - - - - Uses a factory method to instantiate the component. - - Implementation type - Factory method - When set to true container will not assume ownership of this component, will not track it not apply and lifecycle concerns to it. - - - - - Uses a factory method to instantiate the component. - - Implementation type - Factory method - When set to true container will not assume ownership of this component, will not track it not apply and lifecycle concerns to it. - - - - - Uses a factory method to instantiate the component. - - Implementation type - Factory method - - - - - Registers this component with the . - - The kernel. - - - - Overrides default behavior by making the current component the default for every service it exposes. The allows user to narrow down the number of services which - should be make defaults. - - Invoked for each service exposed by given component if returns true this component will be the default for that service. - - - When specified for multiple components for any given service the one registered after will override the one selected before. - - - - - Overrides default behavior by making the current component the default for every service it exposes. - - - - When specified for multiple components for any given service the one registered after will override the one selected before. - - - - - Overrides default behavior by making the current component the fallback for every service it exposes that returns true for. That is if another, - non-fallback, component will be registered exposing any of these same services as this component, that other component will take precedence over this one, regardless of order in which they are - registered. - - Invoked for each service exposed by given component if returns true this component will be the fallback for that service. - - - - Overrides default behavior by making the current component the fallback for every service it exposes. That is if another, non-fallback, component will be registered exposing any of the same services - as this component, that other component will take precedence over this one, regardless of order in which they are registered - - - - - - Filters (settable) properties of the component's implementation type to expose in the container. - - Predicate deciding whether a property is settable or not. If it returns false the property will not be added to collection - and Windsor will never try to set it. - - - Matched properties will be considered optional. Windsor will resolve the component even if it cannot provide value for those properties. If you want to make them mandatory use a different overload. - - - - - Filters (settable) properties of the component's implementation type to expose in the container and specifies if matched properties are considered mandatory. - - Predicate deciding whether a property is settable or not. If it returns false the property will not be added to collection - and Windsor will never try to set it. - if true the properties matched by will be considered mandatory dependencies. Windsor will only successfully resole the component if it - can provide value for all of these properties. If false Windsor will still try to provide values for these properties, but if it can't it will not stop the component from being successfully - resolved. - - - - - Filters (settable) properties of the component's implementation type to expose in the container and specifies if matched properties are considered mandatory. - - Predicate deciding whether a property is settable or not. If it returns false the property will not be added to collection - and Windsor will never try to set it. - if true the properties matched by will be considered mandatory dependencies. Windsor will only successfully resole the component if it - can provide value for all of these properties. If false Windsor will still try to provide values for these properties, but if it can't it will not stop the component from being successfully - resolved. - - - - - Filters (settable) properties of the component's implementation type to ignore. - - Predicate finding properties to ignore. If it returns true the property will not be added to collection and Windsor - will never try to set it. - - - - Filters (settable) properties of the component's implementation type to expose in the container as mandatory dependencies - - Predicate finding properties. If it returns true the property will be added to collection and Windsor will make it - a mandatory dependency. - - - - Filters (settable) properties of the component's implementation type to ignore. - - Predicate finding properties to ignore. If it returns true the property will not be added to collection and Windsor - will never try to set it. - - - - Filters (settable) properties of the component's implementation type to expose in the container as mandatory dependencies - - Predicate finding properties. If it returns true the property will be added to collection and Windsor will make it - a mandatory dependency. - - - - Filters (settable) properties of the component's implementation type to expose in the container and specifies if matched properties are considered mandatory. - - Rules for deciding whether given properties are exposed in the container or ignored and if they are mandatory, that is Windsor will only successfully resole the component if - it can provide value for all of these properties. - - - - - The concrete type that implements the service. - - To set the implementation, use . - - The implementation of the service. - - - - Set the lifestyle of this component. For example singleton and transient (also known as 'factory'). - - The with lifestyle. - - - - The name of the component. Will become the key for the component in the kernel. - - To set the name, use . - - If not set, the of the will be used as the key to register the component. - - The name. - - - - Set proxy for this component. - - The proxy. - - - - A non-generic . - - You can create a new registration with the factory. - - - - - Represents a configuration child. - - - - - Applies the configuration node. - - The configuration. - - - - Represents a configuration attribute. - - - - - Applies the configuration node. - - The configuration. - - - - Create a with name. - - The attribute name. - The new - - - - Represents a named attribute. - - - - - Builds the with name/value. - - The attribute value. - The new - - - - Builds the with name/value. - - The attribute value. - The new - - - - Represents a configuration child. - - - - - Create a with name. - - The child name. - The new - - - - Represents a named child. - - - - - Applies the configuration node. - - The configuration. - - - - Builds the with name/value. - - The child value. - The new - - - - Builds the with name/value. - - The child value. - The new - - - - Builds the with name/config. - - The child configuration. - The new - - - - Builds the with name/config. - - The child nodes. - The new - - - - Represents a simple child node. - - - - - Applies the configuration node. - - The configuration. - - - - Represents a complex child node. - - - - - Applies the configuration node. - - The configuration. - - - - Represents a compound child node. - - - - - Applies the configuration node. - - The configuration. - - - - Specifies that value should be used to satisfy dependencies matched by . The value is provided as a string and will be - converted to appropriate type when resolving. - - - - - - - - Specifies that value should be used to satisfy dependencies matched by . The value is provided as a string and will be converted to - appropriate type when resolving. - - - - - - - - Specifies that value from application configuration file's appSettings section named should be used to satisfy dependencies matched by - . The value is provided as a string and will be converted to appropriate type when resolving. - - - - - - - - Specifies that value from application configuration file's appSettings section named should be used to satisfy dependencies matched by . The value - is provided as a string and will be converted to appropriate type when resolving. - - - - - - - Specifies that component registered with should be used to satisfy dependencies matched by - - - - - Specifies that component registered with should be used to satisfy dependencies matched by - - - - - Specifies that component registered with should be used to satisfy dependencies matched by - - - - - Specifies that component registered with should be used to satisfy dependencies matched by - - - - - Specifies that component registered with should be used to satisfy dependencies matched by - - - - - Specifies that components registered with should be used to satisfy collection dependencies matched by - - - - - Specifies that components registered with should be used to satisfy collection dependencies matched by - - - - - Specifies that components registered with should be used to satisfy collection dependencies matched by - - - - - Specifies that components registered with should be used to satisfy collection dependencies matched by - - - - - Specifies that components registered with should be used to satisfy collection dependencies matched by - - - - - Specifies that components registered with should be used to satisfy collection dependencies matched by - - - - - Specifies that value should be used to satisfy dependencies matched by - - - - - Specifies that value should be used to satisfy dependencies matched by - - - - - Specifies that value should be used to satisfy dependencies matched by - - - - - The contract to install components in the container. - - - - - Performs the installation in the . - - The container. - The configuration store. - - - - Adds the actions to ExtendedProperties. - - - - - - Sets the lifestyle to the specified - - . - - The type. - - - - - Assigns scoped lifestyle with scope accessed via - - instances. - - - - - - - Assigns scoped lifestyle with scope accessed via - - instances if provided, or default accessor otherwise. - - - - - - Assigns scoped lifestyle with scope accessed via default accessor. - - - - - - Assign a custom lifestyle type, that implements - - . - - Type of the custom lifestyle. - - - - - Assign a custom lifestyle type, that implements - - . - - The type of the custom lifestyle - - - - - Represents a configuration parameter. - - - - - Create a with key. - - The parameter key. - The new - - - - Gets the parameter configuration. - - - - - Gets the parameter key. - - - - - Gets the parameter value. - - - - - Represents a parameter key. - - - - - Builds the with key/value. - - The parameter value. - The new - - - - Builds the with key/config. - - The parameter configuration. - The new - - - - The parameter key name. - - - - - Represents a key/value pair. - - - - - Create a with key. - - The property key. - The new - - - - Create a with key. - - The property key. - The new - - - - Create a with key. - - The property key. - The new - - - - Gets the property key. - - - - - Gets the property value. - - - - - Represents a property key. - - - - - Builds the with key/value. - - The property value. - The new - - - - Builds a service override using other component registered with given as value for dependency with given . - - - - - - - Builds a service override using other component registered with given and no explicit name, as value for dependency with given . - - - - - - Builds a service override using other component registered with given and no explicit name, as value for dependency with given . - - - - - - The property key key. - - - - - Represents a service override. - - - - - Creates a with key. - - The service override key. - The new - - - - Creates a with key. - - The service override key. - The new - - - - Creates a with key. - - The service override key. - The new - - - - Implicitly converts service override to dependency. This is a API trick to keep the API clean and focused. - - - - - - - Gets the optional value type specifier. - - - - - Represents a service override key. - - - - - Builds the with key/value. - - The service override value. - The new - - - - Builds the with key/values. - - The service override values. - The new - - - - Builds the with key/values. - - The service override values. - The new - The value type. - - - - Builds the with key/values. - - The service override values. - The new - - - - Builds the with key/values. - - The service override values. - The new - The value type. - - - - Describes a set of components to register in the kernel. Use static methods on the class to fluently build registration. - - - - - Prepares to register types from a list of types. - - The list of types. - The corresponding - - - - Prepares to register types from a list of types. - - The list of types. - The corresponding - - - - Prepares to register types from an assembly. - - The assembly. - The corresponding - - - - Prepares to register types from an assembly containing the type. - - The type belonging to the assembly. - The corresponding - - - - Prepares to register types from an assembly containing the type. - - The type belonging to the assembly. - The corresponding - - - - Prepares to register types from assemblies found in a given directory that meet additional optional restrictions. - - - - - - - Prepares to register types from an assembly. - - The assembly name. - The corresponding - - - - Prepares to register types from the assembly containing the code invoking this method. - - The corresponding - - - - Describes all the types based on basedOn. - - The base type. - - - - - Describes all the types based on type T. - - The base type. - - - - - Describes any types that are supplied. - - - - - - Prepares to register types from a list of types. - - The list of types. - The corresponding - - - - Describes a related group of components to register in the kernel. - - - - - Prepares to register types from a list of types. - - The list of types. - The corresponding - - - - Prepares to register types from a list of types. - - The list of types. - The corresponding - - - - Prepares to register types from an assembly. - - The assembly. - The corresponding - - - - Prepares to register types from an assembly. - - The assembly name. - The corresponding - - - - Prepares to register types from a list of types. - - The list of types. - The corresponding - - - - Selects a set of types from an assembly. - - - - - Describes the source of types to register. - - - - - Allows a type to be registered multiple times. - - - - - Returns the descriptor for accepting a type. - - The base type. - The descriptor for the type. - - - - Returns the descriptor for accepting a type. - - The base type. - The descriptor for the type. - - - - Returns the descriptor for accepting a type. - - One or more base types. To be accepted a type must implement at least one of the given base types. - The descriptor for the type. - - - - Returns the descriptor for accepting a type. - - One or more base types. To be accepted a type must implement at least one of the given base types. - The descriptor for the type. - - - - Creates a predicate to check if a component is in a namespace. - - The namespace. - true if the component type is in the namespace. - - - - Creates a predicate to check if a component is in a namespace. - - The namespace. - If set to true, will also include types from subnamespaces. - true if the component type is in the namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - true if the component is in the same namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - If set to true, will also include types from subnamespaces. - true if the component is in the same namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - true if the component is in the same namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - If set to true, will also include types from subnamespaces. - true if the component is in the same namespace. - - - - Returns the descriptor for accepting any type from given solutions. - - - - - - Returns the descriptor for accepting a type based on a condition. - - The accepting condition. - The descriptor for the type. - - - - When called also non-public types will be scanned. - - - Usually it is not recommended to register non-public types in the container so think twice before using this option. - - - - - Selects an existing set of types to register. - - - - - Describes how to select a types service. - - - - - Uses all interfaces implemented by the type (or its base types) as well as their base interfaces. - - - - - - Uses the base type matched on. - - - - - - Uses all interfaces that have names matched by implementation type name. - Matches Foo to IFoo, SuperFooExtended to IFoo and IFooExtended etc - - - - - - Uses the first interface of a type. This method has non-deterministic behavior when type implements more than one interface! - - - - - - Uses to lookup the sub interface. - For example: if you have IService and - IProductService : ISomeInterface, IService, ISomeOtherInterface. - When you call FromInterface(typeof(IService)) then IProductService - will be used. Useful when you want to register _all_ your services - and but not want to specify all of them. - - - - - - - Uses base type to lookup the sub interface. - - - - - - Assigns a custom service selection strategy. - - - - - - - Assigns the supplied service types. - - - - - - - Uses the type itself. - - - - - - This is a workaround for a CLR bug in - which GetInterfaces() returns interfaces - with no implementations. - - Type of the service. - - - - - Describes how to register a group of related types. - - - - - Initializes a new instance of the BasedOnDescriptor. - - - - - Allows a type to be registered multiple times. - - - - - Returns the descriptor for accepting a new type. - - The base type. - The descriptor for the type. - - - - Returns the descriptor for accepting a new type. - - The base type. - The descriptor for the type. - - - - Adds another type to be accepted as base. - - The base type. - The descriptor for the type. - - - - Allows customized configurations of each matching type. - - The configuration action. - - - - - Allows customized configurations of each matching component with implementation type that is - assignable to - - . - - The type assignable from. - The configuration action. - - - - - Allows customized configurations of each matching component that satisfies supplied . - - Condition to satisfy - The configuration action, executed only for components for which evaluates to true . - - - - - Allows customized configurations of each matching component that satisfies supplied and alternative configuration for the rest of components. - - Condition to satisfy - The configuration action, executed only for components for which evaluates to true . - The configuration action, executed only for components for which evaluates to false . - - - - - Assigns a conditional predication which must be satisfied. - - The predicate to satisfy. - - - - - Assigns a conditional predication which must not be satisfied. - - The predicate not to satisify. - - - - - Returns the descriptor for accepting a type based on a condition. - - The accepting condition. - The descriptor for the type. - - - - Uses all interfaces implemented by the type (or its base types) as well as their base interfaces. - - - - - - Uses the base type matched on. - - - - - - Uses all interfaces that have names matched by implementation type name. - Matches Foo to IFoo, SuperFooExtended to IFoo and IFooExtended etc - - - - - - Uses the first interface of a type. This method has non-deterministic behavior when type implements more than one interface! - - - - - - Uses to lookup the sub interface. - For example: if you have IService and - IProductService : ISomeInterface, IService, ISomeOtherInterface. - When you call FromInterface(typeof(IService)) then IProductService - will be used. Useful when you want to register _all_ your services - and but not want to specify all of them. - - - - - - - Uses base type to lookup the sub interface. - - - - - - Assigns a custom service selection strategy. - - - - - - - Uses the type itself. - - - - - - Sets component lifestyle to specified one. - - - - - - Sets component lifestyle to specified one. - - - - - - Sets component lifestyle to per thread. - - - - - - Sets component lifestyle to scoped per explicit scope. - - - - - - Sets component lifestyle to scoped per explicit scope. - - - - - - Sets component lifestyle to scoped per explicit scope. - - - - - - Sets component lifestyle to scoped per component . - - - - - - Sets component lifestyle to scoped per nearest component on the resolution stack where implementation type is assignable to . - - - - - - Sets component lifestyle to pooled. If or are not set default values will be used. - - - - - - Sets component lifestyle to singleton. - - - - - - Sets component lifestyle to transient. - - - - - - Assigns the supplied service types. - - - - - - - Assigns the supplied service types. - - - - - - - Gets the service descriptor. - - - - - Tracks all components requiring decomission () - - - - - Policy managing lifetime of components, and in particular their release process. - - - - - Creates nested policy for scoped object tracking. - - - - - - Returns true if is being tracked by this release policy, false otherwise. - - - - - - - Releases if it's being tracked by this release policy, invoking its s and stops tracking it so that it can be claimed by the Garbage Collector. - - - - - - Asks the policy to track given object. The object will be released when a call to is made. - - - - Thrown when does NOT have its flag set. - - - - Used to obtain if present. - - - - - Creates new policy which publishes its tracking components count to - - and exposes diagnostics into - - . - - - - - - - Obtains from given if present. - - - - - - - Creates new from given . - - - - - - - No tracking of component instances are made. - - - - - Default implementation for . - This implementation is quite simple, but still should be useful - for 99% of situations. - - - - - Implementors should use a strategy to obtain - valid references to properties and/or services - requested in the dependency model. - - - - - Registers a sub resolver instance - - The subresolver instance - - - - This method is called with a delegate for firing the - IKernelEvents.DependencyResolving event. - - kernel - The delegate used to fire the event - - - - Unregisters a sub resolver instance previously registered - - The subresolver instance - - - - Registers a sub resolver instance - - The subresolver instance - - - - Initializes this instance with the specified dependency delegate. - - kernel - The dependency delegate. - - - - Unregisters a sub resolver instance previously registered - - The subresolver instance - - - - Returns true if the resolver is able to satisfy the specified dependency. - - Creation context, which is a resolver itself - Parent resolver - Model of the component that is requesting the dependency - The dependency model - - true - if the dependency can be satisfied - - - - Try to resolve the dependency by checking the parameters in - the model or checking the Kernel for the requested service. - - - The dependency resolver has the following precedence order: - - - The dependency is checked within the - - - - - The dependency is checked within the - - instance for the component - - - The dependency is checked within the registered - - s - - - Finally the resolver tries the normal flow - which is using the configuration - or other component to satisfy the dependency - - - - Creation context, which is a resolver itself - Parent resolver - Model of the component that is requesting the dependency - The dependency model - The dependency resolved value or null - - - - This method rebuild the context for the parameter type. - Naive implementation. - - - - - Initializes a new instance of the class. - - The message. - The inner exception. - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The object that holds the serialized object data. - The contextual information about the source or destination. - - - - Lazily adds component for . - - - - - Handle dependencies of services in the format of typed arrays. - - - This is a complimentary implementation - that is capable of satisfying dependencies of services as typed arrays. - - Note that it will take precedence over service override for arrays defined - on the configuration. - - - - In order to install the resolver: - - var kernel = new DefaultKernel(); - kernel.Resolver.AddSubResolver(new ArrayResolver(kernel)); - - - - To use it, assuming that IService is on the container: - - - - public class Component - { - public Component(IService[] services) - { - } - } - - - - - - More generic alternative to and . - It supports arrays as well as any generic interface type assignable from arrays. - - - The collection instance that is provided is read only, even for interfaces like - - - - - Handle dependencies of services in the format of generic IList. - - - This is a complimentary implementation - that is capable of satisfying dependencies of services generic IList. - - Note that it will take precedence over service override for lists defined - on the configuration. - - - - In order to install the resolver: - - var kernel = new DefaultKernel(); - kernel.Resolver.AddSubResolver(new ListResolver(kernel)); - - - - To use it, assuming that IService is on the container: - - - - public class Component - { - public Component(IList<IService> services) - { - } - } - - - - - - A subsystem is used by the MicroKernel to deal - with a specific concern. - - - - - Initializes the subsystem - - - - - - Should perform the termination - of the subsystem instance. - - - - - This implementation of - does not try to obtain an external configuration by any means. - Its only purpose is to serve as a base class for subclasses - that might obtain the configuration node from anywhere. - - - - - The contract used by the kernel to obtain - external configuration for the components and - facilities. - - - - - Adds the child container configuration. - - The container's name. - The config. - - - - Associates a configuration node with a component key - - item key - Configuration node - - - - Associates a configuration node with a facility key - - item key - Configuration node - - - - Returns the configuration node associated with - the specified child container key. Should return null - if no association exists. - - item key - - - - - Returns the configuration node associated with - the specified component key. Should return null - if no association exists. - - item key - - - - - Returns all configuration nodes for components - - - - - - Gets the child containers configuration nodes. - - - - - - Returns all configuration nodes for facilities - - - - - - Returns the configuration node associated with - the specified facility key. Should return null - if no association exists. - - item key - - - - - Returns all configuration nodes for installers - - - - - - - - - - - - - Adds the child container configuration. - - The key. - The config. - - - - Associates a configuration node with a component key - - item key - Configuration node - - - - Associates a configuration node with a facility key - - item key - Configuration node - - - - Returns the configuration node associated with - the specified child container key. Should return null - if no association exists. - - item key - - - - - Returns the configuration node associated with - the specified component key. Should return null - if no association exists. - - item key - - - - - Returns all configuration nodes for components - - - - - - Returns all configuration nodes for child containers - - - - - - Returns all configuration nodes for facilities - - - - - - Returns the configuration node associated with - the specified facility key. Should return null - if no association exists. - - item key - - - - - Base implementation of - - - - - Implements a conversion logic to a type of a - set of types. - - - - - Returns true if this instance of ITypeConverter - is able to handle the specified type. - - - - - - - Returns true if this instance of ITypeConverter - is able to handle the specified type with the specified - configuration - - - - - - - - Should perform the conversion from the - string representation specified to the type - specified. - - - - - - - - Should perform the conversion from the - configuration node specified to the type - specified. - - - - - - - - Returns true if this instance of ITypeConverter - is able to handle the specified type with the specified - configuration - - - - - - The default behavior is to just pass it to the normal CanHadnleType - peeking into the configuration is used for some advanced functionality - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The message. - The inner exception. - - - - Initializes a new instance of the class. - - The object that holds the serialized object data. - The contextual information about the source or destination. - - - - Looks for a on the type to be converted. - If found, the TypeConverter defined by the attribute is used to perform the conversion. - - - - - Marker interface that signals that a converter - depends on IKernel to be able to perform - the conversion. - - - - - Attempts to utilize an existing for conversion - - - - - Creates the target type instance. - - The type. - The configuration. - - - - - Chooses the first non default constructor. Throws an exception if more than - one non default constructor is found - - - The chosen constructor, or null if none was found - - - - Converts the constructor parameters. - - The constructor. - The configuration. - - - - - Converts the property values. - - The instance. - The type. - The configuration. - - - - Finds the child (case insensitive). - - The config. - The name. - - - - - Gets the conversion manager. - - The conversion manager. - - - - Converts a string representation to an enum value - - - - - This interface is needed because we want to isolate ourself from - the generic parameters, so we can work type safe inside the implementations, - and still call from non generic types outside. - - - - - Implements all standard conversions. - - - - - Convert a type name to a Type instance. - - - - - Declares a type as being convertible by a and optionally defines the converter to be used - - - - - Defines the to be used to convert the type - - - - - Defines the to be used to convert the type - - - - - - Composition of all available conversion managers - - - - - Establish a composition interface and a subsystem. - Implementors should delegate the conversion to - a instance of a type converter. - - - - - Register a type converter instance. - - - - - - Contract for SubSystem that wishes to keep and coordinate - component registration. - - - - - Register a new component resolver that can take part in the decision - making about which handler to resolve - - - - - Register a new component resolver that can take part in the decision - making about which handler(s) to resolve and in which order - - - - - Returns true if there is a component registered - for the specified name - - - - - - - Returns true if there is a component registered - for the specified service - - - - - - - Returns all registered. - - - - - - Return s where components are compatible - with the specified service. - - - - - - - Returns the associated with - the specified name. - - - - - - - Returns the associated with - the specified service. - - - - - Returns an array of associated with - the specified service. - - - - - - - Implementors should register the with all its exposes. - The handler should also be accessible via unique of its . - - - Thrown if the of 's is not unique and a handler with the same name has already been registered. - - - - Returns the number of components registered. - - - - - Map(String, IHandler) to map component names to Items in this dictionary are sorted in insertion order. - - - - - Map(Type, IHandler) to map a service to . If there is more than a single service of the type, only the first registered services is stored in this dictionary. It serve as a fast lookup for the common case of having a single handler for a type. - - - - - Implementors of this interface allow to extend the way the container perform - component resolution based on some application specific business logic. - - - This is the sibling interface to . - This is dealing strictly with root components, while the is dealing with - dependent components. - - - - - Whatever the selector has an opinion about resolving a component with the - specified service and key. - - The service key - can be null - The service interface that we want to resolve - - - - Select the appropriate handler from the list of defined handlers. - The returned handler should be a member from the array. - - The service key - can be null - The service interface that we want to resolve - The defined handlers - The selected handler, or null - - - - Pendent - - - - - An implementation of a should - be able to return instances of - for a given resource identifier. - - - - - Holds the keys used by Kernel to register/request - a subsystem. - - - - - Key used for the configuration store subsystem - - - - - Key used for the conversion manager - - - - - Key used for the diagnostics subsystem - - - - - Key used for the naming subsystem - - - - - Key used for the resource subsystem - - - - - Implementation of . - Do not support configuration inheritance. - - - - - Interpreter of a specific language to describe - configuration nodes in a hierarchical manner. - - - - - Should obtain the contents from the resource, - interpret it and populate the - accordingly. - - - - - - - - Gets or sets the name of the environment. - - The name of the environment. - - - - Exposes the reference to - which the interpreter is likely to hold - - - - - Provides common methods for those who wants - to implement - - - - - Should obtain the contents from the resource, - interpret it and populate the - accordingly. - - - - - - - - Exposes the reference to - which the interpreter is likely to hold - - - - - - Gets or sets the name of the environment. - - The name of the environment. - - - - Reads the configuration from a XmlFile. Sample structure: - - <configuration> - <facilities> - <facility id="myfacility"> - - </facility> - </facilities> - - <components> - <component id="component1"> - - </component> - </components> - </configuration> - - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The filename. - - - - Initializes a new instance of the class. - - The source. - - - - Initializes a new instance of the class. - - Name of the environment. - - - - Initializes a new instance of the class. - - Name of the environment. - The resource sub system. - - - - Processes the element. - - The element. - - - - - Processes the element. - - The element. - - - - - Make a shallow copy of the nodeList. - - The nodeList to be copied. - - - - - Accepts the specified node. - Check if node has the same name as the processor and the node.NodeType - is in the AcceptNodeTypes List - - The node. - - - - - Convert and return child parameter into an XmlElement - An exception will be throw in case the child node cannot be converted - - Parent node - Node to be converted - child node as XmlElement - - - - - - - - - - - attributeValue - - propertyValue - - - - - - - Processes the specified node list. - - The node list. - The engine. - - - - Processes element attributes. - if the attribute is include will append to the element - all contents from the file. - if the attribute has a property reference the reference will be - expanded - - The element. - - - - - Properties names can contain a-zA-Z0-9_. - i.e. #!{ my_node_name } || #{ my.node.name } - spaces are trimmed - - - - - Processes the string. - - The node. - The value. - The context. - - - - Accepts the specified node. - Check if node has the same name as the processor and the node.NodeType - is in the AcceptNodeTypes List - NOTE: since the BatchRegistrationFacility already uses an include - element we will distinguish between both by looking for the presence of an uri attribute - we should revisit this later by using xml-namespaces - - The node. - - - - - - - - - - - - attributeValue - - propertyValue - - - - - - - Pendent - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - Name of the environment. - The resource sub system. - - - - Initializes a new instance of the class. - - - - - Collects all handlers for components in hosting container. - - - - - Base inteface for exposing diagnostic information about container, its components and extensions - - - - - - Collects specified diagnostic information. - - - - - - Collects all handlers for components in hosting container grouped by services they expose. - Within the service group, first one would be the default (the one obtained when callling for the service type) - - - - - Hosts different diagnostics available in the container. - - - - - Adds and makes it available as . - - - Thrown when a diagnostic for - - has already been added. - - - - - Returns diagnostic registered with or null if not present. - - - - - - - Stupid name, but debugger views in Visual Studio display items in alphabetical order so if we want - to have that item on top its name must be alphabetically before - - - - - Collects dependencies that are duplicated between constructors and properties. - - - - - Detects components that are not extending Windsor's infrastructure yet depend on the container which usually means they use the container as service locator - which is a bad practice and should be avoided. Consult the documentation for more details: http://j.mp/WindsorSL - - - - - Exposes diagnostics about itself to the . - - Usually simple type containing information provided to the . - - Can be implemented by any type constituting part of container infrastructure. Should have a matching registred in the container that knows - how to find it and that prepares information from it for consumption. - - - - - Collects for the and calls if any data available. - - - pass-through context. Used by the inspector. - - - - Gets the environment information (name). Implementors should - use to define their environments and how those affect the configuration. - - - - - Gets the name of the environment. - - - - - - Installs all the components from the App.Config file. - - - - - - Installs all the component from the xml configuration. - - The xml configuration resource. - - - - - Installs all the component from the xml configuration file. - - The xml configuration file. - - - - - Delegate to provide environment name. - - The environment name. - - - - Initializes a new instance of the ConfigurationInstaller class. - - - - - Sets the configuration environment name. - - The environment name. - - - - - Set the configuration environment strategy. - - The environment strategy. - - - - - Default implementation. - - - - - Installs the components and facilities based on the - information on the configuration store. - - - - - Perform installation. - - Target container - Configuration store - - - - Perform installation. - - Target container - Configuration store - - - - Scans the assembly containing specified type for types implementing , instantiates them and returns so that can - install them. - - - - - - Scans the assembly containing specified type for types implementing , instantiates using given and returns so that - can install them. - - - - - - Scans the assembly containing specified type for types implementing , instantiates them and returns so that can - install them. - - - - - - Scans the assembly containing specified type for types implementing , instantiates using given and returns so that - can install them. - - - - - - Scans assemblies in directory specified by for types implementing , instantiates and returns so that - can install them. - - - - - - - Scans assemblies in directory specified by for types implementing , instantiates using given and - returns so that can install them. - - - - - - - - Scans current assembly and all refernced assemblies with the same first part of the name for types implementing , instantiates and returns so that - can install them. - - - - Assemblies are considered to belong to the same application based on the first part of the name. For example if the method is called from within MyApp.exe and MyApp.exe references - MyApp.SuperFeatures.dll, mscorlib.dll and ThirdPartyCompany.UberControls.dll the MyApp.exe and MyApp.SuperFeatures.dll will be scanned for installers, and other - assemblies will be ignored. - - - - - Scans current assembly and all refernced assemblies with the same first part of the name for types implementing , instantiates using given - and returns so that can install them. - - - - - Assemblies are considered to belong to the same application based on the first part of the name. For example if the method is called from within MyApp.exe and MyApp.exe references - MyApp.SuperFeatures.dll, mscorlib.dll and ThirdPartyCompany.UberControls.dll the MyApp.exe and MyApp.SuperFeatures.dll will be scanned for installers, and other - assemblies will be ignored. - - - - - Scans the specified assembly with specified name for types implementing , instantiates them and returns so that can - install them. - - - - - - Scans the specified assembly with specified name for types implementing , instantiates using given and returns so that - can install them. - - - - - - Scans the assembly with specified name for types implementing , instantiates them and returns so that can install - them. - - - - - - Scans the assembly with specified name for types implementing , instantiates using given and returns so that - can install them. - - - - - - Scans assembly that contains code calling this method for types implementing , instantiates them and returns so that - can install them. - - - - - - Scans assembly that contains code calling this method for types implementing , instantiates using given and returns so that - can install them. - - - - - - Helper class used by to filter/order and instantiate implementations - - - - - Performs custom instantiation of given - - - Default implementation uses public parameterless constructor to create the instance. - - - - - Performs custom filtering/ordering of given set of types. - - Set of concrete class types implementing interface. - Transformed . - - Default implementation simply returns types passed into it. - - - - - The IWindsorContainer interface exposes all the - functionality the Windsor implements. - - - - - Registers a subcontainer. The components exposed - by this container will be accessible from subcontainers. - - - - - - Registers a facility within the container. - - The to add to the container. - - - - Creates and adds an facility to the container. - - The facility type. - - - - - Creates and adds an facility to the container. - - The facility type. - The callback for creation. - - - - - Gets a child container instance by name. - - The container's name. - The child container instance or null - - - - Runs the so that they can register components in the container. For details see the documentation at http://j.mp/WindsorInstall - - - In addition to instantiating and passing every installer inline you can use helper methods on class to automatically instantiate and run your installers. - You can also use class to install components and/or run aditional installers specofied in a configuration file. - - The container. - - - container.Install(new YourInstaller1(), new YourInstaller2(), new YourInstaller3()); - - - - - container.Install(FromAssembly.This(), Configuration.FromAppConfig(), new SomeOtherInstaller()); - - - - - - Registers the components with the . The instances of are produced by fluent registration API. - Most common entry points are method to register a single type or (recommended in most cases) - . - Let the Intellisense drive you through the fluent API past those entry points. For details see the documentation at http://j.mp/WindsorApi - - - - container.Register(Component.For<IService>().ImplementedBy<DefaultService>().LifestyleTransient()); - - - - - container.Register(Classes.FromThisAssembly().BasedOn<IService>().WithServiceDefaultInterfaces().Configure(c => c.LifestyleTransient())); - - - The component registrations created by , or different entry method to the fluent API. - The container. - - - - Releases a component instance - - - - - - Remove a child container - - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the service - - - - - - - Returns a component instance by the service - - - - - - - - Returns a component instance by the service - - - - - - - - Returns a component instance by the service - - Service type - The component instance - - - - Returns a component instance by the service - - Service type - - The component instance - - - - Returns a component instance by the service - - Service type - - The component instance - - - - Returns a component instance by the key - - Component's key - Service type - The Component instance - - - - Returns a component instance by the key - - Service type - Component's key - - The Component instance - - - - Returns a component instance by the key - - Service type - Component's key - - The Component instance - - - - Returns a component instance by the key - - - - - - - - - Returns a component instance by the key - - - - - - - - - Resolve all valid components that match this type. - - The service type - - - - Resolve all valid components that match this service - the service to match - - - - - Resolve all valid components that match this service - the service to match - Arguments to resolve the service - - - - - Resolve all valid components that match this service - the service to match - Arguments to resolve the service - - - - - Resolve all valid components that match this type. - The service type - Arguments to resolve the service - - - - - Resolve all valid components that match this type. - The service type - Arguments to resolve the service - - - - - Registers a facility within the container. - - The key by which the gets indexed. - The to add to the container. - - - - Creates and adds an facility to the container. - - The facility type. - - - - - - Creates and adds an facility to the container. - - The facility type. - - The callback for creation. - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the key - - - - - - - - Returns the inner instance of the MicroKernel - - - - - Gets the container's name - - - Only useful when child containers are being used - - The container's name. - - - - Gets or sets the parent container if this instance - is a sub container. - - - - - This interface should be implemented by classes - that are available in a bigger context, exposing - the container to different areas in the same application. - - For example, in Web application, the (global) HttpApplication - subclasses should implement this interface to expose - the configured container - - - - - - Obtains the interceptors associated with the component. - - The kernel instance - The component model - The creation context - interceptors array - - - - This implementation of relies - on DynamicProxy to expose proxy capabilities. - - - Note that only virtual methods can be intercepted in a - concrete class. However, if the component - was registered with a service interface, we proxy - the interface and the methods don't need to be virtual, - - - - - Constructs a DefaultProxyFactory - - - - - Creates the proxy for the supplied component. - - The kernel. - The target. - The model. - The constructor arguments. - The creation context - The component proxy. - - - - Determines if the component requires a target instance for proxying. - - The kernel. - The model. - true if an instance is required. - - - - Implementation of - which delegates to implementation. - - - - - Constructs a container without any external - configuration reference - - - - - Constructs a container using the specified - implementation. - - The instance of an implementation. - - - - Constructs a container using the specified - implementation. - - The instance of an implementation. - - - - Initializes a new instance of the class. - - The interpreter. - The environment info. - - - - Initializes a new instance of the class using a - resource pointed to by the parameter. That may be a file, an assembly embedded resource, a UNC path or a config file section. - - Equivalent to the use of new WindsorContainer(new XmlInterpreter(configurationUri)) - - - The XML file. - - - - Constructs a container using the specified - implementation. Rarely used. - - - This constructs sets the Kernel.ProxyFactory property to - Proxy.DefaultProxyFactory - - Kernel instance - Installer instance - - - - Constructs a container using the specified - implementation. Rarely used. - - - This constructs sets the Kernel.ProxyFactory property to - Proxy.DefaultProxyFactory - - Container's name - Kernel instance - Installer instance - - - - Constructs with a given . - - A instance of an . - - - - Constructs a container assigning a parent container - before starting the dependency resolution. - - The instance of an - The instance of an implementation - - - - Initializes a new instance of the class. - - The container's name. - The parent. - The interpreter. - - - - Executes Dispose on underlying - - - - - Registers a subcontainer. The components exposed - by this container will be accessible from subcontainers. - - - - - - Registers a facility within the container. - - - - - - Creates and adds an facility to the container. - - The facility type. - - - - - Creates and adds an facility to the container. - - The facility type. - The callback for creation. - - - - - Gets a child container instance by name. - - The container's name. - The child container instance or null - - - - Runs the so that they can register components in the container. For details see the documentation at http://j.mp/WindsorInstall - - - In addition to instantiating and passing every installer inline you can use helper methods on class to automatically instantiate and run your installers. - You can also use class to install components and/or run aditional installers specofied in a configuration file. - - The container. - - - container.Install(new YourInstaller1(), new YourInstaller2(), new YourInstaller3()); - - - - - container.Install(FromAssembly.This(), Configuration.FromAppConfig(), new SomeOtherInstaller()); - - - - - - Registers the components with the . The instances of are produced by fluent registration API. - Most common entry points are method to register a single type or (recommended in most cases) - . - Let the Intellisense drive you through the fluent API past those entry points. For details see the documentation at http://j.mp/WindsorApi - - - - container.Register(Component.For<IService>().ImplementedBy<DefaultService>().LifestyleTransient()); - - - - - container.Register(Classes.FromThisAssembly().BasedOn<IService>().WithServiceDefaultInterfaces().Configure(c => c.LifestyleTransient())); - - - The component registrations created by , or different entry method to the fluent API. - The container. - - - - Releases a component instance - - - - - - Removes (unregisters) a subcontainer. The components exposed by this container - will no longer be accessible to the child container. - - - - - - Returns a component instance by the service - - - - - - - - Returns a component instance by the service - - - - - - - - Returns a component instance by the service - - - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the key - - - - - - - - - Returns a component instance by the key - - - - - - - - - Returns a component instance by the service - - - - - - - - Returns a component instance by the service - - - - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the service - - - - - - - Returns a component instance by the key - - - - - - - Resolve all valid components that match this type. - - The service type - - - - Resolve all valid components that match this type. - The service type - Arguments to resolve the service - - - - - Resolve all valid components that match this type. - The service type - Arguments to resolve the service - - - - - Registers a facility within the container. - - - - - - - Creates and adds an facility to the container. - - The facility type. - - - - - - Creates and adds an facility to the container. - - The facility type. - - The callback for creation. - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the key - - - - - - - - Returns the inner instance of the MicroKernel - - - - - Gets the container's name - - - Only useful when child containers are being used - - The container's name. - - - - Gets or sets the parent container if this instance - is a sub container. - - - - - Implementation of and that uses a or as its component's source. - - - - diff --git a/packages/Castle.Windsor.3.2.0/lib/net40/Castle.Windsor.dll b/packages/Castle.Windsor.3.2.0/lib/net40/Castle.Windsor.dll deleted file mode 100644 index 9042faf..0000000 Binary files a/packages/Castle.Windsor.3.2.0/lib/net40/Castle.Windsor.dll and /dev/null differ diff --git a/packages/Castle.Windsor.3.2.0/lib/net40/Castle.Windsor.xml b/packages/Castle.Windsor.3.2.0/lib/net40/Castle.Windsor.xml deleted file mode 100644 index a753c8c..0000000 --- a/packages/Castle.Windsor.3.2.0/lib/net40/Castle.Windsor.xml +++ /dev/null @@ -1,7817 +0,0 @@ - - - - Castle.Windsor - - - - - Attempts to dynamically load a UserControl by invoking Page.LoadControl. There are two uses of this class. - 1) Add a component to the Kernel and add a VirtualPath attribute specifying the relative path of the .ascx file for the associated UserControl. (easy) - - - <component id="BasketView" - service="Castle.ShoppingCart.IBasketView, Castle.ShoppingCart" - type="Castle.ShoppingCart.BasketView, Castle.ShoppingCart" - lifestyle="transient" - virtualPath="~/Views/BasketView.ascx" - /> - - - 2) Precompile a UserControl and add the pre-compiled class to the Kernel. (hard) Has not been tested with proxies. - - - - - Standard implementation of . Handles the selection of the best constructor, fills the writable properties the component exposes, run the commission and - decommission lifecycles, etc. - - - Custom implementors can just override the CreateInstance method. Please note however that the activator is responsible for the proxy creation when needed. - - - - - Abstract implementation of . The implementors must only override the InternalCreate and InternalDestroy methods in order to perform their creation and destruction - logic. - - - - - Implements the instance creation logic. The default - implementation should rely on an ordinary call to - Activator.CreateInstance(). - - - This interface is provided in order to allow custom components - to be created using a different logic, such as using a specific factory - or builder. - - The constructor for implementation has the following signature: - - - ComponentModel model, IKernel kernel, - ComponentInstanceDelegate onCreation, - ComponentInstanceDelegate onDestruction - - - The Activator should raise the events onCreation and onDestruction - in order to correctly implement the contract. Usually the best - way of creating a custom activator is by extending the existing ones. - - - - - - - - Should return a new component instance. - - - - - - Should perform all necessary work to dispose the instance - and/or any resource related to it. - - - - - - Constructs an AbstractComponentActivator - - - - - Initializes a new instance of the class. - - - - - - - - - Initializes a new instance of the class. - - The model. - The kernel. - The on creation. - The on destruction. - - - - Creates the instance. - - The context. - - The arguments. - - - - - Indicates that the target components wants instance lifetime and reuse scope to be bound to another component further up the object graph. - Good scenario for this would be unit of work bound to a presenter in a two tier MVP application. - The attribute must point to a type - having default accessible constructor and public method matching signature of Func<IHandler[], IHandler> delegate. - - - - - Base for Attributes that want to express lifestyle - chosen by the component. - - - - - Initializes a new instance of the class. - - The type. - - - - Gets or sets the lifestyle. - - The lifestyle. - - - - Initializes a new instance of the class. - - type having default accessible constructor and public method matching signature of Func<IHandler[], IHandler> delegate. The method will be used to pick of the component current instance should be bound to. - - - - type having default accessible constructor and public method matching signature of Func<IHandler[], IHandler> delegate. The method will be used to pick of the component current instance should be bound to. - - - - - Represents a dependency (other component or a - fixed value available through external configuration). - - - - - Initializes a new instance of the class. - - The dependency key. - Type of the target. - if set to true [is optional]. - - - - Returns a that represents the current . - - A that represents the current . - - - - The default value of this dependency. Note that null is a valid default value. Use to determine whether default value was provided. - - - - - Gets or sets the dependency key. - - The dependency key. - - - - Specifies whether dependency has a default value (). Note that null is a valid default value. - - - - - Gets or sets whether this dependency is optional. - - true if this dependency is optional; otherwise, false . - - - - Gets the service type of the dependency. - This is the same type as or if is by ref, - then it's the element type of the reference. (in other words if dependency - is out IFoo foo this will be IFoo, while will be &IFoo); - - - - - Gets the type of the target. - - The type of the target. - - - Indicates that the target components wants a custom lifestyle. - - - - Initializes a new instance of the class. - - The custom lifestyle type. - - - - Marks as constructor to be skipped and not be selected - by the IoC container during new component activation - - - - - This attribute is useful only when you want to register all components - on an assembly as a batch process. - By doing so, the batch register will look - for this attribute to distinguish components from other classes. - - - - - Associates a custom activator with a component - - - - - Initializes a new instance of the class. - - Type of the component activator. - - - - Gets the type of the component activator. - - The type of the component activator. - - - - Gets the default name for component implemented by which will be used in case when user does not provide one explicitly. - - - - - - - Gets the default name for component implemented by which will be used in case when user does not provide one explicitly. - - - - - - - Specifies the proxying behavior for a component. - - - - - Gets or sets a value indicating whether the generated - interface proxy should inherit from . - - - - - Gets or sets the additional interfaces used during proxy generation. - - - - - Marks as property to be skipped and not be wired - by the IoC container - - - - - Represents a concern that will be applied to a component instance - during commission phase (right after component instance is activated). - - - - - Implementors should act on the instance in response to - a commission phase. - - The model. - The component. - - - - Represents a concern that will be applied to a component instance - during decommission phase (right before component instance is destroyed). - - - - - Implementors should act on the instance in response to - a decommission phase. - - The model. - The component. - - - - Lifecycle interface. If implemented by a component, - the method Initialized will be invoked by the container - before making the component available to the external world. - - - - - Implementors should perform any initialization logic. - - - - - Used to declare that a component wants interceptors acting on it. - Out of the box recognized only if applied on component's implementation class. - - - - - Constructs the InterceptorAttribute pointing to a key to a interceptor - - - - - - Constructs the InterceptorAttribute pointing to a service - - - - - - Simple type for thread safe adding/reading to/from keyed store. The difference between this and built in concurrent dictionary is that in this case adding is happening under a lock so never more than one thread will be adding at a time. - - - - - - - Returns all values and clears the dictionary - - - - - - Performs string comparison using - - - - - - - - 0 == false, 1 = =true - - - - - Signals (sets) the flag. - - true if the current thread signaled the flag, false if some other thread signaled the flag before. - - - - Marker class used to denote components that have late bound type - That is the actual type is not known exactly at the time when - is created. Those are for example components instantiated via abstract factory. - - - - - If the extended type is a Foo[] or IEnumerable{Foo} which is assignable from Foo[] this method will return typeof(Foo) - otherwise null. - - - - - - - Checkis if given is a primitive type or collection of primitive types. Value types, are considered primitive and can not be registered as components in Windsor - - - - - - - Checkis if given is a primitive type. Value types and are considered primitive and can not be registered as components in Windsor - - - - - - - Calls and if a generic constraint is violated returns null instead of throwing . - - - - - - - - Enumeration used to mark the component's lifestyle. - - - - - No lifestyle specified. - - - - - Singleton components are instantiated once, and shared - between all clients. - - - - - Thread components have a unique instance per thread. - - - - - Transient components are created on demand. - - - - - Optimization of transient components that keeps - instance in a pool instead of always creating them. - - - - - PerWebRequest components are created once per Http Request - - - - - Any other logic to create/release components. - - - - - Instances are reused within the scope provided. - - - - - Instance lifetime and reuse scope is bound to another component further up the object graph. - Good scenario for this would be unit of work bound to a presenter in a two tier MVP application. - When specified in xml a scopeRootBinderType attribute must be specified pointing to a type - having default accessible constructor and public method matching signature of Func<IHandler[], IHandler> delegate. - - - - - Indicates that the target components wants a - per thread lifestyle. - - - - - Initializes a new instance of the class. - - - - - Indicates that the target components wants a - per web request lifestyle. - - - - - Indicates that the target components wants a - pooled lifestyle. - - - - - Initializes a new instance of the class - using the default initial pool size (5) and the max pool size (15). - - - - - Initializes a new instance of the class. - - Initial size of the pool. - Max pool size. - - - - Gets the initial size of the pool. - - The initial size of the pool. - - - - Gets the maximum pool size. - - The size of the max pool. - - - - Specifies rules for designating settable properties on a component as dependencies, and controlling whether they are requred or not. - This is a shortcut for most common scenarios. More advanced/custom scenarios can be defined dynamically in the registration API. - - - - - Takes no action. By default that means all settable properties will be exposed as optional dependencies. - - - - - Makes all property dependencies required. - - - - - Makes all property dependencies defined at a base class/interfaces level required. - - - - - Makes all properties ignored. - - - - - Ignores all properties defined at a base class/interface level. - - - This option is particularily useful in scenarios like UI controls which in .NET UI frameworks tend to have byzantine inheritance hierarchies. - - - - - Indicates that the target components wants a - per thread lifestyle. - - - - - Initializes a new instance of the class. - - - - - Indicates that the target components wants a - singleton lifestyle. - - - - - Initializes a new instance of the class. - - - - - Indicates that the target components wants a - transient lifestyle. - - - - - Initializes a new instance of the class. - - - - - Implementors must inspect the component for - a given information or parameter. - - - - - Usually the implementation will look in the configuration property - of the model or the service interface, or the implementation looking for - something. - - The kernel instance - The component model - - - - Selects one or both of component name and type, for given method - called on given typed factory type. - When component should be requested by type only, - componentName should be null. - When component should be requested by name only, - componentType should be null. - - - - - - - - If set to true, all methods with names like 'GetSomething' will try to resolve by name component 'something'. Defaults to true. - If set to true, will fallback to resolving by type, if can not find component with specified name. This property is here for backward compatibility. It is recommended not to use it. Defaults to false. - - - - Builds for given call. - By default if is a collection - returns factory calling on collection's item type, - otherwise standard . - - - - - - - - - - Selects arguments to be passed to resolution pipeline. - By default passes all given - keyed by names of their corresponding parameters. - - - - - - - - Selects name of the component to resolve. - If Name is GetFoo returns "Foo", otherwise null. - - - - - - - - Selects type of the component to resolve. Uses return type. - - - - - - - - If set to true, will fallback to resolving by type, if can not find component with specified name. This property is here for backward compatibility. It is recommended not to use it. - - - - - If set to true, all methods with names like 'GetSomething' will try to resolve by name component 'something'. - - - - - Implemented by which don't necessarily need dependencies from the container to activate new instances of the component. - - - - - Should return true if the activator can provide dependencies for the . - - - - - - - Should return true if the activated instances of the are managed externally to the container. That means container will not try to track the objects in . - - - - - - - Provides lazy registration capabilities to the container. - - - When a component is requested from a container and it was not registered, - container loads up all registered implementers of this interface and asks - them in turn whether they can provide that component, until it finds one that will. - - - - - Used by container to allow the loader to register component for given and to the container at the time when it is requested - - Name of the requested component or null - Type of requested service or null - User supplied arguments or null - Registration that registers component for given key and/or service or null. - - While either key or service can be null reference it is guaranteed that at least one of them will not be null. - When implementer opts in to provide the requested component (by returning not-null registration) it is required - to register component for requested key/service combination (when one of the elements is null, it should be ignored as well). - When implementer does not want to register the requested component it must return null. - - - - - Specifies default configuration for a typed factory. All Selector* properties are mutually exclusive, that is you're only meant to set one. - - - - - Specifies component to use as selector for given factory. This works like any named service override. - - - - - Specifies component to use as selector for given factory. This works like any typed service override. - - - - - Specifies type of the selector to use for given factory. The type will be instantiated using default constructor. It must implement - - - - - Exception thrown whe a component could not be activated. THis should come from the component activator. - - - - - Exception thrown when resolution process for a component was unsuccessful at some point for whatever reason. - - - - - If - true - requires release by - - . If - false - , the object has a well defined, detectable end of life (web-request end, disposal of the container etc), and will be released externally. - - - - - Represents collection of arguments used when resolving a component. - - - - - Exception thrown when component has no resolvable constructor that can be used to create an instance. - - - - - Possible states for a IHandler instance - - - - - The component can be requested - - - - - The component can not be requested - as it still depending on a external - dependency not yet available - - - - - Inspects missings dependencies in the container. Default implementation is used to - construct helpful message for exceptions and debugger views, but other implementations - are also possible if needed. - - - - - Summary description for DefaultHandler. - - - - - Implements the basis of - - - - - Contract for the IHandler, which manages an - component state and coordinates its creation - and destruction (dispatching to activators, lifestyle managers) - - - - - Implementors should use a strategy to obtain - valid references to properties and/or services - requested in the dependency model. - - - - - Returns true if the resolver is able to satisfy this dependency. - - Creation context, which is a resolver itself - Parent resolver - normally the IHandler implementation - Model of the component that is requesting the dependency - The dependency model - true if the dependency can be satisfied - - - - Should return an instance of a service or property values as - specified by the dependency model instance. - It is also the responsibility of - to throw an exception in the case a non-optional dependency - could not be resolved. - - Creation context, which is a resolver itself - Parent resolver - normally the IHandler implementation - Model of the component that is requesting the dependency - The dependency model - The dependency resolved value or null - - - - Initializes the handler with a reference to the - kernel. - - - - - - Tests whether the handler is already being resolved in given context. - - - - - Implementors should dispose the component instance - - - true if destroyed. - - - - Implementors should return a valid instance - for the component the handler is responsible. - It should throw an exception in the case the component - can't be created for some reason - - - - - - Returns true if this handler supports - - - - - - - Implementors should return a valid instance - for the component the handler is responsible. - It should return null in the case the component - can't be created for some reason. No exception should be thrown. - - - - - - Gets the model of the component being - managed by this handler. - - - - - Gets the state of the handler - - - - - Might be implemented by a handler - so it can expose access to dependency information - which is used to construct meaningful error messages - - - - - Informs the about missing dependencies. - Implementers should ignore the call if no dependencies are missing and - call back the inspector with the information required otherwise - - - - - - Dictionary of key (string) to - - - - - Constructs and initializes the handler - - - - - - Should be implemented by derived classes: disposes the component instance (or recycle it) - - - true if destroyed. - - - - Returns an instance of the component this handler is responsible for - - - when false , handler can not create valid instance and return null instead - - - - - Saves the kernel instance, subscribes to event, creates the lifestyle manager instance and computes the handler state. - - - - - - disposes the component instance (or recycle it). - - - - - - - Returns an instance of the component this handler is responsible for - - - - - - - Invoked by in order to check if a dependency can be satisfied. If not, the handler is set to a 'waiting dependency' state. - - - This method registers the dependencies within the correct collection or dictionary and changes the handler state to - - - - - - Invoked by the kernel when one of registered dependencies were satisfied by new components registered. - - - Handler for the event - - - - - - Invoked when the container receives a parent container reference. - - - This method implementation checks whether the parent container is able to supply the dependencies for this handler. - - - - - - - Gets the component model. - - - - - Gets the handler state. - - - - - Lifestyle manager instance - - - - - Initializes a new instance of the - - class. - - - - - - disposes the component instance (or recycle it) - - - true if destroyed - - - - Returns an instance of the component this handler - is responsible for - - - - - - - - - - Lifestyle manager instance - - - - - Thrown when can't create proper closed version of itself due to violation of generic constraints. - - - - - Summary description for HandlerException. - - - - - Initializes a new instance of the class. - - The message. - - - - - Initializes a new instance of the class. - - The message. - - - - - - Initializes a new instance of the class. - - The object that holds the serialized object data. - The contextual information about the source or destination. - - - - Initializes a new instance of the class. - - The message. - - - - - Initializes a new instance of the class. - - The message. - - - - - - Initializes a new instance of the class. - - The object that holds the serialized object data. - The contextual information about the source or destination. - - - - Used during a component request, passed along to the whole process. - This allow some data to be passed along the process, which is used - to detected cycled dependency graphs and now it's also being used - to provide arguments to components. - - - - - The list of handlers that are used to resolve - the component. - We track that in order to try to avoid attempts to resolve a service - with itself. - - - - - Initializes a new instance of the class. - - The type to extract generic arguments. - The parent context. - When set to true will clone . - - - - Initializes a new instance of the class. - - The handler. - The release policy. - The type to extract generic arguments. - The additional arguments. - The conversion manager. - Parent context - - - - Initializes a new instance of the class. - - - - - Method used by handlers to test whether they are being resolved in the context. - - - - - This method is provided as part of double dispatch mechanism for use by handlers. - Outside of handlers, call instead. - - - - - Creates a new, empty instance. - - - A new CreationContext should be created every time, as the contexts keeps some state related to dependency resolution. - - - - - Default implementation of . This implementation is complete and also support a kernel hierarchy (sub containers). - - - Default implementation of . - This implementation is complete and also support a kernel - hierarchy (sub containers). - - - - - The IKernel interface exposes all the functionality - the MicroKernel implements. - - - It allows you to register components and - request them by their name or the services they expose. - It also allow you to register facilities and subsystem, thus - augmenting the functionality exposed by the kernel alone to fit - your needs. - - - - - - - Summary description for IKernelEvents. - - - - - Event fired when a new component is registered - on the kernel. - - - - - Event fired after the ComponentModel is created. - Allows customizations that may affect the handler. - - - - - Event fired when the kernel was added as child of - another kernel. - - - - - Event fired when the kernel was removed from being a child - of another kernel. - - - - - Event fired before the component is created. - - - - - Event fired when a component instance destroyed. - - - - - Event fired when a new handler is registered - (it might be in a valid or waiting dependency state) - - - - - Event fired when a new handler is registered - (it might be in a valid or waiting dependency state) - - - - - Event fired when a dependency is being resolved, - it allows the dependency to be changed, - but the client ComponentModel must not be changed. - - - - - Event fired when registration / installation process is completed. - That is when container is about to exit method. This event is raised once regardless of how many components were registered. - If the is called by the event is raised when that method exits. - - - - - Event fired when a collection is being resolved (via or another overload) and the collection is empty. - Implementors would usually log that fact or potentially throw an exception (especially in development). - - - - - Support for kernel hierarchy - - - - - - Adds a to the kernel. - - - - - - - Creates and adds an facility to the kernel. - - The facility type. - - - - - Creates and adds an facility to the kernel. - - The facility type. - The callback for creation. - - - - - Register a new component resolver that can take part in the decision - making about which handler to resolve - - - - - Register a new component resolver that can take part in the decision - making about which handler(s) to resolve and in which order - - - - - Adds (or replaces) an - - - - - - - Return handlers for components that - implements the specified service. - The check is made using IsAssignableFrom - - - - - - - Returns the facilities registered on the kernel. - - - - - - Returns the - for the specified component name. - - - - - - - Returns the - for the specified service. - - - - - - - Return handlers for components that - implements the specified service. - - - - - - - Returns an implementation of - for the specified name. - - - - - - - - Returns true if a component with given was registered, otherwise false. - - - - - - - Returns true if the specified service was registered - - - - - - - Registers the components with the . The instances of are produced by fluent registration API. - Most common entry points are method to register a single type or (recommended in most cases) - . - Let the Intellisense drive you through the fluent API past those entry points. For details see the documentation at http://j.mp/WindsorApi - - - - kernel.Register(Component.For<IService>().ImplementedBy<DefaultService>().LifestyleTransient()); - - - - - kernel.Register(Classes.FromThisAssembly().BasedOn<IService>().WithServiceDefaultInterfaces().Configure(c => c.LifestyleTransient())); - - - The component registrations created by , or different entry method to the fluent API. - The kernel. - - - - Releases a component instance. This allows - the kernel to execute the proper decommission - lifecycles on the component instance. - - - - - - Remove child kernel - - - - - - Adds a to the kernel. - - - - - - - - Creates and adds an facility to the kernel. - - The facility type. - - - - - Creates and adds an facility to the kernel. - - The facility type. - - The callback for creation. - - - - Returns the component instance by the component key - using dynamic arguments - - Key to resolve - Arguments to resolve the services - - - - - Returns the component instance by the component key - using dynamic arguments - - - - - - - - Returns the component instance by the service type - - - - - Returns the component instance by the service type - using dynamic arguments - - - - - - - - Returns the component instance by the service type - using dynamic arguments - - Service to resolve - Arguments to resolve the services - - - - - Returns a component instance by the key - - - - - - - - Returns the component instance by the service type - using dynamic arguments - - - - - - - Returns the component instance by the service type - using dynamic arguments - - Arguments to resolve the services - - - - - Returns the component instance by the component key - - - - - - Returns a component instance by the key - - Component's key - Service type - The Component instance - - - - Returns a component instance by the key - - Service type - Component's key - - The Component instance - - - - Returns a component instance by the key - - - - - - - - - Returns all the valid component instances by - the service type - - The service type - - - - Returns all the valid component instances by - the service type - - The service type - Arguments to resolve the services - - - - Returns all the valid component instances by - the service type - - The service type - Arguments to resolve the services - - - - Returns component instances that implement TService - - - - - - - Returns component instances that implement TService - - - - - - - Returns component instances that implement TService - - - - - - - Returns the implementation of - - - - - Gets or sets the implementation of - - - - - Graph of components and interactions. - - - - - Returns the implementation of - - - - - Returns the parent kernel - - - - - Gets or sets the implementation of - allowing different strategies for proxy creation. - - - - - Gets or sets the implementation for - - - - - Returns the implementation for - - - - - Returns the component instance by the key - - - - - Returns the component instance by the service type - - - - - Extended contract of kernel, used internally. - - - - - Adds a custom made . Used by facilities. - - - - - - Constructs an implementation of for the given - - - - - - - Returns a component instance by the key - - - - - - - - - - Internal logger used by the container (not just implementation itself but also other classes too) to log information about what's happening in the container. - - - - - List of sub containers. - - - - - List of registered. - - - - - Map of subsystems registered. - - - - - The parent kernel, if exists. - - - - - Constructs a DefaultKernel with no component proxy support. - - - - - Constructs a DefaultKernel with the specified implementation of and - - - - - - - Constructs a DefaultKernel with the specified implementation of - - - - - Starts the process of component disposal. - - - - - Return handlers for components that implements the specified service. The check is made using IsAssignableFrom - - - - - - - Returns the facilities registered on the kernel. - - - - - - Return handlers for components that implements the specified service. - - - - - - - Registers the components with the . The instances of are produced by fluent registration API. Most common entry points are - method to register a single type or (recommended in most cases) . Let the Intellisense drive you through the - fluent - API past those entry points. For details see the documentation at http://j.mp/WindsorApi - - - kernel.Register(Component.For<IService>().ImplementedBy<DefaultService>().LifestyleTransient()); - - - kernel.Register(Classes.FromThisAssembly().BasedOn<IService>().WithServiceDefaultInterfaces().Configure(c => c.LifestyleTransient())); - - The component registrations created by , or different entry method to the fluent - API. - The kernel. - - - - Releases a component instance. This allows the kernel to execute the proper decommission lifecycles on the component instance. - - - - - - Creates an implementation of based on and invokes to initialize the newly created manager. - - - - - - - - It is the responsibility of the kernel to ensure that handler is only ever disposed once. - - - - - Returns the component instance by the component key - using dynamic arguments - - - - - - - - Returns the component instance by the component key - using dynamic arguments - - - - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the key - - - - - - - - - Returns the component instance by the service type - using dynamic arguments - - - - - - - Returns the component instance by the service type - using dynamic arguments - - - - - - - Returns the component instance by the component key - - - - - - Returns a component instance by the key - - Component's key - Service type - - The Component instance - - - - - Returns a component instance by the key - - Service type - Component's key - - - The Component instance - - - - - Returns the component instance by the service type - - - - - Returns the component instance by the service type - using dynamic arguments - - - - - - - - Returns the component instance by the service type - using dynamic arguments - - - - - - - - Returns all the valid component instances by - the service type - - The service type - - - - Returns all the valid component instances by - the service type - - The service type - - Arguments to resolve the services - - - - - Returns all the valid component instances by - the service type - - The service type - - Arguments to resolve the services - - - - - Returns component instances that implement TService - - - - - - - - Returns component instances that implement TService - - - - - - - - Returns component instances that implement TService - - - - - - - Returns a component instance by the key - - - - - - - - - - Graph of components and interactions. - - - - - Exception throw when a circular dependency is detected - - - - - Initializes a new instance of the - - class. - - The message. - - - - Initializes a new instance of the - - class. - - The message. - The inner exception. - - - - Initializes a new instance of the - - class. - - - - - - - Initializes a new instance of the - - class. - - The - - that holds the serialized object data about the exception being thrown. - The - - that contains contextual information about the source or destination. - The - - parameter is - - . - The class name is - - or - - is zero (0). - - - - Exception threw when a request for a component - cannot be satisfied because the component does not - exist in the container - - - - - Initializes a new instance of the - - class. - - The name. - Exception message. - - - - Initializes a new instance of the - - class. - - The service. - Exception message. - - - - Initializes a new instance of the - - class. - - The service. - - - - Initializes a new instance of the - - class. - - The object that holds the serialized object data. - The contextual information about the source or destination. - - - - Exception threw when there is a problem - registering a component - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The object that holds the serialized object data. - The contextual information about the source or destination. - - - - Implementation of this interface allows for extension of the way - the container looks up multiple handlers. It provides the necessary - hook to allow for business logic to prioritize, filter, and sort - handlers when resolving multiple handlers. - - - - - Whatever the selector has an opinion about resolving a component with the - specified service and key. - - The service interface that we want to resolve - - - - Select the appropriate handlers (if any) from the list of defined handlers, - returning them in the order they should be executed. - The returned handlers should members from the array. - - The service interface that we want to resolve - The defined handlers - The selected handlers, or an empty array, or null - - - - Exception threw by Kernel operations that failed - for some reason. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The message. - The inner exception. - - - - Initializes a new instance of the class. - - The object that holds the serialized object data. - The contextual information about the source or destination. - - - - Base class for facilities. - - - - - Unit of extension. A facility should use - the extension points offered by the kernel - to augment its functionality. - - - - - - - - - - - - - - - The custom initialization for the Facility. - - - It must be overridden. - - - - - Performs the tasks associated with freeing, releasing, or resetting - the facility resources. - - - It can be overriden. - - - - - Initializes the facility. First it performs the initialization common for all - facilities, setting the and the - . After it, the Init method is invoked - and the custom initilization is perfomed. - - - - - - - Terminates the Facility, invokes the method and sets - the Kernel to a null reference. - - - - - Gets the facility configuration. - - The representing - the facility configuration. - - - - Gets the where the facility is registered. - - The . - - - - Base exception to be used by facilities. - - - - - This method changes behavior of the facility. Deferred mode should be used when you - have single call to and register all your components there. - Enabling this mode will optimize the behavior of the facility so that it will wait 'till the end of - installation and only after all s were ran it will instantiate and - start all the startable components. An exception will be thrown if a startable component can't be - instantiated and started. This will help you fail fast and diagnose issues quickly. If you don't want - the exception to be thrown and you prefer the component to fail silently, use method instead. - - - It is recommended to use this method over method. - - - - - This method changes behavior of the facility. Deferred mode should be used when you - have single call to and register all your components there. - Enabling this mode will optimize the behavior of the facility so that it will wait 'till the end of - installation and only after all s were ran it will instantiate and - start all the startable components. No exception will be thrown if a startable component can't be - instantiated and started. If you'd rather fail fast and diagnose issues quickly, use method instead. - - - It is recommended to use method over this method. - - - - - For each new component registered, - some components in the WaitingDependency - state may have became valid, so we check them - - - - - Request the component instance - - - - - - Assigns the start method for the startable. - - - The start method. - - - Be sure that you first added the - to the kernel, before registering this component. - - - - - Assigns the start method for the startable. - - - Method to use. something like: StartUsingMethod(s => s.Start) - - - Be sure that you first added the - to the kernel, before registering this component. - - - - - Assigns the stop method for the startable. - - - The stop method. - - - Be sure that you first added the - to the kernel, before registering this component. - - - - - Assigns the stop method for the startable. - - - Method to use. something like: StartUsingMethod(s => s.Start) - - - Be sure that you first added the - to the kernel, before registering this component. - - - - - Legacy class from old impl. of the facility. Do not use it. - - - - - Legacy interceptor for old impl. of the facility. - - - - - Interceptors might implement this to receive the - ComponentModel on behalf of the component where the - interceptor is acting. - - - - - Represents a single component to be resolved via Typed Factory - - - - - Resolves the component(s) from given kernel. - - - - Resolved component(s). - - - - Provides automatically generated factories on top of interfaces or delegates that - you can use to pull components out of the container without ever referencing it - explicitly. - - - - - Marks the component as typed factory. - - - - - - Only interfaces and delegates are legal to use as typed factories. Methods with out parameters are not allowed. - When registering component as typed factory no implementation should be provided (in case there is any it will be ignored). - Typed factories rely on set internally, so users should not set interceptor selectors explicitly; - otherwise the factory will not function correctly. - - - - - Marks the component as typed factory. - - - - Name of the component to be used for this factory - - - Only interfaces and delegates are legal to use as typed factories. Methods with out parameters are not allowed. - When registering component as typed factory no implementation should be provided (in case there is any it will be ignored). - Typed factories rely on set internally, so users should not set interceptor selectors explicitly; - otherwise the factory will not function correctly. - - - - - Marks the component as typed factory. - - - - Type of the component to be used for this factory - - - Only interfaces and delegates are legal to use as typed factories. Methods with out parameters are not allowed. - When registering component as typed factory no implementation should be provided (in case there is any it will be ignored). - Typed factories rely on set internally, so users should not set interceptor selectors explicitly; - otherwise the factory will not function correctly. - - - - - Marks the component as typed factory. - - - - The instance to be used for this factory - - - Only interfaces and delegates are legal to use as typed factories. Methods with out parameters are not allowed. - When registering component as typed factory no implementation should be provided (in case there is any it will be ignored). - Typed factories rely on set internally, so users should not set interceptor selectors explicitly; - otherwise the factory will not function correctly. - - - - - Marks the component as typed factory. - - - - - - - Only interfaces and delegates are legal to use as typed factories. Methods with out parameters are not allowed. - When registering component as typed factory no implementation should be provided (in case there is any it will be ignored). - Typed factories rely on set internally, so users should not set interceptor selectors explicitly; - otherwise the factory will not function correctly. - - - - - Initializes a new instance of the class. - - The parent handler. - The child resolver. - Release policy of the parent container. - - - - Clone some of the parent componentmodel properties to the generic subhandler. - - - The following properties are copied: - - - The - - - - - - The - - - - - - the subhandler - - - - Extension point to allow the developer to use his implementation of - - - - - Represents a delegate which holds basic information about a component. - - Key which identifies the component - handler that holds this component and is capable of - creating an instance of it. - - - - - Represents a delegate which holds basic information about a component - and its instance. - - Component meta information - Component instance - - - - Represents a delegate which holds the information about the - component - - - - - Represents a delegate which holds the information about a service. - - - - - Represents a delegate which holds a handler - - handler that holds a component and is capable of - creating an instance of it. - - - - - - Represents a delegate which holds dependency - resolving information. - - - - - Abstract representation of a vertex. - - - - - The nodes that this node depends on - - - - - The node has not been visited yet - - - - - This node is in the process of being visited - - - - - This now was visited - - - - - Represents a collection of objects - which are guaranteed to be unique - and holds a color for them - - - - - Holds a timestamp (integer) - for a given item - - - - - Summary description for DisposalConcern. - - - - - Summary description for InitializationConcern. - - - - - Lifetime concern that works for components that don't have their actual type determined upfront - - - - - Lifetime concern that works for components that don't have their actual type determined upfront - - - - - Lifetime concern that works for components that don't have their actual type determined upfront - - - - - Summary description for SupportInitializeConcern. - - - - - Only called for components that - belongs to a pool when the component - comes back to the pool. - - - - - Implementors should perform any - initialization/clean up. - - - - - Interface for components that wish to be started and stopped by the container - - - - - Starts this instance. - - - - - Stops this instance. - - - - - Base implementation of - - - - - The ILifestyleManager implements - a strategy for a given lifestyle, like singleton, per-thread - and transient. - - - The responsibility of ILifestyleManager - is only the management of lifestyle. It should rely on - to obtain a new component instance - - - - - Initializes the ILifestyleManager with the - - - - - - - - - Implementors should release the component instance based - on the lifestyle semantic, for example, singleton components - should not be released on a call for release, instead they should - release them when disposed is invoked. - - - - - - Implementors should return the component instance based on the lifestyle semantic. - Also the instance should be set to , should be also set if needed - and if a new instance was created it should be passed on to of . - - - - - - - - Invoked when the container gets disposed. The container will not call it multiple times in multithreaded environments. - However it may be called at the same time when some out of band release mechanism is in progress. Resolving those potential - issues is the task of implementors - - - - - Provides access to held in whatever is appropriate for given scope. - - - Implementors should also ensure proper initialization of when accessed for the first time and ensure a thread safe implementation is used when scope or cache access can cause threading issues if non thread safe cache is used. - - - - - Provides access to for currently resolved component. - - Current creation context - Thrown when scope cache could not be accessed. - - - - Returns current request's scope and detaches it from the request context. - Does not throw if scope or context not present. To be used for disposing of the context. - - - - - - Manages a pool of objects. - - - - - Pool implementation contract. - - - - - Implementors should release the instance or put it - on the pool - - - - - Represents persistence mechanism for instances of components that are supposed to be reused within scope managing the cache. - - - - Saves or retrieves a stored in the cache associated with the given . - - - Thrown when is null. - - - Thrown when there is already a associated with given - - value in the cache. - - The interface gives no thread safety guarantees. When the scope can be accessed from multiple threads the implementor should ensure thread safety. - - - - Provides explicit lifetime scoping within logical path of execution. Used for types with . - - - The scope is passed on to child threads, including ThreadPool threads. The capability is limited to single and should be used cauciously as call to may occur while the child thread is still executing, what in turn may lead to subtle threading bugs. - - - - - Delegate used by to request a new instance to be created (that would be the first instance in that scope, subsequently reused). - - Callback which should be invoken by provided delegate right after isntance gets created and before it burden gets tracked. - The purpose if this callback is to include scope in decisions regarding tracking of the instance by . - Depending on the scope implementation it may or may not provide its own end of lifetime detection mechanism. - - - - - Contribute to component model before standard run. - - - - - - - Contribute to component model after standard run. - - - - - - - Contribute to component model after standard run. - - - - - - - Entry point to fluent way to register, by convention, multiple concrete (non-abstract) classes (that include also delegate types). Use static methods on the class to fluently build - registration. - - - - Prepares to register types from a list of types. - The list of types. - - The corresponding - - - - Prepares to register types from a list of types. - The list of types. - - The corresponding - - - - Prepares to register types from an assembly. - The assembly. - - The corresponding - - - - Prepares to register types from an assembly containing the type. - The type belonging to the assembly. - - The corresponding - - - - Prepares to register types from an assembly containing the type. - The type belonging to the assembly. - - The corresponding - - - - Prepares to register types from assemblies found in a given directory that meet additional optional restrictions. - - - - - Scans current assembly and all refernced assemblies with the same first part of the name. - - - Assemblies are considered to belong to the same application based on the first part of the name. For example if the method is called from within MyApp.exe and MyApp.exe references - MyApp.SuperFeatures.dll, mscorlib.dll and ThirdPartyCompany.UberControls.dll the MyApp.exe and MyApp.SuperFeatures.dll will be scanned for components, and other - assemblies will be ignored. - - - - Prepares to register types from an assembly. - The assembly name. - - The corresponding - - - - Prepares to register types from the assembly containing the code invoking this method. - - The corresponding - - - - - Entry point to fluent way to register, by convention, multiple types. No upfront filtering is done so literally every type will be considered. That means that usually some filtering done by user - will be required. For a most common case where non-abstract classes only are to be considered use class instead. Use static methods on the class to fluently build - registration. - - - - Prepares to register types from a list of types. - The list of types. - - The corresponding - - - - Prepares to register types from a list of types. - The list of types. - - The corresponding - - - - Prepares to register types from an assembly. - The assembly. - - The corresponding - - - - Prepares to register types from an assembly containing the type. - The type belonging to the assembly. - - The corresponding - - - - Prepares to register types from an assembly containing the type. - The type belonging to the assembly. - - The corresponding - - - - Prepares to register types from assemblies found in a given directory that meet additional optional restrictions. - - - - - Scans current assembly and all refernced assemblies with the same first part of the name. - - - Assemblies are considered to belong to the same application based on the first part of the name. For example if the method is called from within MyApp.exe and MyApp.exe references - MyApp.SuperFeatures.dll, mscorlib.dll and ThirdPartyCompany.UberControls.dll the MyApp.exe and MyApp.SuperFeatures.dll will be scanned for components, and other - assemblies will be ignored. - - - - Prepares to register types from an assembly. - The assembly name. - - The corresponding - - - - Prepares to register types from the assembly containing the code invoking this method. - - The corresponding - - - - - Only one instance is created first time an instance of the component is requested, and it is then reused for all subseque. - - - - - Transient components are never reused. Since their lifetime does not have any externally constrained end, they have to be manually released if resolved explicitly, to ensure proper decomission. - - - - - Summary description for DefaultComponentModelBuilder. - - - - - Implementors must construct a populated - instance of ComponentModel by inspecting the component - and|or the configuration. - - - - - "To give or supply in common with others; give to a - common fund or for a common purpose". The contributor - should inspect the component, or even the configuration - associated with the component, to add or change information - in the model that can be used later. - - - - - Constructs a new ComponentModel by invoking - the registered contributors. - - - - - - - - - - Removes the specified contributor - - - - - - Initializes a new instance of the class. - - The kernel. - - - - "To give or supply in common with others; give to a - common fund or for a common purpose". The contributor - should inspect the component, or even the configuration - associated with the component, to add or change information - in the model that can be used later. - - - - - - Constructs a new ComponentModel by invoking - the registered contributors. - - - - - - - - - - Removes the specified contributor - - - - - - Initializes the default contributors. - - - - - Gets the contributors. - - The contributors. - - - - Inspects the component configuration and the type looking for a - definition of component activator type. The configuration preceeds whatever - is defined in the component. - - - This inspector is not guarantee to always set up an component activator type. - If nothing could be found it wont touch the model. In this case is up to - the kernel to establish a default component activator for components. - - - - - Searches for the component activator in the configuration and, if unsuccessful - look for the component activator attribute in the implementation type. - - The kernel instance - The model instance - - - - Reads the attribute "componentActivatorType" associated with the - component configuration and verifies it implements the - interface. - - - If the type does not implement the proper interface - - - - - - - Check if the type expose one of the component activator attributes - defined in Castle.Core namespace. - - - - - - Validates that the provide type implements IComponentActivator - - The custom component activator. - - - - Inspects the component configuration and type looking for information - that can influence the generation of a proxy for that component. - - We specifically look for additionalInterfaces and marshalByRefProxy - on the component configuration or the - attribute. - - - - - - Searches for proxy behavior in the configuration and, if unsuccessful - look for the attribute in - the implementation type. - - - - - Returns a instance if the type - uses the attribute. Otherwise returns null. - - - - - - Reads the proxy behavior associated with the - component configuration/type and applies it to the model. - - - If the conversion fails - - - - - - - Uses the ConfigurationStore registered in the kernel to obtain - an associated with the component. - - - - - Queries the kernel's ConfigurationStore for a configuration - associated with the component name. - - - - - - - Check for a node 'parameters' within the component - configuration. For each child it, a ParameterModel is created - and added to ComponentModel's Parameters collection - - - - - Inspect the configuration associated with the component - and populates the parameter model collection accordingly - - - - - - - This implementation of - collects all available constructors and populates them in the model - as candidates. The Kernel will pick up one of the candidates - according to a heuristic. - - - - - Only to hold internal constants and get rid of - magic numbers and hardcode names. - - - - - Inspect the component for InterceptorAttribute and - the configuration for the interceptors node - - - - - Inspects the type looking for interfaces that constitutes - lifecycle interfaces, defined in the Castle.Model namespace. - - - - - Checks if the type implements and or - interfaces. - - - - - - Inspects the component configuration and the type looking for a definition of lifestyle type. The configuration preceeds whatever is defined in the component. - - This inspector is not guarantee to always set up an lifestyle type. If nothing could be found it wont touch the model. In this case is up to the kernel to establish a default lifestyle for - components. - - - - Searches for the lifestyle in the configuration and, if unsuccessful look for the lifestyle attribute in the implementation type. - - - - Reads the attribute "lifestyle" associated with the component configuration and tries to convert to - enum type. - - - - Check if the type expose one of the lifestyle attributes defined in Castle.Model namespace. - - - - Base for inspectors that want configuration associated with methods. - For each child a is created - and added to ComponentModel's methods collection - - - Implementors should override the return - the name of the node to be inspected. For example: - - - - - ]]> - - - - - - This implementation of - collects all potential writable public properties exposed by the component - implementation and populates the model with them. - The Kernel might be able to set some of these properties when the component - is requested. - - - - - Adds the properties as optional dependencies of this component. - - - - - - - Represents the collection of information and meta information collected about a component. - - - - - Dependencies the kernel must resolve - - - - - Interceptors associated - - - - - External parameters - - - - - All potential properties that can be setted by the kernel - - - - - Constructs a ComponentModel - - - - - Adds constructor dependency to this - - - - - - Adds property dependency to this - - - - - - Add service to be exposed by this - - - - - - Requires the selected property dependencies. - - The property selector. - - - - Requires the property dependencies of type . - - The dependency type. - - - - Gets or sets the configuration. - - The configuration. - - - - Gets the constructors candidates. - - The constructors. - - - - Gets or sets the custom component activator. - - The custom component activator. - - - - Gets the custom dependencies. - - The custom dependencies. - - - - Gets or sets the custom lifestyle. - - The custom lifestyle. - - - - Dependencies are kept within constructors and properties. Others dependencies must be registered here, so the kernel (as a matter of fact the handler) can check them - - - - - Gets or sets the extended properties. - - The extended properties. - - - - Gets or sets the component implementation. - - The implementation. - - - - Gets or sets the strategy for inspecting public properties on the components - - - - - Gets the interceptors. - - The interceptors. - - - - Gets the lifecycle steps. - - The lifecycle steps. - - - - Gets or sets the lifestyle type. - - The type of the lifestyle. - - - - Sets or returns the component key - - - - - Gets the parameter collection. - - The parameters. - - - - Gets the properties set. - - The properties. - - - - Gets or sets a value indicating whether the component requires generic arguments. - - true if generic arguments are required; otherwise, false . - - - - Represents a constructor of the component - that the container can use to initialize it properly. - - - - - Initializes a new instance of the class. - - The constructor info. - The dependencies. - - - - Gets the ConstructorInfo (from reflection). - - The constructor. - - - - Gets the dependencies this constructor candidate exposes. - - The dependencies. - - - - Collection of - - - - - Collection of . - - - - - Represents an reference to a Interceptor component. - - - - - Represents obtained just in time object. - - - - - - If the reference introduces dependency on a component, should return for that dependency, otherwise null. - - - - - - - Resolves object referenced by this reference, optionally using provided . - If object is resolved from the kernel, the should be used to guard - against against cyclic dependencies. - - - - - - - - Initializes a new instance of the class. - - The component key. - - - - Initializes a new instance of the class. - - Type of the interceptor to use. This will reference the default component (ie. one with no explicitly assigned name) implemented by given type. - - - - Gets an for the component key. - - The component key. - The - - - - Gets an for the service. - - The service. - The - - - - Gets an for the service. - - The service type. - The - - - - Collection of - - - - Adds the specified interceptor as the first. - The interceptor. - - - Adds the interceptor to the end of the interceptors list if it does not exist already. - The interceptor reference. - - - Adds the specified interceptor as the last. - The interceptor. - - - Inserts the specified interceptor at the specified index. - The index. - The interceptor. - - - Returns an enumerator that can iterate through a collection. - - An - that can be used to iterate through the collection. - - - - Adds the specified item. - The interceptor. - - - Gets a value indicating whether this instance has interceptors. - - true if this instance has interceptors; otherwise, false. - - - - - Represents a collection of ordered lifecycle concerns. - - - - - Returns all concerns for the commission phase - - - - - - Returns all concerns for the decommission phase - - - - - - Gets a value indicating whether this instance has commission steps. - - - true if this instance has commission steps; otherwise, false. - - - - - Gets a value indicating whether this instance has decommission steps. - - - true if this instance has decommission steps; otherwise, false. - - - - - Represents meta information associated with a method - (not yet defined) - - - - - Initializes a new instance of the class. - - The config node. - - - - Gets the config node. - - The config node. - - - - Collection of - - - - - Gets the method info2 model. - - The method info2 model. - - - - Represents a parameter. Usually the parameter - comes from the external world, ie, an external configuration. - - - - - Initializes a new instance of the class. - - The name. - The value. - - - - Initializes a new instance of the class. - - The name. - The value. - - - - Gets the config value. - - The config value. - - - - Gets the name. - - The name. - - - - Gets the value. - - The value. - - - - Collection of - - - - - Adds the specified name. - - The name. - The value. - - - - Adds the specified name. - - The name. - The config node. - - - - Adds the specified key. - - - Not implemented - - The key. - The value. - - - - Returns an enumerator that can iterate through a collection. - - - An - that can be used to iterate through the collection. - - - - - Gets the count. - - The count. - - - - Gets the with the specified key. - - - - - - Represents a property and the respective dependency. - - TODO: remove this class and instead create PropertyDependencyModel like we do for constructors - - - - Initializes a new instance of the class. - - The property info. - The dependency. - - - - Gets the dependency. - - The dependency. - - - - Gets the property. - - The property. - - - - Collection of - - - - Finds a PropertySet the by PropertyInfo. - The info. - - - - - Reference to component obtained from the container. - - - - - - Creates a new instance of referencing default component implemented by - - - - - - Creates a new instance of referencing component - - - - - - Select the appropriate interceptors based on the application specific - business logic - - - - - Determine whatever the specified has interceptors. - The selector should only return true from this method if it has determined that is - a model that it would likely add interceptors to. - - The model - Whatever this selector is likely to add interceptors to the specified model - - - - Select the appropriate interceptor references. - The interceptor references aren't necessarily registered in the model.Intereceptors - - The model to select the interceptors for - The interceptors selected by previous selectors in the pipeline or if this is the first interceptor in the pipeline. - The interceptor for this model (in the current context) or a null reference - - If the selector is not interested in modifying the interceptors for this model, it - should return and the next selector in line would be executed. - If the selector wants no interceptors to be used it can either return null or empty array. - However next interceptor in line is free to override this choice. - - - - - Represents a reference to an existing object. - - - - - - Defines the contract used by the kernel - to obtain proxies for components. The implementor - must return a proxied instance that dispatch - the invocation to the registered interceptors in the model - - - - - Add the selector to the list of selectors that can affect interceptor's decisions - in the container. - - - - - Implementors must create a proxy based on - the information exposed by ComponentModel - - The kernel instance - The component model - The component instance to be proxy (only required in some cases) - array of parameters to the constructor (if any) - The creation context - proxy instance - - - - Implementor should check the component model - and determine if the caller must pass on the component - instance to the proxy - - The kernel instance - The component model - true if an instance must be passed to - - - - Determines whatever we need to create a proxy for this model - - - - - - - This is a placeholder implementation of . - - - The decision to supply no implementation for - is supported by the fact that the MicroKernel should be a thin - assembly with the minimal set of features, although extensible. - Providing the support for this interface would obligate - the user to import another assembly, even if the large majority of - simple cases, no use use of interceptors will take place. - If you want to use however, see the Windsor container. - - - - - Holds the keys used by the proxy factories. - - - - - Key used to supply custom proxy options. - - - - - Represents options to configure proxies. - - - - - Initializes a new instance of the class. - - - - - Adds the additional interfaces to proxy. - - The interfaces. - - - - Adds the additional mix ins to integrate. - - The mix ins. - - - - Adds the additional mix in to integrate. - - The mix in. - - - - Equals the specified obj. - - The obj. - true if equal. - - - - Gets the hash code. - - - - - - Gets the additional interfaces to proxy. - - The interfaces. - - - - Determines if the proxied component can change targets. - - - - - Determines if the interface proxied component should inherit - from - - - - - Gets or sets the proxy hook. - - - - - Gets the mix ins to integrate. - - The interfaces. - - - - Determines if the proxied component uses a target. - - - - - Gets or sets the interceptor selector. - - - - - Helper support for proxy configuration. - - - - - Obtains the associated with the . - - The component model. - true if the options should be created if not present. - The associated proxy options for the component model. - - - - Constructs the descriptor with name and value. - - The attribute name. - The attribute value. - - - - Constructs the descriptor with name. - - The component. - The attribute name. - - - - Builds the with value. - - The attribute value. - The - - - - Factory for creating objects. Use static methods on the class to fluently build registration. - - - - - Creates a component registration for the - - Type of the service. - The component registration. - - - - Creates a component registration for the - - Types of the service. - The component registration. - B - - - - Creates a component registration for the - - Types of the service. - The component registration. - - - - Creates a component registration for the service type. - - The service type. - The component registration. - - - - Creates a component registration for the service types. - - The primary service type. - The forwarded type. - The component registration. - - - - Creates a component registration for the service types. - - The primary service type. - The first forwarded type. - The second forwarded type. - The component registration. - - - - Creates a component registration for the service types. - - The primary service type. - The first forwarded type. - The second forwarded type. - The third forwarded type. - The component registration. - - - - Creates a component registration for the service types. - - The primary service type. - The first forwarded type. - The second forwarded type. - The third forwarded type. - The fourth forwarded type. - The component registration. - - - - Helper method for filtering components based on presence of an Attribute. - - - - - - container.Register( - Classes.FromThisAssembly() - .Where(Component.HasAttribute<UserAttribute>) ); - - - - - Helper method for filtering components based on presence of an Attribute and value of predicate on that attribute. - - - - - - container.Register( - Classes.FromThisAssembly() - .Where(Component.HasAttribute<UserAttribute>(u => u.SomeFlag)) ); - - - - - Determines if the component is a Castle component, that is - if it has a . - - true if the service is a Castle Component. - - This method is usually used as argument for method. - - - - - Creates a predicate to check if a component is in a namespace. - - The namespace. - true if the component type is in the namespace. - - - - Creates a predicate to check if a component is in a namespace. - - The namespace. - If set to true, will also include types from subnamespaces. - true if the component type is in the namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - true if the component is in the same namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - If set to true, will also include types from subnamespaces. - true if the component is in the same namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - true if the component is in the same namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - If set to true, will also include types from subnamespaces. - true if the component is in the same namespace. - - - - Inserts a new named argument with given key. If an argument for this name already exists, it will be overwritten. - - - - - Inserts a new typed argument with given type. If an argument for this type already exists, it will be overwritten. - - - - - Inserts a set of typed arguments. Property names of the anonymous type will be used as key. - - - - - Inserts a new typed argument with given type. If an argument for this type already exists, it will be overwritten. - - - - - Inserts a set of typed arguments. Actual type of the arguments will be used as key. - - - - - Registration for a single type as a component with the kernel. - - You can create a new registration with the factory. - - The service type - - - - The contract for all registrations with the kernel. - - - - - Performs the registration in the . - - The kernel. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Marks the components with one or more actors. - - The component actors. - - - - - Set a custom which creates and destroys the component. - - - - - - Adds the attribute descriptor. - - The key. - The value. - - - - - Adds the descriptor. - - The descriptor. - - - - - Creates an attribute descriptor. - - The attribute key. - - - - - Apply more complex configuration to this component registration. - - The config nodes. - - - - - Apply more complex configuration to this component registration. - - The configuration . - - - - - Defines additional dependencies for the component. Those can be any of , and . Use the static methods on - class to define the dependencies. See the example attached. - - The dependency. - - - Artificial example showing how to specify a service override. See other methods on class for more options. - DependsOn(Dependency.OnComponent(typeof(IRepository), typeof(IntranetRepository))); - - - - - Defines additional dependencies for the component. Those can be any combibation of , and . Use the static methods - on class to define the dependencies. See the example attached. - - The dependencies. - - - Artificial example showing how to specify three different dependencies. If any of the methods shown is not self explanatory consult its documentation. - DependsOn(Dependency.OnAppSettingsValue("connectionString", "intranet-connection-string"), - Dependency.OnComponent(typeof(IRepository), typeof(IntranetRepository)), - Dependency.OnValue("applicationName", "My Application")); - - - - - Uses a dictionary of key/value pairs, to specify custom dependencies. - - - The dependencies. - - - - - Uses an (anonymous) object as a dictionary, to specify custom dependencies. - - - The dependencies. - - - - - Allows custom dependencies to by defined dyncamically. Calling this overload is synonymous to using - - The delegate used for providing dynamic parameters. - - - - - Allows custom dependencies to by defined dynamically with releasing capability. Calling this overload is synonymous to using - - - The delegate used for providing dynamic parameters. - - - - - Allows custom dependencies to by defined dynamically with releasing capability. Calling this overload is synonymous to using - - - The delegate used for providing dynamic parameters. - - - Use when resolving components from in order to detect cycles. - - - - - Allows custom dependencies to by defined dyncamically. - - The delegate used for providing dynamic parameters. - - - - - Allows custom dependencies to by defined dynamically with releasing capability. - - The delegate used for providing dynamic parameters. - - - - - Allows custom dependencies to by defined dynamically with releasing capability. - - The delegate used for providing dynamic parameters. - - - Use when resolving components from in order to detect cycles. - - - - - Sets for this component. - - The extended properties. - - - - - Sets for this component. - - The extended properties. - - - - - Sets for this component. - - The extendend properties as key/value pairs. - - - - - Adds as additional services to be exposed by this component. - - The types to forward. - - - - - Adds as additional service to be exposed by this component. - - The forwarded type. - The component registration. - - - - Adds and as additional services to be exposed by this component. - - The first forwarded type. - The second forwarded type. - The component registration. - - - - Adds , and as additional services to be exposed by this component. - - The first forwarded type. - The second forwarded type. - The third forwarded type. - The component registration. - - - - Adds , , and as additional services to be exposed by - this component. - - The first forwarded type. - The second forwarded type. - The third forwarded type. - The fourth forwarded type. - The component registration. - - - - Adds as additional services to be exposed by this component. - - The types to forward. - - - - - Sets the concrete type that implements the service to . - - If not set, the class service type or first registered interface will be used as the implementation for this component. - - The type that is the implementation for the service. - - - - - Sets the concrete type that implements the service to . - - If not set, the class service type or first registered interface will be used as the implementation for this component. - - The type that is the implementation for the service. - - - - - Sets the concrete type that implements the service to . - - If not set, the class service type or first registered interface will be used as the implementation for this component. - - The type that is the implementation for the service. - Provides ability to close open generic service. Ignored when registering closed or non-generic component. - - - - - Sets the concrete type that implements the service to . - - If not set, the class service type or first registered interface will be used as the implementation for this component. - - The type that is the implementation for the service. - Provides ability to select if open generic component supports particular closed version of a service. - - - - - Sets the concrete type that implements the service to . - - If not set, the class service type or first registered interface will be used as the implementation for this component. - - The type that is the implementation for the service. - Provides ability to close open generic service. Ignored when registering closed or non-generic component. - Provides ability to select if open generic component supports particular closed version of a service. - - - - - Assigns an existing instance as the component for this registration. - - The component instance. - - - - - Set the interceptors for this component. - - The interceptors. - - - - - Set the interceptors for this component. - - The interceptors. - - - - - Set the interceptor for this component. - - - - - - Set the interceptor for this component. - - - - - - Set the interceptor for this component. - - - - - - Sets component lifestyle to specified one. - - - - - - Sets component lifestyle to specified one. - - - - - - Sets component lifestyle to per thread. - - - - - - Sets component lifestyle to scoped per explicit scope. If is provided, it will be used to access scope for the component. Otherwise the default scope accessor - will be used. - - - - - - Sets component lifestyle to scoped per explicit scope. - - - - - - Sets component lifestyle to scoped per farthest component on the resolution stack where implementation type is assignable to . - - - - - - Sets component lifestyle to scoped per nearest component on the resolution stack where implementation type is assignable to . - - - - - - Sets component lifestyle to scoped per scope determined by - - Custom algorithm for selection which component higher up the resolution stack should be the root of the lifetime scope for current component's instances. The delegate - will be invoked when current component is about to be resolved and will be passed set of handlers to components higher up the resolution stack. It ought to return one which it designages as the root - which shall scope the lifetime of current component's instance, or null - - - - - Sets component lifestyle to instance per web request. - - - - - - Sets component lifestyle to pooled. If or are not set default values will be used. - - - - - - Sets component lifestyle to singleton. - - - - - - Sets component lifestyle to transient. - - - - - - Set a name of this registration. This is required if you have multiple components for a given service and want to be able to resolve some specific ones. Then you'd provide the name so that Windsor - knows which one of the bunch you know. Otherwise don't bother setting the name. - - If not set, the of the will be used as the key to register the component. - - The name of this registration. - - - Names have to be globally unique in the scope of the container. - - - - - This method as opposed to should be used by tools like facilities when the name is not provided by the user, but autogenerated and user has no interest in seing this name, for - example in diagnostics reports. Set a name of this registration. This is required if you have multiple components for a given service and want to be able to resolve some specific ones. Then you'd - provide the name so that Windsor knows which one of the bunch you know. Otherwise don't bother setting the name. - - If not set, the of the will be used as the key to register the component. - - The name of this registration. - - - Names have to be globally unique in the scope of the container. - - - - - Stores a set of which will be invoked when the component is created and before it's returned from the container. - - A set of actions to be executed right after the component is created and before it's returned from the container. - - - - Stores a set of which will be invoked when the component is created and before it's returned from the container. - - A set of actions to be executed right after the component is created and before it's returned from the container. - - - - Stores a set of which will be invoked when the component is created and before it's returned from the container. - - A set of actions to be executed right after the component is created and before it's returned from the container. - - - - Stores a set of which will be invoked when the component is destroyed which means when it's released or it's lifetime scope ends. Notice that usage of this - method will cause instsances of the component to be tracked, even if they wouldn't be otherwise. - - A set of actions to be executed when the component is destroyed. - - - - Services that are already present in the container will be skipped. If no new service is left the registration will not happen at all. - - - - - - With the overwrite. - - - - - - Set configuration parameters with string or values. - - The parameters. - - - - - Sets the interceptor selector for this component. - - - - - - - Sets the interceptor selector for this component. - - - - - - - Override (some of) the services that this component needs. Use to create an override. - - Each key represents the service dependency of this component, for example the name of a constructor argument or a property. The corresponding value is the key of an other component registered to the - kernel, and is used to resolve the dependency. - - To specify dependencies which are not services, use - - The service overrides. - - - - - Override (some of) the services that this component needs, using a dictionary. - - Each key represents the service dependency of this component, for example the name of a constructor argument or a property. The corresponding value is the key of an other component registered to the - kernel, and is used to resolve the dependency. - - To specify dependencies which are not services, use - - The service overrides. - - - - - Override (some of) the services that this component needs, using an (anonymous) object as a dictionary. - - Each key represents the service dependency of this component, for example the name of a constructor argument or a property. The corresponding value is the key of an other component registered to the - kernel, and is used to resolve the dependency. - - To specify dependencies which are not services, use - - The service overrides. - - - - - Uses a factory to instantiate the component - - Factory type. This factory has to be registered in the kernel. - Implementation type. - Factory invocation - - - - - Uses a factory method to instantiate the component. - - Implementation type - Factory method - When set to true container will not assume ownership of this component, will not track it not apply and lifecycle concerns to it. - - - - - Uses a factory method to instantiate the component. - - Implementation type - Factory method - When set to true container will not assume ownership of this component, will not track it not apply and lifecycle concerns to it. - - - - - Uses a factory method to instantiate the component. - - Implementation type - Factory method - When set to true container will not assume ownership of this component, will not track it not apply and lifecycle concerns to it. - - - - - Uses a factory method to instantiate the component. - - Implementation type - Factory method - - - - - Registers this component with the . - - The kernel. - - - - Overrides default behavior by making the current component the default for every service it exposes. The allows user to narrow down the number of services which - should be make defaults. - - Invoked for each service exposed by given component if returns true this component will be the default for that service. - - - When specified for multiple components for any given service the one registered after will override the one selected before. - - - - - Overrides default behavior by making the current component the default for every service it exposes. - - - - When specified for multiple components for any given service the one registered after will override the one selected before. - - - - - Overrides default behavior by making the current component the fallback for every service it exposes that returns true for. That is if another, - non-fallback, component will be registered exposing any of these same services as this component, that other component will take precedence over this one, regardless of order in which they are - registered. - - Invoked for each service exposed by given component if returns true this component will be the fallback for that service. - - - - Overrides default behavior by making the current component the fallback for every service it exposes. That is if another, non-fallback, component will be registered exposing any of the same services - as this component, that other component will take precedence over this one, regardless of order in which they are registered - - - - - - Filters (settable) properties of the component's implementation type to expose in the container. - - Predicate deciding whether a property is settable or not. If it returns false the property will not be added to collection - and Windsor will never try to set it. - - - Matched properties will be considered optional. Windsor will resolve the component even if it cannot provide value for those properties. If you want to make them mandatory use a different overload. - - - - - Filters (settable) properties of the component's implementation type to expose in the container and specifies if matched properties are considered mandatory. - - Predicate deciding whether a property is settable or not. If it returns false the property will not be added to collection - and Windsor will never try to set it. - if true the properties matched by will be considered mandatory dependencies. Windsor will only successfully resole the component if it - can provide value for all of these properties. If false Windsor will still try to provide values for these properties, but if it can't it will not stop the component from being successfully - resolved. - - - - - Filters (settable) properties of the component's implementation type to expose in the container and specifies if matched properties are considered mandatory. - - Predicate deciding whether a property is settable or not. If it returns false the property will not be added to collection - and Windsor will never try to set it. - if true the properties matched by will be considered mandatory dependencies. Windsor will only successfully resole the component if it - can provide value for all of these properties. If false Windsor will still try to provide values for these properties, but if it can't it will not stop the component from being successfully - resolved. - - - - - Filters (settable) properties of the component's implementation type to ignore. - - Predicate finding properties to ignore. If it returns true the property will not be added to collection and Windsor - will never try to set it. - - - - Filters (settable) properties of the component's implementation type to expose in the container as mandatory dependencies - - Predicate finding properties. If it returns true the property will be added to collection and Windsor will make it - a mandatory dependency. - - - - Filters (settable) properties of the component's implementation type to ignore. - - Predicate finding properties to ignore. If it returns true the property will not be added to collection and Windsor - will never try to set it. - - - - Filters (settable) properties of the component's implementation type to expose in the container as mandatory dependencies - - Predicate finding properties. If it returns true the property will be added to collection and Windsor will make it - a mandatory dependency. - - - - Filters (settable) properties of the component's implementation type to expose in the container and specifies if matched properties are considered mandatory. - - Rules for deciding whether given properties are exposed in the container or ignored and if they are mandatory, that is Windsor will only successfully resole the component if - it can provide value for all of these properties. - - - - - The concrete type that implements the service. - - To set the implementation, use . - - The implementation of the service. - - - - Set the lifestyle of this component. For example singleton and transient (also known as 'factory'). - - The with lifestyle. - - - - The name of the component. Will become the key for the component in the kernel. - - To set the name, use . - - If not set, the of the will be used as the key to register the component. - - The name. - - - - Set proxy for this component. - - The proxy. - - - - A non-generic . - - You can create a new registration with the factory. - - - - - Represents a configuration child. - - - - - Applies the configuration node. - - The configuration. - - - - Represents a configuration attribute. - - - - - Applies the configuration node. - - The configuration. - - - - Create a with name. - - The attribute name. - The new - - - - Represents a named attribute. - - - - - Builds the with name/value. - - The attribute value. - The new - - - - Builds the with name/value. - - The attribute value. - The new - - - - Represents a configuration child. - - - - - Create a with name. - - The child name. - The new - - - - Represents a named child. - - - - - Applies the configuration node. - - The configuration. - - - - Builds the with name/value. - - The child value. - The new - - - - Builds the with name/value. - - The child value. - The new - - - - Builds the with name/config. - - The child configuration. - The new - - - - Builds the with name/config. - - The child nodes. - The new - - - - Represents a simple child node. - - - - - Applies the configuration node. - - The configuration. - - - - Represents a complex child node. - - - - - Applies the configuration node. - - The configuration. - - - - Represents a compound child node. - - - - - Applies the configuration node. - - The configuration. - - - - Specifies that value should be used to satisfy dependencies matched by . The value is provided as a string and will be - converted to appropriate type when resolving. - - - - - - - - Specifies that value should be used to satisfy dependencies matched by . The value is provided as a string and will be converted to - appropriate type when resolving. - - - - - - - - Specifies that value from application configuration file's appSettings section named should be used to satisfy dependencies matched by - . The value is provided as a string and will be converted to appropriate type when resolving. - - - - - - - - Specifies that value from application configuration file's appSettings section named should be used to satisfy dependencies matched by . The value - is provided as a string and will be converted to appropriate type when resolving. - - - - - - - Specifies that component registered with should be used to satisfy dependencies matched by - - - - - Specifies that component registered with should be used to satisfy dependencies matched by - - - - - Specifies that component registered with should be used to satisfy dependencies matched by - - - - - Specifies that component registered with should be used to satisfy dependencies matched by - - - - - Specifies that component registered with should be used to satisfy dependencies matched by - - - - - Specifies that components registered with should be used to satisfy collection dependencies matched by - - - - - Specifies that components registered with should be used to satisfy collection dependencies matched by - - - - - Specifies that components registered with should be used to satisfy collection dependencies matched by - - - - - Specifies that components registered with should be used to satisfy collection dependencies matched by - - - - - Specifies that components registered with should be used to satisfy collection dependencies matched by - - - - - Specifies that components registered with should be used to satisfy collection dependencies matched by - - - - - Specifies that value should be used to satisfy dependencies matched by - - - - - Specifies that value should be used to satisfy dependencies matched by - - - - - Specifies that value should be used to satisfy dependencies matched by - - - - - The contract to install components in the container. - - - - - Performs the installation in the . - - The container. - The configuration store. - - - - Adds the actions to ExtendedProperties. - - - - - - Sets the lifestyle to the specified - - . - - The type. - - - - - Assigns scoped lifestyle with scope accessed via - - instances. - - - - - - - Assigns scoped lifestyle with scope accessed via - - instances if provided, or default accessor otherwise. - - - - - - Assigns scoped lifestyle with scope accessed via default accessor. - - - - - - Assign a custom lifestyle type, that implements - - . - - Type of the custom lifestyle. - - - - - Assign a custom lifestyle type, that implements - - . - - The type of the custom lifestyle - - - - - Represents a configuration parameter. - - - - - Create a with key. - - The parameter key. - The new - - - - Gets the parameter configuration. - - - - - Gets the parameter key. - - - - - Gets the parameter value. - - - - - Represents a parameter key. - - - - - Builds the with key/value. - - The parameter value. - The new - - - - Builds the with key/config. - - The parameter configuration. - The new - - - - The parameter key name. - - - - - Represents a key/value pair. - - - - - Create a with key. - - The property key. - The new - - - - Create a with key. - - The property key. - The new - - - - Create a with key. - - The property key. - The new - - - - Gets the property key. - - - - - Gets the property value. - - - - - Represents a property key. - - - - - Builds the with key/value. - - The property value. - The new - - - - Builds a service override using other component registered with given as value for dependency with given . - - - - - - - Builds a service override using other component registered with given and no explicit name, as value for dependency with given . - - - - - - Builds a service override using other component registered with given and no explicit name, as value for dependency with given . - - - - - - The property key key. - - - - - Represents a service override. - - - - - Creates a with key. - - The service override key. - The new - - - - Creates a with key. - - The service override key. - The new - - - - Creates a with key. - - The service override key. - The new - - - - Implicitly converts service override to dependency. This is a API trick to keep the API clean and focused. - - - - - - - Gets the optional value type specifier. - - - - - Represents a service override key. - - - - - Builds the with key/value. - - The service override value. - The new - - - - Builds the with key/values. - - The service override values. - The new - - - - Builds the with key/values. - - The service override values. - The new - The value type. - - - - Builds the with key/values. - - The service override values. - The new - - - - Builds the with key/values. - - The service override values. - The new - The value type. - - - - Describes a set of components to register in the kernel. Use static methods on the class to fluently build registration. - - - - - Prepares to register types from a list of types. - - The list of types. - The corresponding - - - - Prepares to register types from a list of types. - - The list of types. - The corresponding - - - - Prepares to register types from an assembly. - - The assembly. - The corresponding - - - - Prepares to register types from an assembly containing the type. - - The type belonging to the assembly. - The corresponding - - - - Prepares to register types from an assembly containing the type. - - The type belonging to the assembly. - The corresponding - - - - Prepares to register types from assemblies found in a given directory that meet additional optional restrictions. - - - - - - - Prepares to register types from an assembly. - - The assembly name. - The corresponding - - - - Prepares to register types from the assembly containing the code invoking this method. - - The corresponding - - - - Describes all the types based on basedOn. - - The base type. - - - - - Describes all the types based on type T. - - The base type. - - - - - Describes any types that are supplied. - - - - - - Prepares to register types from a list of types. - - The list of types. - The corresponding - - - - Describes a related group of components to register in the kernel. - - - - - Prepares to register types from a list of types. - - The list of types. - The corresponding - - - - Prepares to register types from a list of types. - - The list of types. - The corresponding - - - - Prepares to register types from an assembly. - - The assembly. - The corresponding - - - - Prepares to register types from an assembly. - - The assembly name. - The corresponding - - - - Prepares to register types from a list of types. - - The list of types. - The corresponding - - - - Selects a set of types from an assembly. - - - - - Describes the source of types to register. - - - - - Allows a type to be registered multiple times. - - - - - Returns the descriptor for accepting a type. - - The base type. - The descriptor for the type. - - - - Returns the descriptor for accepting a type. - - The base type. - The descriptor for the type. - - - - Returns the descriptor for accepting a type. - - One or more base types. To be accepted a type must implement at least one of the given base types. - The descriptor for the type. - - - - Returns the descriptor for accepting a type. - - One or more base types. To be accepted a type must implement at least one of the given base types. - The descriptor for the type. - - - - Creates a predicate to check if a component is in a namespace. - - The namespace. - true if the component type is in the namespace. - - - - Creates a predicate to check if a component is in a namespace. - - The namespace. - If set to true, will also include types from subnamespaces. - true if the component type is in the namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - true if the component is in the same namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - If set to true, will also include types from subnamespaces. - true if the component is in the same namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - true if the component is in the same namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - If set to true, will also include types from subnamespaces. - true if the component is in the same namespace. - - - - Returns the descriptor for accepting any type from given solutions. - - - - - - Returns the descriptor for accepting a type based on a condition. - - The accepting condition. - The descriptor for the type. - - - - When called also non-public types will be scanned. - - - Usually it is not recommended to register non-public types in the container so think twice before using this option. - - - - - Selects an existing set of types to register. - - - - - Describes how to select a types service. - - - - - Uses all interfaces implemented by the type (or its base types) as well as their base interfaces. - - - - - - Uses the base type matched on. - - - - - - Uses all interfaces that have names matched by implementation type name. - Matches Foo to IFoo, SuperFooExtended to IFoo and IFooExtended etc - - - - - - Uses the first interface of a type. This method has non-deterministic behavior when type implements more than one interface! - - - - - - Uses to lookup the sub interface. - For example: if you have IService and - IProductService : ISomeInterface, IService, ISomeOtherInterface. - When you call FromInterface(typeof(IService)) then IProductService - will be used. Useful when you want to register _all_ your services - and but not want to specify all of them. - - - - - - - Uses base type to lookup the sub interface. - - - - - - Assigns a custom service selection strategy. - - - - - - - Assigns the supplied service types. - - - - - - - Uses the type itself. - - - - - - This is a workaround for a CLR bug in - which GetInterfaces() returns interfaces - with no implementations. - - Type of the service. - - - - - Describes how to register a group of related types. - - - - - Initializes a new instance of the BasedOnDescriptor. - - - - - Allows a type to be registered multiple times. - - - - - Returns the descriptor for accepting a new type. - - The base type. - The descriptor for the type. - - - - Returns the descriptor for accepting a new type. - - The base type. - The descriptor for the type. - - - - Adds another type to be accepted as base. - - The base type. - The descriptor for the type. - - - - Allows customized configurations of each matching type. - - The configuration action. - - - - - Allows customized configurations of each matching component with implementation type that is - assignable to - - . - - The type assignable from. - The configuration action. - - - - - Allows customized configurations of each matching component that satisfies supplied . - - Condition to satisfy - The configuration action, executed only for components for which evaluates to true . - - - - - Allows customized configurations of each matching component that satisfies supplied and alternative configuration for the rest of components. - - Condition to satisfy - The configuration action, executed only for components for which evaluates to true . - The configuration action, executed only for components for which evaluates to false . - - - - - Assigns a conditional predication which must be satisfied. - - The predicate to satisfy. - - - - - Assigns a conditional predication which must not be satisfied. - - The predicate not to satisify. - - - - - Returns the descriptor for accepting a type based on a condition. - - The accepting condition. - The descriptor for the type. - - - - Uses all interfaces implemented by the type (or its base types) as well as their base interfaces. - - - - - - Uses the base type matched on. - - - - - - Uses all interfaces that have names matched by implementation type name. - Matches Foo to IFoo, SuperFooExtended to IFoo and IFooExtended etc - - - - - - Uses the first interface of a type. This method has non-deterministic behavior when type implements more than one interface! - - - - - - Uses to lookup the sub interface. - For example: if you have IService and - IProductService : ISomeInterface, IService, ISomeOtherInterface. - When you call FromInterface(typeof(IService)) then IProductService - will be used. Useful when you want to register _all_ your services - and but not want to specify all of them. - - - - - - - Uses base type to lookup the sub interface. - - - - - - Assigns a custom service selection strategy. - - - - - - - Uses the type itself. - - - - - - Sets component lifestyle to specified one. - - - - - - Sets component lifestyle to specified one. - - - - - - Sets component lifestyle to per thread. - - - - - - Sets component lifestyle to scoped per explicit scope. - - - - - - Sets component lifestyle to scoped per explicit scope. - - - - - - Sets component lifestyle to scoped per explicit scope. - - - - - - Sets component lifestyle to scoped per component . - - - - - - Sets component lifestyle to scoped per nearest component on the resolution stack where implementation type is assignable to . - - - - - - Sets component lifestyle to instance per web request. - - - - - - Sets component lifestyle to pooled. If or are not set default values will be used. - - - - - - Sets component lifestyle to singleton. - - - - - - Sets component lifestyle to transient. - - - - - - Assigns the supplied service types. - - - - - - - Assigns the supplied service types. - - - - - - - Gets the service descriptor. - - - - - Tracks all components requiring decomission () - - - - - Policy managing lifetime of components, and in particular their release process. - - - - - Creates nested policy for scoped object tracking. - - - - - - Returns true if is being tracked by this release policy, false otherwise. - - - - - - - Releases if it's being tracked by this release policy, invoking its s and stops tracking it so that it can be claimed by the Garbage Collector. - - - - - - Asks the policy to track given object. The object will be released when a call to is made. - - - - Thrown when does NOT have its flag set. - - - - Used to obtain if present. - - - - - Creates new policy which publishes its tracking components count to - - and exposes diagnostics into - - . - - - - - - - Obtains from given if present. - - - - - - - Creates new from given . - - - - - - - No tracking of component instances are made. - - - - - Default implementation for . - This implementation is quite simple, but still should be useful - for 99% of situations. - - - - - Implementors should use a strategy to obtain - valid references to properties and/or services - requested in the dependency model. - - - - - Registers a sub resolver instance - - The subresolver instance - - - - This method is called with a delegate for firing the - IKernelEvents.DependencyResolving event. - - kernel - The delegate used to fire the event - - - - Unregisters a sub resolver instance previously registered - - The subresolver instance - - - - Registers a sub resolver instance - - The subresolver instance - - - - Initializes this instance with the specified dependency delegate. - - kernel - The dependency delegate. - - - - Unregisters a sub resolver instance previously registered - - The subresolver instance - - - - Returns true if the resolver is able to satisfy the specified dependency. - - Creation context, which is a resolver itself - Parent resolver - Model of the component that is requesting the dependency - The dependency model - - true - if the dependency can be satisfied - - - - Try to resolve the dependency by checking the parameters in - the model or checking the Kernel for the requested service. - - - The dependency resolver has the following precedence order: - - - The dependency is checked within the - - - - - The dependency is checked within the - - instance for the component - - - The dependency is checked within the registered - - s - - - Finally the resolver tries the normal flow - which is using the configuration - or other component to satisfy the dependency - - - - Creation context, which is a resolver itself - Parent resolver - Model of the component that is requesting the dependency - The dependency model - The dependency resolved value or null - - - - This method rebuild the context for the parameter type. - Naive implementation. - - - - - Initializes a new instance of the class. - - The message. - The inner exception. - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The object that holds the serialized object data. - The contextual information about the source or destination. - - - - Lazily adds component for . - - - - - Handle dependencies of services in the format of typed arrays. - - - This is a complimentary implementation - that is capable of satisfying dependencies of services as typed arrays. - - Note that it will take precedence over service override for arrays defined - on the configuration. - - - - In order to install the resolver: - - var kernel = new DefaultKernel(); - kernel.Resolver.AddSubResolver(new ArrayResolver(kernel)); - - - - To use it, assuming that IService is on the container: - - - - public class Component - { - public Component(IService[] services) - { - } - } - - - - - - More generic alternative to and . - It supports arrays as well as any generic interface type assignable from arrays. - - - The collection instance that is provided is read only, even for interfaces like - - - - - Handle dependencies of services in the format of generic IList. - - - This is a complimentary implementation - that is capable of satisfying dependencies of services generic IList. - - Note that it will take precedence over service override for lists defined - on the configuration. - - - - In order to install the resolver: - - var kernel = new DefaultKernel(); - kernel.Resolver.AddSubResolver(new ListResolver(kernel)); - - - - To use it, assuming that IService is on the container: - - - - public class Component - { - public Component(IList<IService> services) - { - } - } - - - - - - A subsystem is used by the MicroKernel to deal - with a specific concern. - - - - - Initializes the subsystem - - - - - - Should perform the termination - of the subsystem instance. - - - - - This implementation of - does not try to obtain an external configuration by any means. - Its only purpose is to serve as a base class for subclasses - that might obtain the configuration node from anywhere. - - - - - The contract used by the kernel to obtain - external configuration for the components and - facilities. - - - - - Adds the child container configuration. - - The container's name. - The config. - - - - Associates a configuration node with a component key - - item key - Configuration node - - - - Associates a configuration node with a facility key - - item key - Configuration node - - - - Returns the configuration node associated with - the specified child container key. Should return null - if no association exists. - - item key - - - - - Returns the configuration node associated with - the specified component key. Should return null - if no association exists. - - item key - - - - - Returns all configuration nodes for components - - - - - - Gets the child containers configuration nodes. - - - - - - Returns all configuration nodes for facilities - - - - - - Returns the configuration node associated with - the specified facility key. Should return null - if no association exists. - - item key - - - - - Returns all configuration nodes for installers - - - - - - - - - - - - - Adds the child container configuration. - - The key. - The config. - - - - Associates a configuration node with a component key - - item key - Configuration node - - - - Associates a configuration node with a facility key - - item key - Configuration node - - - - Returns the configuration node associated with - the specified child container key. Should return null - if no association exists. - - item key - - - - - Returns the configuration node associated with - the specified component key. Should return null - if no association exists. - - item key - - - - - Returns all configuration nodes for components - - - - - - Returns all configuration nodes for child containers - - - - - - Returns all configuration nodes for facilities - - - - - - Returns the configuration node associated with - the specified facility key. Should return null - if no association exists. - - item key - - - - - Base implementation of - - - - - Implements a conversion logic to a type of a - set of types. - - - - - Returns true if this instance of ITypeConverter - is able to handle the specified type. - - - - - - - Returns true if this instance of ITypeConverter - is able to handle the specified type with the specified - configuration - - - - - - - - Should perform the conversion from the - string representation specified to the type - specified. - - - - - - - - Should perform the conversion from the - configuration node specified to the type - specified. - - - - - - - - Returns true if this instance of ITypeConverter - is able to handle the specified type with the specified - configuration - - - - - - The default behavior is to just pass it to the normal CanHadnleType - peeking into the configuration is used for some advanced functionality - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The message. - The inner exception. - - - - Initializes a new instance of the class. - - The object that holds the serialized object data. - The contextual information about the source or destination. - - - - Looks for a on the type to be converted. - If found, the TypeConverter defined by the attribute is used to perform the conversion. - - - - - Marker interface that signals that a converter - depends on IKernel to be able to perform - the conversion. - - - - - Attempts to utilize an existing for conversion - - - - - Creates the target type instance. - - The type. - The configuration. - - - - - Chooses the first non default constructor. Throws an exception if more than - one non default constructor is found - - - The chosen constructor, or null if none was found - - - - Converts the constructor parameters. - - The constructor. - The configuration. - - - - - Converts the property values. - - The instance. - The type. - The configuration. - - - - Finds the child (case insensitive). - - The config. - The name. - - - - - Gets the conversion manager. - - The conversion manager. - - - - Converts a string representation to an enum value - - - - - This interface is needed because we want to isolate ourself from - the generic parameters, so we can work type safe inside the implementations, - and still call from non generic types outside. - - - - - Implements all standard conversions. - - - - - Convert a type name to a Type instance. - - - - - Declares a type as being convertible by a and optionally defines the converter to be used - - - - - Defines the to be used to convert the type - - - - - Defines the to be used to convert the type - - - - - - Composition of all available conversion managers - - - - - Establish a composition interface and a subsystem. - Implementors should delegate the conversion to - a instance of a type converter. - - - - - Register a type converter instance. - - - - - - Contract for SubSystem that wishes to keep and coordinate - component registration. - - - - - Register a new component resolver that can take part in the decision - making about which handler to resolve - - - - - Register a new component resolver that can take part in the decision - making about which handler(s) to resolve and in which order - - - - - Returns true if there is a component registered - for the specified name - - - - - - - Returns true if there is a component registered - for the specified service - - - - - - - Returns all registered. - - - - - - Return s where components are compatible - with the specified service. - - - - - - - Returns the associated with - the specified name. - - - - - - - Returns the associated with - the specified service. - - - - - Returns an array of associated with - the specified service. - - - - - - - Implementors should register the with all its exposes. - The handler should also be accessible via unique of its . - - - Thrown if the of 's is not unique and a handler with the same name has already been registered. - - - - Returns the number of components registered. - - - - - Map(String, IHandler) to map component names to Items in this dictionary are sorted in insertion order. - - - - - Map(Type, IHandler) to map a service to . If there is more than a single service of the type, only the first registered services is stored in this dictionary. It serve as a fast lookup for the common case of having a single handler for a type. - - - - - Implementors of this interface allow to extend the way the container perform - component resolution based on some application specific business logic. - - - This is the sibling interface to . - This is dealing strictly with root components, while the is dealing with - dependent components. - - - - - Whatever the selector has an opinion about resolving a component with the - specified service and key. - - The service key - can be null - The service interface that we want to resolve - - - - Select the appropriate handler from the list of defined handlers. - The returned handler should be a member from the array. - - The service key - can be null - The service interface that we want to resolve - The defined handlers - The selected handler, or null - - - - Pendent - - - - - An implementation of a should - be able to return instances of - for a given resource identifier. - - - - - Holds the keys used by Kernel to register/request - a subsystem. - - - - - Key used for the configuration store subsystem - - - - - Key used for the conversion manager - - - - - Key used for the diagnostics subsystem - - - - - Key used for the naming subsystem - - - - - Key used for the resource subsystem - - - - - Implementation of . - Do not support configuration inheritance. - - - - - Interpreter of a specific language to describe - configuration nodes in a hierarchical manner. - - - - - Should obtain the contents from the resource, - interpret it and populate the - accordingly. - - - - - - - - Gets or sets the name of the environment. - - The name of the environment. - - - - Exposes the reference to - which the interpreter is likely to hold - - - - - Provides common methods for those who wants - to implement - - - - - Should obtain the contents from the resource, - interpret it and populate the - accordingly. - - - - - - - - Exposes the reference to - which the interpreter is likely to hold - - - - - - Gets or sets the name of the environment. - - The name of the environment. - - - - Reads the configuration from a XmlFile. Sample structure: - - <configuration> - <facilities> - <facility id="myfacility"> - - </facility> - </facilities> - - <components> - <component id="component1"> - - </component> - </components> - </configuration> - - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The filename. - - - - Initializes a new instance of the class. - - The source. - - - - Initializes a new instance of the class. - - Name of the environment. - - - - Initializes a new instance of the class. - - Name of the environment. - The resource sub system. - - - - Processes the element. - - The element. - - - - - Processes the element. - - The element. - - - - - Make a shallow copy of the nodeList. - - The nodeList to be copied. - - - - - Accepts the specified node. - Check if node has the same name as the processor and the node.NodeType - is in the AcceptNodeTypes List - - The node. - - - - - Convert and return child parameter into an XmlElement - An exception will be throw in case the child node cannot be converted - - Parent node - Node to be converted - child node as XmlElement - - - - - - - - - - - attributeValue - - propertyValue - - - - - - - Processes the specified node list. - - The node list. - The engine. - - - - Processes element attributes. - if the attribute is include will append to the element - all contents from the file. - if the attribute has a property reference the reference will be - expanded - - The element. - - - - - Properties names can contain a-zA-Z0-9_. - i.e. #!{ my_node_name } || #{ my.node.name } - spaces are trimmed - - - - - Processes the string. - - The node. - The value. - The context. - - - - Accepts the specified node. - Check if node has the same name as the processor and the node.NodeType - is in the AcceptNodeTypes List - NOTE: since the BatchRegistrationFacility already uses an include - element we will distinguish between both by looking for the presence of an uri attribute - we should revisit this later by using xml-namespaces - - The node. - - - - - - - - - - - - attributeValue - - propertyValue - - - - - - - Pendent - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - Name of the environment. - The resource sub system. - - - - Initializes a new instance of the class. - - - - - Collects all handlers for components in hosting container. - - - - - Base inteface for exposing diagnostic information about container, its components and extensions - - - - - - Collects specified diagnostic information. - - - - - - Collects all handlers for components in hosting container grouped by services they expose. - Within the service group, first one would be the default (the one obtained when callling for the service type) - - - - - Hosts different diagnostics available in the container. - - - - - Adds and makes it available as . - - - Thrown when a diagnostic for - - has already been added. - - - - - Returns diagnostic registered with or null if not present. - - - - - - - Stupid name, but debugger views in Visual Studio display items in alphabetical order so if we want - to have that item on top its name must be alphabetically before - - - - - Collects dependencies that are duplicated between constructors and properties. - - - - - Detects components that are not extending Windsor's infrastructure yet depend on the container which usually means they use the container as service locator - which is a bad practice and should be avoided. Consult the documentation for more details: http://j.mp/WindsorSL - - - - - Exposes diagnostics about itself to the . - - Usually simple type containing information provided to the . - - Can be implemented by any type constituting part of container infrastructure. Should have a matching registred in the container that knows - how to find it and that prepares information from it for consumption. - - - - - Collects for the and calls if any data available. - - - pass-through context. Used by the inspector. - - - - Gets the environment information (name). Implementors should - use to define their environments and how those affect the configuration. - - - - - Gets the name of the environment. - - - - - - Installs all the components from the App.Config file. - - - - - - Installs all the component from the xml configuration. - - The xml configuration resource. - - - - - Installs all the component from the xml configuration file. - - The xml configuration file. - - - - - Delegate to provide environment name. - - The environment name. - - - - Initializes a new instance of the ConfigurationInstaller class. - - - - - Sets the configuration environment name. - - The environment name. - - - - - Set the configuration environment strategy. - - The environment strategy. - - - - - Default implementation. - - - - - Installs the components and facilities based on the - information on the configuration store. - - - - - Perform installation. - - Target container - Configuration store - - - - Perform installation. - - Target container - Configuration store - - - - Scans the assembly containing specified type for types implementing , instantiates them and returns so that can - install them. - - - - - - Scans the assembly containing specified type for types implementing , instantiates using given and returns so that - can install them. - - - - - - Scans the assembly containing specified type for types implementing , instantiates them and returns so that can - install them. - - - - - - Scans the assembly containing specified type for types implementing , instantiates using given and returns so that - can install them. - - - - - - Scans assemblies in directory specified by for types implementing , instantiates and returns so that - can install them. - - - - - - - Scans assemblies in directory specified by for types implementing , instantiates using given and - returns so that can install them. - - - - - - - - Scans current assembly and all refernced assemblies with the same first part of the name for types implementing , instantiates and returns so that - can install them. - - - - Assemblies are considered to belong to the same application based on the first part of the name. For example if the method is called from within MyApp.exe and MyApp.exe references - MyApp.SuperFeatures.dll, mscorlib.dll and ThirdPartyCompany.UberControls.dll the MyApp.exe and MyApp.SuperFeatures.dll will be scanned for installers, and other - assemblies will be ignored. - - - - - Scans current assembly and all refernced assemblies with the same first part of the name for types implementing , instantiates using given - and returns so that can install them. - - - - - Assemblies are considered to belong to the same application based on the first part of the name. For example if the method is called from within MyApp.exe and MyApp.exe references - MyApp.SuperFeatures.dll, mscorlib.dll and ThirdPartyCompany.UberControls.dll the MyApp.exe and MyApp.SuperFeatures.dll will be scanned for installers, and other - assemblies will be ignored. - - - - - Scans the specified assembly with specified name for types implementing , instantiates them and returns so that can - install them. - - - - - - Scans the specified assembly with specified name for types implementing , instantiates using given and returns so that - can install them. - - - - - - Scans the assembly with specified name for types implementing , instantiates them and returns so that can install - them. - - - - - - Scans the assembly with specified name for types implementing , instantiates using given and returns so that - can install them. - - - - - - Scans assembly that contains code calling this method for types implementing , instantiates them and returns so that - can install them. - - - - - - Scans assembly that contains code calling this method for types implementing , instantiates using given and returns so that - can install them. - - - - - - Helper class used by to filter/order and instantiate implementations - - - - - Performs custom instantiation of given - - - Default implementation uses public parameterless constructor to create the instance. - - - - - Performs custom filtering/ordering of given set of types. - - Set of concrete class types implementing interface. - Transformed . - - Default implementation simply returns types passed into it. - - - - - The IWindsorContainer interface exposes all the - functionality the Windsor implements. - - - - - Registers a subcontainer. The components exposed - by this container will be accessible from subcontainers. - - - - - - Registers a facility within the container. - - The to add to the container. - - - - Creates and adds an facility to the container. - - The facility type. - - - - - Creates and adds an facility to the container. - - The facility type. - The callback for creation. - - - - - Gets a child container instance by name. - - The container's name. - The child container instance or null - - - - Runs the so that they can register components in the container. For details see the documentation at http://j.mp/WindsorInstall - - - In addition to instantiating and passing every installer inline you can use helper methods on class to automatically instantiate and run your installers. - You can also use class to install components and/or run aditional installers specofied in a configuration file. - - The container. - - - container.Install(new YourInstaller1(), new YourInstaller2(), new YourInstaller3()); - - - - - container.Install(FromAssembly.This(), Configuration.FromAppConfig(), new SomeOtherInstaller()); - - - - - - Registers the components with the . The instances of are produced by fluent registration API. - Most common entry points are method to register a single type or (recommended in most cases) - . - Let the Intellisense drive you through the fluent API past those entry points. For details see the documentation at http://j.mp/WindsorApi - - - - container.Register(Component.For<IService>().ImplementedBy<DefaultService>().LifestyleTransient()); - - - - - container.Register(Classes.FromThisAssembly().BasedOn<IService>().WithServiceDefaultInterfaces().Configure(c => c.LifestyleTransient())); - - - The component registrations created by , or different entry method to the fluent API. - The container. - - - - Releases a component instance - - - - - - Remove a child container - - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the service - - - - - - - Returns a component instance by the service - - - - - - - - Returns a component instance by the service - - - - - - - - Returns a component instance by the service - - Service type - The component instance - - - - Returns a component instance by the service - - Service type - - The component instance - - - - Returns a component instance by the service - - Service type - - The component instance - - - - Returns a component instance by the key - - Component's key - Service type - The Component instance - - - - Returns a component instance by the key - - Service type - Component's key - - The Component instance - - - - Returns a component instance by the key - - Service type - Component's key - - The Component instance - - - - Returns a component instance by the key - - - - - - - - - Returns a component instance by the key - - - - - - - - - Resolve all valid components that match this type. - - The service type - - - - Resolve all valid components that match this service - the service to match - - - - - Resolve all valid components that match this service - the service to match - Arguments to resolve the service - - - - - Resolve all valid components that match this service - the service to match - Arguments to resolve the service - - - - - Resolve all valid components that match this type. - The service type - Arguments to resolve the service - - - - - Resolve all valid components that match this type. - The service type - Arguments to resolve the service - - - - - Registers a facility within the container. - - The key by which the gets indexed. - The to add to the container. - - - - Creates and adds an facility to the container. - - The facility type. - - - - - - Creates and adds an facility to the container. - - The facility type. - - The callback for creation. - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the key - - - - - - - - Returns the inner instance of the MicroKernel - - - - - Gets the container's name - - - Only useful when child containers are being used - - The container's name. - - - - Gets or sets the parent container if this instance - is a sub container. - - - - - This interface should be implemented by classes - that are available in a bigger context, exposing - the container to different areas in the same application. - - For example, in Web application, the (global) HttpApplication - subclasses should implement this interface to expose - the configured container - - - - - - Obtains the interceptors associated with the component. - - The kernel instance - The component model - The creation context - interceptors array - - - - This implementation of relies - on DynamicProxy to expose proxy capabilities. - - - Note that only virtual methods can be intercepted in a - concrete class. However, if the component - was registered with a service interface, we proxy - the interface and the methods don't need to be virtual, - - - - - Constructs a DefaultProxyFactory - - - - - Creates the proxy for the supplied component. - - The kernel. - The target. - The model. - The constructor arguments. - The creation context - The component proxy. - - - - Determines if the component requires a target instance for proxying. - - The kernel. - The model. - true if an instance is required. - - - - Implementation of - which delegates to implementation. - - - - - Constructs a container without any external - configuration reference - - - - - Constructs a container using the specified - implementation. - - The instance of an implementation. - - - - Constructs a container using the specified - implementation. - - The instance of an implementation. - - - - Initializes a new instance of the class. - - The interpreter. - The environment info. - - - - Initializes a new instance of the class using a - resource pointed to by the parameter. That may be a file, an assembly embedded resource, a UNC path or a config file section. - - Equivalent to the use of new WindsorContainer(new XmlInterpreter(configurationUri)) - - - The XML file. - - - - Constructs a container using the specified - implementation. Rarely used. - - - This constructs sets the Kernel.ProxyFactory property to - Proxy.DefaultProxyFactory - - Kernel instance - Installer instance - - - - Constructs a container using the specified - implementation. Rarely used. - - - This constructs sets the Kernel.ProxyFactory property to - Proxy.DefaultProxyFactory - - Container's name - Kernel instance - Installer instance - - - - Constructs with a given . - - A instance of an . - - - - Constructs a container assigning a parent container - before starting the dependency resolution. - - The instance of an - The instance of an implementation - - - - Initializes a new instance of the class. - - The container's name. - The parent. - The interpreter. - - - - Executes Dispose on underlying - - - - - Registers a subcontainer. The components exposed - by this container will be accessible from subcontainers. - - - - - - Registers a facility within the container. - - - - - - Creates and adds an facility to the container. - - The facility type. - - - - - Creates and adds an facility to the container. - - The facility type. - The callback for creation. - - - - - Gets a child container instance by name. - - The container's name. - The child container instance or null - - - - Runs the so that they can register components in the container. For details see the documentation at http://j.mp/WindsorInstall - - - In addition to instantiating and passing every installer inline you can use helper methods on class to automatically instantiate and run your installers. - You can also use class to install components and/or run aditional installers specofied in a configuration file. - - The container. - - - container.Install(new YourInstaller1(), new YourInstaller2(), new YourInstaller3()); - - - - - container.Install(FromAssembly.This(), Configuration.FromAppConfig(), new SomeOtherInstaller()); - - - - - - Registers the components with the . The instances of are produced by fluent registration API. - Most common entry points are method to register a single type or (recommended in most cases) - . - Let the Intellisense drive you through the fluent API past those entry points. For details see the documentation at http://j.mp/WindsorApi - - - - container.Register(Component.For<IService>().ImplementedBy<DefaultService>().LifestyleTransient()); - - - - - container.Register(Classes.FromThisAssembly().BasedOn<IService>().WithServiceDefaultInterfaces().Configure(c => c.LifestyleTransient())); - - - The component registrations created by , or different entry method to the fluent API. - The container. - - - - Releases a component instance - - - - - - Removes (unregisters) a subcontainer. The components exposed by this container - will no longer be accessible to the child container. - - - - - - Returns a component instance by the service - - - - - - - - Returns a component instance by the service - - - - - - - - Returns a component instance by the service - - - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the key - - - - - - - - - Returns a component instance by the key - - - - - - - - - Returns a component instance by the service - - - - - - - - Returns a component instance by the service - - - - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the service - - - - - - - Returns a component instance by the key - - - - - - - Resolve all valid components that match this type. - - The service type - - - - Resolve all valid components that match this type. - The service type - Arguments to resolve the service - - - - - Resolve all valid components that match this type. - The service type - Arguments to resolve the service - - - - - Registers a facility within the container. - - - - - - - Creates and adds an facility to the container. - - The facility type. - - - - - - Creates and adds an facility to the container. - - The facility type. - - The callback for creation. - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the key - - - - - - - - Returns the inner instance of the MicroKernel - - - - - Gets the container's name - - - Only useful when child containers are being used - - The container's name. - - - - Gets or sets the parent container if this instance - is a sub container. - - - - - Implementation of and that uses a or as its component's source. - - - - diff --git a/packages/Castle.Windsor.3.2.0/lib/net45/Castle.Windsor.dll b/packages/Castle.Windsor.3.2.0/lib/net45/Castle.Windsor.dll deleted file mode 100644 index 3f39517..0000000 Binary files a/packages/Castle.Windsor.3.2.0/lib/net45/Castle.Windsor.dll and /dev/null differ diff --git a/packages/Castle.Windsor.3.2.0/lib/net45/Castle.Windsor.xml b/packages/Castle.Windsor.3.2.0/lib/net45/Castle.Windsor.xml deleted file mode 100644 index a753c8c..0000000 --- a/packages/Castle.Windsor.3.2.0/lib/net45/Castle.Windsor.xml +++ /dev/null @@ -1,7817 +0,0 @@ - - - - Castle.Windsor - - - - - Attempts to dynamically load a UserControl by invoking Page.LoadControl. There are two uses of this class. - 1) Add a component to the Kernel and add a VirtualPath attribute specifying the relative path of the .ascx file for the associated UserControl. (easy) - - - <component id="BasketView" - service="Castle.ShoppingCart.IBasketView, Castle.ShoppingCart" - type="Castle.ShoppingCart.BasketView, Castle.ShoppingCart" - lifestyle="transient" - virtualPath="~/Views/BasketView.ascx" - /> - - - 2) Precompile a UserControl and add the pre-compiled class to the Kernel. (hard) Has not been tested with proxies. - - - - - Standard implementation of . Handles the selection of the best constructor, fills the writable properties the component exposes, run the commission and - decommission lifecycles, etc. - - - Custom implementors can just override the CreateInstance method. Please note however that the activator is responsible for the proxy creation when needed. - - - - - Abstract implementation of . The implementors must only override the InternalCreate and InternalDestroy methods in order to perform their creation and destruction - logic. - - - - - Implements the instance creation logic. The default - implementation should rely on an ordinary call to - Activator.CreateInstance(). - - - This interface is provided in order to allow custom components - to be created using a different logic, such as using a specific factory - or builder. - - The constructor for implementation has the following signature: - - - ComponentModel model, IKernel kernel, - ComponentInstanceDelegate onCreation, - ComponentInstanceDelegate onDestruction - - - The Activator should raise the events onCreation and onDestruction - in order to correctly implement the contract. Usually the best - way of creating a custom activator is by extending the existing ones. - - - - - - - - Should return a new component instance. - - - - - - Should perform all necessary work to dispose the instance - and/or any resource related to it. - - - - - - Constructs an AbstractComponentActivator - - - - - Initializes a new instance of the class. - - - - - - - - - Initializes a new instance of the class. - - The model. - The kernel. - The on creation. - The on destruction. - - - - Creates the instance. - - The context. - - The arguments. - - - - - Indicates that the target components wants instance lifetime and reuse scope to be bound to another component further up the object graph. - Good scenario for this would be unit of work bound to a presenter in a two tier MVP application. - The attribute must point to a type - having default accessible constructor and public method matching signature of Func<IHandler[], IHandler> delegate. - - - - - Base for Attributes that want to express lifestyle - chosen by the component. - - - - - Initializes a new instance of the class. - - The type. - - - - Gets or sets the lifestyle. - - The lifestyle. - - - - Initializes a new instance of the class. - - type having default accessible constructor and public method matching signature of Func<IHandler[], IHandler> delegate. The method will be used to pick of the component current instance should be bound to. - - - - type having default accessible constructor and public method matching signature of Func<IHandler[], IHandler> delegate. The method will be used to pick of the component current instance should be bound to. - - - - - Represents a dependency (other component or a - fixed value available through external configuration). - - - - - Initializes a new instance of the class. - - The dependency key. - Type of the target. - if set to true [is optional]. - - - - Returns a that represents the current . - - A that represents the current . - - - - The default value of this dependency. Note that null is a valid default value. Use to determine whether default value was provided. - - - - - Gets or sets the dependency key. - - The dependency key. - - - - Specifies whether dependency has a default value (). Note that null is a valid default value. - - - - - Gets or sets whether this dependency is optional. - - true if this dependency is optional; otherwise, false . - - - - Gets the service type of the dependency. - This is the same type as or if is by ref, - then it's the element type of the reference. (in other words if dependency - is out IFoo foo this will be IFoo, while will be &IFoo); - - - - - Gets the type of the target. - - The type of the target. - - - Indicates that the target components wants a custom lifestyle. - - - - Initializes a new instance of the class. - - The custom lifestyle type. - - - - Marks as constructor to be skipped and not be selected - by the IoC container during new component activation - - - - - This attribute is useful only when you want to register all components - on an assembly as a batch process. - By doing so, the batch register will look - for this attribute to distinguish components from other classes. - - - - - Associates a custom activator with a component - - - - - Initializes a new instance of the class. - - Type of the component activator. - - - - Gets the type of the component activator. - - The type of the component activator. - - - - Gets the default name for component implemented by which will be used in case when user does not provide one explicitly. - - - - - - - Gets the default name for component implemented by which will be used in case when user does not provide one explicitly. - - - - - - - Specifies the proxying behavior for a component. - - - - - Gets or sets a value indicating whether the generated - interface proxy should inherit from . - - - - - Gets or sets the additional interfaces used during proxy generation. - - - - - Marks as property to be skipped and not be wired - by the IoC container - - - - - Represents a concern that will be applied to a component instance - during commission phase (right after component instance is activated). - - - - - Implementors should act on the instance in response to - a commission phase. - - The model. - The component. - - - - Represents a concern that will be applied to a component instance - during decommission phase (right before component instance is destroyed). - - - - - Implementors should act on the instance in response to - a decommission phase. - - The model. - The component. - - - - Lifecycle interface. If implemented by a component, - the method Initialized will be invoked by the container - before making the component available to the external world. - - - - - Implementors should perform any initialization logic. - - - - - Used to declare that a component wants interceptors acting on it. - Out of the box recognized only if applied on component's implementation class. - - - - - Constructs the InterceptorAttribute pointing to a key to a interceptor - - - - - - Constructs the InterceptorAttribute pointing to a service - - - - - - Simple type for thread safe adding/reading to/from keyed store. The difference between this and built in concurrent dictionary is that in this case adding is happening under a lock so never more than one thread will be adding at a time. - - - - - - - Returns all values and clears the dictionary - - - - - - Performs string comparison using - - - - - - - - 0 == false, 1 = =true - - - - - Signals (sets) the flag. - - true if the current thread signaled the flag, false if some other thread signaled the flag before. - - - - Marker class used to denote components that have late bound type - That is the actual type is not known exactly at the time when - is created. Those are for example components instantiated via abstract factory. - - - - - If the extended type is a Foo[] or IEnumerable{Foo} which is assignable from Foo[] this method will return typeof(Foo) - otherwise null. - - - - - - - Checkis if given is a primitive type or collection of primitive types. Value types, are considered primitive and can not be registered as components in Windsor - - - - - - - Checkis if given is a primitive type. Value types and are considered primitive and can not be registered as components in Windsor - - - - - - - Calls and if a generic constraint is violated returns null instead of throwing . - - - - - - - - Enumeration used to mark the component's lifestyle. - - - - - No lifestyle specified. - - - - - Singleton components are instantiated once, and shared - between all clients. - - - - - Thread components have a unique instance per thread. - - - - - Transient components are created on demand. - - - - - Optimization of transient components that keeps - instance in a pool instead of always creating them. - - - - - PerWebRequest components are created once per Http Request - - - - - Any other logic to create/release components. - - - - - Instances are reused within the scope provided. - - - - - Instance lifetime and reuse scope is bound to another component further up the object graph. - Good scenario for this would be unit of work bound to a presenter in a two tier MVP application. - When specified in xml a scopeRootBinderType attribute must be specified pointing to a type - having default accessible constructor and public method matching signature of Func<IHandler[], IHandler> delegate. - - - - - Indicates that the target components wants a - per thread lifestyle. - - - - - Initializes a new instance of the class. - - - - - Indicates that the target components wants a - per web request lifestyle. - - - - - Indicates that the target components wants a - pooled lifestyle. - - - - - Initializes a new instance of the class - using the default initial pool size (5) and the max pool size (15). - - - - - Initializes a new instance of the class. - - Initial size of the pool. - Max pool size. - - - - Gets the initial size of the pool. - - The initial size of the pool. - - - - Gets the maximum pool size. - - The size of the max pool. - - - - Specifies rules for designating settable properties on a component as dependencies, and controlling whether they are requred or not. - This is a shortcut for most common scenarios. More advanced/custom scenarios can be defined dynamically in the registration API. - - - - - Takes no action. By default that means all settable properties will be exposed as optional dependencies. - - - - - Makes all property dependencies required. - - - - - Makes all property dependencies defined at a base class/interfaces level required. - - - - - Makes all properties ignored. - - - - - Ignores all properties defined at a base class/interface level. - - - This option is particularily useful in scenarios like UI controls which in .NET UI frameworks tend to have byzantine inheritance hierarchies. - - - - - Indicates that the target components wants a - per thread lifestyle. - - - - - Initializes a new instance of the class. - - - - - Indicates that the target components wants a - singleton lifestyle. - - - - - Initializes a new instance of the class. - - - - - Indicates that the target components wants a - transient lifestyle. - - - - - Initializes a new instance of the class. - - - - - Implementors must inspect the component for - a given information or parameter. - - - - - Usually the implementation will look in the configuration property - of the model or the service interface, or the implementation looking for - something. - - The kernel instance - The component model - - - - Selects one or both of component name and type, for given method - called on given typed factory type. - When component should be requested by type only, - componentName should be null. - When component should be requested by name only, - componentType should be null. - - - - - - - - If set to true, all methods with names like 'GetSomething' will try to resolve by name component 'something'. Defaults to true. - If set to true, will fallback to resolving by type, if can not find component with specified name. This property is here for backward compatibility. It is recommended not to use it. Defaults to false. - - - - Builds for given call. - By default if is a collection - returns factory calling on collection's item type, - otherwise standard . - - - - - - - - - - Selects arguments to be passed to resolution pipeline. - By default passes all given - keyed by names of their corresponding parameters. - - - - - - - - Selects name of the component to resolve. - If Name is GetFoo returns "Foo", otherwise null. - - - - - - - - Selects type of the component to resolve. Uses return type. - - - - - - - - If set to true, will fallback to resolving by type, if can not find component with specified name. This property is here for backward compatibility. It is recommended not to use it. - - - - - If set to true, all methods with names like 'GetSomething' will try to resolve by name component 'something'. - - - - - Implemented by which don't necessarily need dependencies from the container to activate new instances of the component. - - - - - Should return true if the activator can provide dependencies for the . - - - - - - - Should return true if the activated instances of the are managed externally to the container. That means container will not try to track the objects in . - - - - - - - Provides lazy registration capabilities to the container. - - - When a component is requested from a container and it was not registered, - container loads up all registered implementers of this interface and asks - them in turn whether they can provide that component, until it finds one that will. - - - - - Used by container to allow the loader to register component for given and to the container at the time when it is requested - - Name of the requested component or null - Type of requested service or null - User supplied arguments or null - Registration that registers component for given key and/or service or null. - - While either key or service can be null reference it is guaranteed that at least one of them will not be null. - When implementer opts in to provide the requested component (by returning not-null registration) it is required - to register component for requested key/service combination (when one of the elements is null, it should be ignored as well). - When implementer does not want to register the requested component it must return null. - - - - - Specifies default configuration for a typed factory. All Selector* properties are mutually exclusive, that is you're only meant to set one. - - - - - Specifies component to use as selector for given factory. This works like any named service override. - - - - - Specifies component to use as selector for given factory. This works like any typed service override. - - - - - Specifies type of the selector to use for given factory. The type will be instantiated using default constructor. It must implement - - - - - Exception thrown whe a component could not be activated. THis should come from the component activator. - - - - - Exception thrown when resolution process for a component was unsuccessful at some point for whatever reason. - - - - - If - true - requires release by - - . If - false - , the object has a well defined, detectable end of life (web-request end, disposal of the container etc), and will be released externally. - - - - - Represents collection of arguments used when resolving a component. - - - - - Exception thrown when component has no resolvable constructor that can be used to create an instance. - - - - - Possible states for a IHandler instance - - - - - The component can be requested - - - - - The component can not be requested - as it still depending on a external - dependency not yet available - - - - - Inspects missings dependencies in the container. Default implementation is used to - construct helpful message for exceptions and debugger views, but other implementations - are also possible if needed. - - - - - Summary description for DefaultHandler. - - - - - Implements the basis of - - - - - Contract for the IHandler, which manages an - component state and coordinates its creation - and destruction (dispatching to activators, lifestyle managers) - - - - - Implementors should use a strategy to obtain - valid references to properties and/or services - requested in the dependency model. - - - - - Returns true if the resolver is able to satisfy this dependency. - - Creation context, which is a resolver itself - Parent resolver - normally the IHandler implementation - Model of the component that is requesting the dependency - The dependency model - true if the dependency can be satisfied - - - - Should return an instance of a service or property values as - specified by the dependency model instance. - It is also the responsibility of - to throw an exception in the case a non-optional dependency - could not be resolved. - - Creation context, which is a resolver itself - Parent resolver - normally the IHandler implementation - Model of the component that is requesting the dependency - The dependency model - The dependency resolved value or null - - - - Initializes the handler with a reference to the - kernel. - - - - - - Tests whether the handler is already being resolved in given context. - - - - - Implementors should dispose the component instance - - - true if destroyed. - - - - Implementors should return a valid instance - for the component the handler is responsible. - It should throw an exception in the case the component - can't be created for some reason - - - - - - Returns true if this handler supports - - - - - - - Implementors should return a valid instance - for the component the handler is responsible. - It should return null in the case the component - can't be created for some reason. No exception should be thrown. - - - - - - Gets the model of the component being - managed by this handler. - - - - - Gets the state of the handler - - - - - Might be implemented by a handler - so it can expose access to dependency information - which is used to construct meaningful error messages - - - - - Informs the about missing dependencies. - Implementers should ignore the call if no dependencies are missing and - call back the inspector with the information required otherwise - - - - - - Dictionary of key (string) to - - - - - Constructs and initializes the handler - - - - - - Should be implemented by derived classes: disposes the component instance (or recycle it) - - - true if destroyed. - - - - Returns an instance of the component this handler is responsible for - - - when false , handler can not create valid instance and return null instead - - - - - Saves the kernel instance, subscribes to event, creates the lifestyle manager instance and computes the handler state. - - - - - - disposes the component instance (or recycle it). - - - - - - - Returns an instance of the component this handler is responsible for - - - - - - - Invoked by in order to check if a dependency can be satisfied. If not, the handler is set to a 'waiting dependency' state. - - - This method registers the dependencies within the correct collection or dictionary and changes the handler state to - - - - - - Invoked by the kernel when one of registered dependencies were satisfied by new components registered. - - - Handler for the event - - - - - - Invoked when the container receives a parent container reference. - - - This method implementation checks whether the parent container is able to supply the dependencies for this handler. - - - - - - - Gets the component model. - - - - - Gets the handler state. - - - - - Lifestyle manager instance - - - - - Initializes a new instance of the - - class. - - - - - - disposes the component instance (or recycle it) - - - true if destroyed - - - - Returns an instance of the component this handler - is responsible for - - - - - - - - - - Lifestyle manager instance - - - - - Thrown when can't create proper closed version of itself due to violation of generic constraints. - - - - - Summary description for HandlerException. - - - - - Initializes a new instance of the class. - - The message. - - - - - Initializes a new instance of the class. - - The message. - - - - - - Initializes a new instance of the class. - - The object that holds the serialized object data. - The contextual information about the source or destination. - - - - Initializes a new instance of the class. - - The message. - - - - - Initializes a new instance of the class. - - The message. - - - - - - Initializes a new instance of the class. - - The object that holds the serialized object data. - The contextual information about the source or destination. - - - - Used during a component request, passed along to the whole process. - This allow some data to be passed along the process, which is used - to detected cycled dependency graphs and now it's also being used - to provide arguments to components. - - - - - The list of handlers that are used to resolve - the component. - We track that in order to try to avoid attempts to resolve a service - with itself. - - - - - Initializes a new instance of the class. - - The type to extract generic arguments. - The parent context. - When set to true will clone . - - - - Initializes a new instance of the class. - - The handler. - The release policy. - The type to extract generic arguments. - The additional arguments. - The conversion manager. - Parent context - - - - Initializes a new instance of the class. - - - - - Method used by handlers to test whether they are being resolved in the context. - - - - - This method is provided as part of double dispatch mechanism for use by handlers. - Outside of handlers, call instead. - - - - - Creates a new, empty instance. - - - A new CreationContext should be created every time, as the contexts keeps some state related to dependency resolution. - - - - - Default implementation of . This implementation is complete and also support a kernel hierarchy (sub containers). - - - Default implementation of . - This implementation is complete and also support a kernel - hierarchy (sub containers). - - - - - The IKernel interface exposes all the functionality - the MicroKernel implements. - - - It allows you to register components and - request them by their name or the services they expose. - It also allow you to register facilities and subsystem, thus - augmenting the functionality exposed by the kernel alone to fit - your needs. - - - - - - - Summary description for IKernelEvents. - - - - - Event fired when a new component is registered - on the kernel. - - - - - Event fired after the ComponentModel is created. - Allows customizations that may affect the handler. - - - - - Event fired when the kernel was added as child of - another kernel. - - - - - Event fired when the kernel was removed from being a child - of another kernel. - - - - - Event fired before the component is created. - - - - - Event fired when a component instance destroyed. - - - - - Event fired when a new handler is registered - (it might be in a valid or waiting dependency state) - - - - - Event fired when a new handler is registered - (it might be in a valid or waiting dependency state) - - - - - Event fired when a dependency is being resolved, - it allows the dependency to be changed, - but the client ComponentModel must not be changed. - - - - - Event fired when registration / installation process is completed. - That is when container is about to exit method. This event is raised once regardless of how many components were registered. - If the is called by the event is raised when that method exits. - - - - - Event fired when a collection is being resolved (via or another overload) and the collection is empty. - Implementors would usually log that fact or potentially throw an exception (especially in development). - - - - - Support for kernel hierarchy - - - - - - Adds a to the kernel. - - - - - - - Creates and adds an facility to the kernel. - - The facility type. - - - - - Creates and adds an facility to the kernel. - - The facility type. - The callback for creation. - - - - - Register a new component resolver that can take part in the decision - making about which handler to resolve - - - - - Register a new component resolver that can take part in the decision - making about which handler(s) to resolve and in which order - - - - - Adds (or replaces) an - - - - - - - Return handlers for components that - implements the specified service. - The check is made using IsAssignableFrom - - - - - - - Returns the facilities registered on the kernel. - - - - - - Returns the - for the specified component name. - - - - - - - Returns the - for the specified service. - - - - - - - Return handlers for components that - implements the specified service. - - - - - - - Returns an implementation of - for the specified name. - - - - - - - - Returns true if a component with given was registered, otherwise false. - - - - - - - Returns true if the specified service was registered - - - - - - - Registers the components with the . The instances of are produced by fluent registration API. - Most common entry points are method to register a single type or (recommended in most cases) - . - Let the Intellisense drive you through the fluent API past those entry points. For details see the documentation at http://j.mp/WindsorApi - - - - kernel.Register(Component.For<IService>().ImplementedBy<DefaultService>().LifestyleTransient()); - - - - - kernel.Register(Classes.FromThisAssembly().BasedOn<IService>().WithServiceDefaultInterfaces().Configure(c => c.LifestyleTransient())); - - - The component registrations created by , or different entry method to the fluent API. - The kernel. - - - - Releases a component instance. This allows - the kernel to execute the proper decommission - lifecycles on the component instance. - - - - - - Remove child kernel - - - - - - Adds a to the kernel. - - - - - - - - Creates and adds an facility to the kernel. - - The facility type. - - - - - Creates and adds an facility to the kernel. - - The facility type. - - The callback for creation. - - - - Returns the component instance by the component key - using dynamic arguments - - Key to resolve - Arguments to resolve the services - - - - - Returns the component instance by the component key - using dynamic arguments - - - - - - - - Returns the component instance by the service type - - - - - Returns the component instance by the service type - using dynamic arguments - - - - - - - - Returns the component instance by the service type - using dynamic arguments - - Service to resolve - Arguments to resolve the services - - - - - Returns a component instance by the key - - - - - - - - Returns the component instance by the service type - using dynamic arguments - - - - - - - Returns the component instance by the service type - using dynamic arguments - - Arguments to resolve the services - - - - - Returns the component instance by the component key - - - - - - Returns a component instance by the key - - Component's key - Service type - The Component instance - - - - Returns a component instance by the key - - Service type - Component's key - - The Component instance - - - - Returns a component instance by the key - - - - - - - - - Returns all the valid component instances by - the service type - - The service type - - - - Returns all the valid component instances by - the service type - - The service type - Arguments to resolve the services - - - - Returns all the valid component instances by - the service type - - The service type - Arguments to resolve the services - - - - Returns component instances that implement TService - - - - - - - Returns component instances that implement TService - - - - - - - Returns component instances that implement TService - - - - - - - Returns the implementation of - - - - - Gets or sets the implementation of - - - - - Graph of components and interactions. - - - - - Returns the implementation of - - - - - Returns the parent kernel - - - - - Gets or sets the implementation of - allowing different strategies for proxy creation. - - - - - Gets or sets the implementation for - - - - - Returns the implementation for - - - - - Returns the component instance by the key - - - - - Returns the component instance by the service type - - - - - Extended contract of kernel, used internally. - - - - - Adds a custom made . Used by facilities. - - - - - - Constructs an implementation of for the given - - - - - - - Returns a component instance by the key - - - - - - - - - - Internal logger used by the container (not just implementation itself but also other classes too) to log information about what's happening in the container. - - - - - List of sub containers. - - - - - List of registered. - - - - - Map of subsystems registered. - - - - - The parent kernel, if exists. - - - - - Constructs a DefaultKernel with no component proxy support. - - - - - Constructs a DefaultKernel with the specified implementation of and - - - - - - - Constructs a DefaultKernel with the specified implementation of - - - - - Starts the process of component disposal. - - - - - Return handlers for components that implements the specified service. The check is made using IsAssignableFrom - - - - - - - Returns the facilities registered on the kernel. - - - - - - Return handlers for components that implements the specified service. - - - - - - - Registers the components with the . The instances of are produced by fluent registration API. Most common entry points are - method to register a single type or (recommended in most cases) . Let the Intellisense drive you through the - fluent - API past those entry points. For details see the documentation at http://j.mp/WindsorApi - - - kernel.Register(Component.For<IService>().ImplementedBy<DefaultService>().LifestyleTransient()); - - - kernel.Register(Classes.FromThisAssembly().BasedOn<IService>().WithServiceDefaultInterfaces().Configure(c => c.LifestyleTransient())); - - The component registrations created by , or different entry method to the fluent - API. - The kernel. - - - - Releases a component instance. This allows the kernel to execute the proper decommission lifecycles on the component instance. - - - - - - Creates an implementation of based on and invokes to initialize the newly created manager. - - - - - - - - It is the responsibility of the kernel to ensure that handler is only ever disposed once. - - - - - Returns the component instance by the component key - using dynamic arguments - - - - - - - - Returns the component instance by the component key - using dynamic arguments - - - - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the key - - - - - - - - - Returns the component instance by the service type - using dynamic arguments - - - - - - - Returns the component instance by the service type - using dynamic arguments - - - - - - - Returns the component instance by the component key - - - - - - Returns a component instance by the key - - Component's key - Service type - - The Component instance - - - - - Returns a component instance by the key - - Service type - Component's key - - - The Component instance - - - - - Returns the component instance by the service type - - - - - Returns the component instance by the service type - using dynamic arguments - - - - - - - - Returns the component instance by the service type - using dynamic arguments - - - - - - - - Returns all the valid component instances by - the service type - - The service type - - - - Returns all the valid component instances by - the service type - - The service type - - Arguments to resolve the services - - - - - Returns all the valid component instances by - the service type - - The service type - - Arguments to resolve the services - - - - - Returns component instances that implement TService - - - - - - - - Returns component instances that implement TService - - - - - - - - Returns component instances that implement TService - - - - - - - Returns a component instance by the key - - - - - - - - - - Graph of components and interactions. - - - - - Exception throw when a circular dependency is detected - - - - - Initializes a new instance of the - - class. - - The message. - - - - Initializes a new instance of the - - class. - - The message. - The inner exception. - - - - Initializes a new instance of the - - class. - - - - - - - Initializes a new instance of the - - class. - - The - - that holds the serialized object data about the exception being thrown. - The - - that contains contextual information about the source or destination. - The - - parameter is - - . - The class name is - - or - - is zero (0). - - - - Exception threw when a request for a component - cannot be satisfied because the component does not - exist in the container - - - - - Initializes a new instance of the - - class. - - The name. - Exception message. - - - - Initializes a new instance of the - - class. - - The service. - Exception message. - - - - Initializes a new instance of the - - class. - - The service. - - - - Initializes a new instance of the - - class. - - The object that holds the serialized object data. - The contextual information about the source or destination. - - - - Exception threw when there is a problem - registering a component - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The object that holds the serialized object data. - The contextual information about the source or destination. - - - - Implementation of this interface allows for extension of the way - the container looks up multiple handlers. It provides the necessary - hook to allow for business logic to prioritize, filter, and sort - handlers when resolving multiple handlers. - - - - - Whatever the selector has an opinion about resolving a component with the - specified service and key. - - The service interface that we want to resolve - - - - Select the appropriate handlers (if any) from the list of defined handlers, - returning them in the order they should be executed. - The returned handlers should members from the array. - - The service interface that we want to resolve - The defined handlers - The selected handlers, or an empty array, or null - - - - Exception threw by Kernel operations that failed - for some reason. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The message. - The inner exception. - - - - Initializes a new instance of the class. - - The object that holds the serialized object data. - The contextual information about the source or destination. - - - - Base class for facilities. - - - - - Unit of extension. A facility should use - the extension points offered by the kernel - to augment its functionality. - - - - - - - - - - - - - - - The custom initialization for the Facility. - - - It must be overridden. - - - - - Performs the tasks associated with freeing, releasing, or resetting - the facility resources. - - - It can be overriden. - - - - - Initializes the facility. First it performs the initialization common for all - facilities, setting the and the - . After it, the Init method is invoked - and the custom initilization is perfomed. - - - - - - - Terminates the Facility, invokes the method and sets - the Kernel to a null reference. - - - - - Gets the facility configuration. - - The representing - the facility configuration. - - - - Gets the where the facility is registered. - - The . - - - - Base exception to be used by facilities. - - - - - This method changes behavior of the facility. Deferred mode should be used when you - have single call to and register all your components there. - Enabling this mode will optimize the behavior of the facility so that it will wait 'till the end of - installation and only after all s were ran it will instantiate and - start all the startable components. An exception will be thrown if a startable component can't be - instantiated and started. This will help you fail fast and diagnose issues quickly. If you don't want - the exception to be thrown and you prefer the component to fail silently, use method instead. - - - It is recommended to use this method over method. - - - - - This method changes behavior of the facility. Deferred mode should be used when you - have single call to and register all your components there. - Enabling this mode will optimize the behavior of the facility so that it will wait 'till the end of - installation and only after all s were ran it will instantiate and - start all the startable components. No exception will be thrown if a startable component can't be - instantiated and started. If you'd rather fail fast and diagnose issues quickly, use method instead. - - - It is recommended to use method over this method. - - - - - For each new component registered, - some components in the WaitingDependency - state may have became valid, so we check them - - - - - Request the component instance - - - - - - Assigns the start method for the startable. - - - The start method. - - - Be sure that you first added the - to the kernel, before registering this component. - - - - - Assigns the start method for the startable. - - - Method to use. something like: StartUsingMethod(s => s.Start) - - - Be sure that you first added the - to the kernel, before registering this component. - - - - - Assigns the stop method for the startable. - - - The stop method. - - - Be sure that you first added the - to the kernel, before registering this component. - - - - - Assigns the stop method for the startable. - - - Method to use. something like: StartUsingMethod(s => s.Start) - - - Be sure that you first added the - to the kernel, before registering this component. - - - - - Legacy class from old impl. of the facility. Do not use it. - - - - - Legacy interceptor for old impl. of the facility. - - - - - Interceptors might implement this to receive the - ComponentModel on behalf of the component where the - interceptor is acting. - - - - - Represents a single component to be resolved via Typed Factory - - - - - Resolves the component(s) from given kernel. - - - - Resolved component(s). - - - - Provides automatically generated factories on top of interfaces or delegates that - you can use to pull components out of the container without ever referencing it - explicitly. - - - - - Marks the component as typed factory. - - - - - - Only interfaces and delegates are legal to use as typed factories. Methods with out parameters are not allowed. - When registering component as typed factory no implementation should be provided (in case there is any it will be ignored). - Typed factories rely on set internally, so users should not set interceptor selectors explicitly; - otherwise the factory will not function correctly. - - - - - Marks the component as typed factory. - - - - Name of the component to be used for this factory - - - Only interfaces and delegates are legal to use as typed factories. Methods with out parameters are not allowed. - When registering component as typed factory no implementation should be provided (in case there is any it will be ignored). - Typed factories rely on set internally, so users should not set interceptor selectors explicitly; - otherwise the factory will not function correctly. - - - - - Marks the component as typed factory. - - - - Type of the component to be used for this factory - - - Only interfaces and delegates are legal to use as typed factories. Methods with out parameters are not allowed. - When registering component as typed factory no implementation should be provided (in case there is any it will be ignored). - Typed factories rely on set internally, so users should not set interceptor selectors explicitly; - otherwise the factory will not function correctly. - - - - - Marks the component as typed factory. - - - - The instance to be used for this factory - - - Only interfaces and delegates are legal to use as typed factories. Methods with out parameters are not allowed. - When registering component as typed factory no implementation should be provided (in case there is any it will be ignored). - Typed factories rely on set internally, so users should not set interceptor selectors explicitly; - otherwise the factory will not function correctly. - - - - - Marks the component as typed factory. - - - - - - - Only interfaces and delegates are legal to use as typed factories. Methods with out parameters are not allowed. - When registering component as typed factory no implementation should be provided (in case there is any it will be ignored). - Typed factories rely on set internally, so users should not set interceptor selectors explicitly; - otherwise the factory will not function correctly. - - - - - Initializes a new instance of the class. - - The parent handler. - The child resolver. - Release policy of the parent container. - - - - Clone some of the parent componentmodel properties to the generic subhandler. - - - The following properties are copied: - - - The - - - - - - The - - - - - - the subhandler - - - - Extension point to allow the developer to use his implementation of - - - - - Represents a delegate which holds basic information about a component. - - Key which identifies the component - handler that holds this component and is capable of - creating an instance of it. - - - - - Represents a delegate which holds basic information about a component - and its instance. - - Component meta information - Component instance - - - - Represents a delegate which holds the information about the - component - - - - - Represents a delegate which holds the information about a service. - - - - - Represents a delegate which holds a handler - - handler that holds a component and is capable of - creating an instance of it. - - - - - - Represents a delegate which holds dependency - resolving information. - - - - - Abstract representation of a vertex. - - - - - The nodes that this node depends on - - - - - The node has not been visited yet - - - - - This node is in the process of being visited - - - - - This now was visited - - - - - Represents a collection of objects - which are guaranteed to be unique - and holds a color for them - - - - - Holds a timestamp (integer) - for a given item - - - - - Summary description for DisposalConcern. - - - - - Summary description for InitializationConcern. - - - - - Lifetime concern that works for components that don't have their actual type determined upfront - - - - - Lifetime concern that works for components that don't have their actual type determined upfront - - - - - Lifetime concern that works for components that don't have their actual type determined upfront - - - - - Summary description for SupportInitializeConcern. - - - - - Only called for components that - belongs to a pool when the component - comes back to the pool. - - - - - Implementors should perform any - initialization/clean up. - - - - - Interface for components that wish to be started and stopped by the container - - - - - Starts this instance. - - - - - Stops this instance. - - - - - Base implementation of - - - - - The ILifestyleManager implements - a strategy for a given lifestyle, like singleton, per-thread - and transient. - - - The responsibility of ILifestyleManager - is only the management of lifestyle. It should rely on - to obtain a new component instance - - - - - Initializes the ILifestyleManager with the - - - - - - - - - Implementors should release the component instance based - on the lifestyle semantic, for example, singleton components - should not be released on a call for release, instead they should - release them when disposed is invoked. - - - - - - Implementors should return the component instance based on the lifestyle semantic. - Also the instance should be set to , should be also set if needed - and if a new instance was created it should be passed on to of . - - - - - - - - Invoked when the container gets disposed. The container will not call it multiple times in multithreaded environments. - However it may be called at the same time when some out of band release mechanism is in progress. Resolving those potential - issues is the task of implementors - - - - - Provides access to held in whatever is appropriate for given scope. - - - Implementors should also ensure proper initialization of when accessed for the first time and ensure a thread safe implementation is used when scope or cache access can cause threading issues if non thread safe cache is used. - - - - - Provides access to for currently resolved component. - - Current creation context - Thrown when scope cache could not be accessed. - - - - Returns current request's scope and detaches it from the request context. - Does not throw if scope or context not present. To be used for disposing of the context. - - - - - - Manages a pool of objects. - - - - - Pool implementation contract. - - - - - Implementors should release the instance or put it - on the pool - - - - - Represents persistence mechanism for instances of components that are supposed to be reused within scope managing the cache. - - - - Saves or retrieves a stored in the cache associated with the given . - - - Thrown when is null. - - - Thrown when there is already a associated with given - - value in the cache. - - The interface gives no thread safety guarantees. When the scope can be accessed from multiple threads the implementor should ensure thread safety. - - - - Provides explicit lifetime scoping within logical path of execution. Used for types with . - - - The scope is passed on to child threads, including ThreadPool threads. The capability is limited to single and should be used cauciously as call to may occur while the child thread is still executing, what in turn may lead to subtle threading bugs. - - - - - Delegate used by to request a new instance to be created (that would be the first instance in that scope, subsequently reused). - - Callback which should be invoken by provided delegate right after isntance gets created and before it burden gets tracked. - The purpose if this callback is to include scope in decisions regarding tracking of the instance by . - Depending on the scope implementation it may or may not provide its own end of lifetime detection mechanism. - - - - - Contribute to component model before standard run. - - - - - - - Contribute to component model after standard run. - - - - - - - Contribute to component model after standard run. - - - - - - - Entry point to fluent way to register, by convention, multiple concrete (non-abstract) classes (that include also delegate types). Use static methods on the class to fluently build - registration. - - - - Prepares to register types from a list of types. - The list of types. - - The corresponding - - - - Prepares to register types from a list of types. - The list of types. - - The corresponding - - - - Prepares to register types from an assembly. - The assembly. - - The corresponding - - - - Prepares to register types from an assembly containing the type. - The type belonging to the assembly. - - The corresponding - - - - Prepares to register types from an assembly containing the type. - The type belonging to the assembly. - - The corresponding - - - - Prepares to register types from assemblies found in a given directory that meet additional optional restrictions. - - - - - Scans current assembly and all refernced assemblies with the same first part of the name. - - - Assemblies are considered to belong to the same application based on the first part of the name. For example if the method is called from within MyApp.exe and MyApp.exe references - MyApp.SuperFeatures.dll, mscorlib.dll and ThirdPartyCompany.UberControls.dll the MyApp.exe and MyApp.SuperFeatures.dll will be scanned for components, and other - assemblies will be ignored. - - - - Prepares to register types from an assembly. - The assembly name. - - The corresponding - - - - Prepares to register types from the assembly containing the code invoking this method. - - The corresponding - - - - - Entry point to fluent way to register, by convention, multiple types. No upfront filtering is done so literally every type will be considered. That means that usually some filtering done by user - will be required. For a most common case where non-abstract classes only are to be considered use class instead. Use static methods on the class to fluently build - registration. - - - - Prepares to register types from a list of types. - The list of types. - - The corresponding - - - - Prepares to register types from a list of types. - The list of types. - - The corresponding - - - - Prepares to register types from an assembly. - The assembly. - - The corresponding - - - - Prepares to register types from an assembly containing the type. - The type belonging to the assembly. - - The corresponding - - - - Prepares to register types from an assembly containing the type. - The type belonging to the assembly. - - The corresponding - - - - Prepares to register types from assemblies found in a given directory that meet additional optional restrictions. - - - - - Scans current assembly and all refernced assemblies with the same first part of the name. - - - Assemblies are considered to belong to the same application based on the first part of the name. For example if the method is called from within MyApp.exe and MyApp.exe references - MyApp.SuperFeatures.dll, mscorlib.dll and ThirdPartyCompany.UberControls.dll the MyApp.exe and MyApp.SuperFeatures.dll will be scanned for components, and other - assemblies will be ignored. - - - - Prepares to register types from an assembly. - The assembly name. - - The corresponding - - - - Prepares to register types from the assembly containing the code invoking this method. - - The corresponding - - - - - Only one instance is created first time an instance of the component is requested, and it is then reused for all subseque. - - - - - Transient components are never reused. Since their lifetime does not have any externally constrained end, they have to be manually released if resolved explicitly, to ensure proper decomission. - - - - - Summary description for DefaultComponentModelBuilder. - - - - - Implementors must construct a populated - instance of ComponentModel by inspecting the component - and|or the configuration. - - - - - "To give or supply in common with others; give to a - common fund or for a common purpose". The contributor - should inspect the component, or even the configuration - associated with the component, to add or change information - in the model that can be used later. - - - - - Constructs a new ComponentModel by invoking - the registered contributors. - - - - - - - - - - Removes the specified contributor - - - - - - Initializes a new instance of the class. - - The kernel. - - - - "To give or supply in common with others; give to a - common fund or for a common purpose". The contributor - should inspect the component, or even the configuration - associated with the component, to add or change information - in the model that can be used later. - - - - - - Constructs a new ComponentModel by invoking - the registered contributors. - - - - - - - - - - Removes the specified contributor - - - - - - Initializes the default contributors. - - - - - Gets the contributors. - - The contributors. - - - - Inspects the component configuration and the type looking for a - definition of component activator type. The configuration preceeds whatever - is defined in the component. - - - This inspector is not guarantee to always set up an component activator type. - If nothing could be found it wont touch the model. In this case is up to - the kernel to establish a default component activator for components. - - - - - Searches for the component activator in the configuration and, if unsuccessful - look for the component activator attribute in the implementation type. - - The kernel instance - The model instance - - - - Reads the attribute "componentActivatorType" associated with the - component configuration and verifies it implements the - interface. - - - If the type does not implement the proper interface - - - - - - - Check if the type expose one of the component activator attributes - defined in Castle.Core namespace. - - - - - - Validates that the provide type implements IComponentActivator - - The custom component activator. - - - - Inspects the component configuration and type looking for information - that can influence the generation of a proxy for that component. - - We specifically look for additionalInterfaces and marshalByRefProxy - on the component configuration or the - attribute. - - - - - - Searches for proxy behavior in the configuration and, if unsuccessful - look for the attribute in - the implementation type. - - - - - Returns a instance if the type - uses the attribute. Otherwise returns null. - - - - - - Reads the proxy behavior associated with the - component configuration/type and applies it to the model. - - - If the conversion fails - - - - - - - Uses the ConfigurationStore registered in the kernel to obtain - an associated with the component. - - - - - Queries the kernel's ConfigurationStore for a configuration - associated with the component name. - - - - - - - Check for a node 'parameters' within the component - configuration. For each child it, a ParameterModel is created - and added to ComponentModel's Parameters collection - - - - - Inspect the configuration associated with the component - and populates the parameter model collection accordingly - - - - - - - This implementation of - collects all available constructors and populates them in the model - as candidates. The Kernel will pick up one of the candidates - according to a heuristic. - - - - - Only to hold internal constants and get rid of - magic numbers and hardcode names. - - - - - Inspect the component for InterceptorAttribute and - the configuration for the interceptors node - - - - - Inspects the type looking for interfaces that constitutes - lifecycle interfaces, defined in the Castle.Model namespace. - - - - - Checks if the type implements and or - interfaces. - - - - - - Inspects the component configuration and the type looking for a definition of lifestyle type. The configuration preceeds whatever is defined in the component. - - This inspector is not guarantee to always set up an lifestyle type. If nothing could be found it wont touch the model. In this case is up to the kernel to establish a default lifestyle for - components. - - - - Searches for the lifestyle in the configuration and, if unsuccessful look for the lifestyle attribute in the implementation type. - - - - Reads the attribute "lifestyle" associated with the component configuration and tries to convert to - enum type. - - - - Check if the type expose one of the lifestyle attributes defined in Castle.Model namespace. - - - - Base for inspectors that want configuration associated with methods. - For each child a is created - and added to ComponentModel's methods collection - - - Implementors should override the return - the name of the node to be inspected. For example: - - - - - ]]> - - - - - - This implementation of - collects all potential writable public properties exposed by the component - implementation and populates the model with them. - The Kernel might be able to set some of these properties when the component - is requested. - - - - - Adds the properties as optional dependencies of this component. - - - - - - - Represents the collection of information and meta information collected about a component. - - - - - Dependencies the kernel must resolve - - - - - Interceptors associated - - - - - External parameters - - - - - All potential properties that can be setted by the kernel - - - - - Constructs a ComponentModel - - - - - Adds constructor dependency to this - - - - - - Adds property dependency to this - - - - - - Add service to be exposed by this - - - - - - Requires the selected property dependencies. - - The property selector. - - - - Requires the property dependencies of type . - - The dependency type. - - - - Gets or sets the configuration. - - The configuration. - - - - Gets the constructors candidates. - - The constructors. - - - - Gets or sets the custom component activator. - - The custom component activator. - - - - Gets the custom dependencies. - - The custom dependencies. - - - - Gets or sets the custom lifestyle. - - The custom lifestyle. - - - - Dependencies are kept within constructors and properties. Others dependencies must be registered here, so the kernel (as a matter of fact the handler) can check them - - - - - Gets or sets the extended properties. - - The extended properties. - - - - Gets or sets the component implementation. - - The implementation. - - - - Gets or sets the strategy for inspecting public properties on the components - - - - - Gets the interceptors. - - The interceptors. - - - - Gets the lifecycle steps. - - The lifecycle steps. - - - - Gets or sets the lifestyle type. - - The type of the lifestyle. - - - - Sets or returns the component key - - - - - Gets the parameter collection. - - The parameters. - - - - Gets the properties set. - - The properties. - - - - Gets or sets a value indicating whether the component requires generic arguments. - - true if generic arguments are required; otherwise, false . - - - - Represents a constructor of the component - that the container can use to initialize it properly. - - - - - Initializes a new instance of the class. - - The constructor info. - The dependencies. - - - - Gets the ConstructorInfo (from reflection). - - The constructor. - - - - Gets the dependencies this constructor candidate exposes. - - The dependencies. - - - - Collection of - - - - - Collection of . - - - - - Represents an reference to a Interceptor component. - - - - - Represents obtained just in time object. - - - - - - If the reference introduces dependency on a component, should return for that dependency, otherwise null. - - - - - - - Resolves object referenced by this reference, optionally using provided . - If object is resolved from the kernel, the should be used to guard - against against cyclic dependencies. - - - - - - - - Initializes a new instance of the class. - - The component key. - - - - Initializes a new instance of the class. - - Type of the interceptor to use. This will reference the default component (ie. one with no explicitly assigned name) implemented by given type. - - - - Gets an for the component key. - - The component key. - The - - - - Gets an for the service. - - The service. - The - - - - Gets an for the service. - - The service type. - The - - - - Collection of - - - - Adds the specified interceptor as the first. - The interceptor. - - - Adds the interceptor to the end of the interceptors list if it does not exist already. - The interceptor reference. - - - Adds the specified interceptor as the last. - The interceptor. - - - Inserts the specified interceptor at the specified index. - The index. - The interceptor. - - - Returns an enumerator that can iterate through a collection. - - An - that can be used to iterate through the collection. - - - - Adds the specified item. - The interceptor. - - - Gets a value indicating whether this instance has interceptors. - - true if this instance has interceptors; otherwise, false. - - - - - Represents a collection of ordered lifecycle concerns. - - - - - Returns all concerns for the commission phase - - - - - - Returns all concerns for the decommission phase - - - - - - Gets a value indicating whether this instance has commission steps. - - - true if this instance has commission steps; otherwise, false. - - - - - Gets a value indicating whether this instance has decommission steps. - - - true if this instance has decommission steps; otherwise, false. - - - - - Represents meta information associated with a method - (not yet defined) - - - - - Initializes a new instance of the class. - - The config node. - - - - Gets the config node. - - The config node. - - - - Collection of - - - - - Gets the method info2 model. - - The method info2 model. - - - - Represents a parameter. Usually the parameter - comes from the external world, ie, an external configuration. - - - - - Initializes a new instance of the class. - - The name. - The value. - - - - Initializes a new instance of the class. - - The name. - The value. - - - - Gets the config value. - - The config value. - - - - Gets the name. - - The name. - - - - Gets the value. - - The value. - - - - Collection of - - - - - Adds the specified name. - - The name. - The value. - - - - Adds the specified name. - - The name. - The config node. - - - - Adds the specified key. - - - Not implemented - - The key. - The value. - - - - Returns an enumerator that can iterate through a collection. - - - An - that can be used to iterate through the collection. - - - - - Gets the count. - - The count. - - - - Gets the with the specified key. - - - - - - Represents a property and the respective dependency. - - TODO: remove this class and instead create PropertyDependencyModel like we do for constructors - - - - Initializes a new instance of the class. - - The property info. - The dependency. - - - - Gets the dependency. - - The dependency. - - - - Gets the property. - - The property. - - - - Collection of - - - - Finds a PropertySet the by PropertyInfo. - The info. - - - - - Reference to component obtained from the container. - - - - - - Creates a new instance of referencing default component implemented by - - - - - - Creates a new instance of referencing component - - - - - - Select the appropriate interceptors based on the application specific - business logic - - - - - Determine whatever the specified has interceptors. - The selector should only return true from this method if it has determined that is - a model that it would likely add interceptors to. - - The model - Whatever this selector is likely to add interceptors to the specified model - - - - Select the appropriate interceptor references. - The interceptor references aren't necessarily registered in the model.Intereceptors - - The model to select the interceptors for - The interceptors selected by previous selectors in the pipeline or if this is the first interceptor in the pipeline. - The interceptor for this model (in the current context) or a null reference - - If the selector is not interested in modifying the interceptors for this model, it - should return and the next selector in line would be executed. - If the selector wants no interceptors to be used it can either return null or empty array. - However next interceptor in line is free to override this choice. - - - - - Represents a reference to an existing object. - - - - - - Defines the contract used by the kernel - to obtain proxies for components. The implementor - must return a proxied instance that dispatch - the invocation to the registered interceptors in the model - - - - - Add the selector to the list of selectors that can affect interceptor's decisions - in the container. - - - - - Implementors must create a proxy based on - the information exposed by ComponentModel - - The kernel instance - The component model - The component instance to be proxy (only required in some cases) - array of parameters to the constructor (if any) - The creation context - proxy instance - - - - Implementor should check the component model - and determine if the caller must pass on the component - instance to the proxy - - The kernel instance - The component model - true if an instance must be passed to - - - - Determines whatever we need to create a proxy for this model - - - - - - - This is a placeholder implementation of . - - - The decision to supply no implementation for - is supported by the fact that the MicroKernel should be a thin - assembly with the minimal set of features, although extensible. - Providing the support for this interface would obligate - the user to import another assembly, even if the large majority of - simple cases, no use use of interceptors will take place. - If you want to use however, see the Windsor container. - - - - - Holds the keys used by the proxy factories. - - - - - Key used to supply custom proxy options. - - - - - Represents options to configure proxies. - - - - - Initializes a new instance of the class. - - - - - Adds the additional interfaces to proxy. - - The interfaces. - - - - Adds the additional mix ins to integrate. - - The mix ins. - - - - Adds the additional mix in to integrate. - - The mix in. - - - - Equals the specified obj. - - The obj. - true if equal. - - - - Gets the hash code. - - - - - - Gets the additional interfaces to proxy. - - The interfaces. - - - - Determines if the proxied component can change targets. - - - - - Determines if the interface proxied component should inherit - from - - - - - Gets or sets the proxy hook. - - - - - Gets the mix ins to integrate. - - The interfaces. - - - - Determines if the proxied component uses a target. - - - - - Gets or sets the interceptor selector. - - - - - Helper support for proxy configuration. - - - - - Obtains the associated with the . - - The component model. - true if the options should be created if not present. - The associated proxy options for the component model. - - - - Constructs the descriptor with name and value. - - The attribute name. - The attribute value. - - - - Constructs the descriptor with name. - - The component. - The attribute name. - - - - Builds the with value. - - The attribute value. - The - - - - Factory for creating objects. Use static methods on the class to fluently build registration. - - - - - Creates a component registration for the - - Type of the service. - The component registration. - - - - Creates a component registration for the - - Types of the service. - The component registration. - B - - - - Creates a component registration for the - - Types of the service. - The component registration. - - - - Creates a component registration for the service type. - - The service type. - The component registration. - - - - Creates a component registration for the service types. - - The primary service type. - The forwarded type. - The component registration. - - - - Creates a component registration for the service types. - - The primary service type. - The first forwarded type. - The second forwarded type. - The component registration. - - - - Creates a component registration for the service types. - - The primary service type. - The first forwarded type. - The second forwarded type. - The third forwarded type. - The component registration. - - - - Creates a component registration for the service types. - - The primary service type. - The first forwarded type. - The second forwarded type. - The third forwarded type. - The fourth forwarded type. - The component registration. - - - - Helper method for filtering components based on presence of an Attribute. - - - - - - container.Register( - Classes.FromThisAssembly() - .Where(Component.HasAttribute<UserAttribute>) ); - - - - - Helper method for filtering components based on presence of an Attribute and value of predicate on that attribute. - - - - - - container.Register( - Classes.FromThisAssembly() - .Where(Component.HasAttribute<UserAttribute>(u => u.SomeFlag)) ); - - - - - Determines if the component is a Castle component, that is - if it has a . - - true if the service is a Castle Component. - - This method is usually used as argument for method. - - - - - Creates a predicate to check if a component is in a namespace. - - The namespace. - true if the component type is in the namespace. - - - - Creates a predicate to check if a component is in a namespace. - - The namespace. - If set to true, will also include types from subnamespaces. - true if the component type is in the namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - true if the component is in the same namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - If set to true, will also include types from subnamespaces. - true if the component is in the same namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - true if the component is in the same namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - If set to true, will also include types from subnamespaces. - true if the component is in the same namespace. - - - - Inserts a new named argument with given key. If an argument for this name already exists, it will be overwritten. - - - - - Inserts a new typed argument with given type. If an argument for this type already exists, it will be overwritten. - - - - - Inserts a set of typed arguments. Property names of the anonymous type will be used as key. - - - - - Inserts a new typed argument with given type. If an argument for this type already exists, it will be overwritten. - - - - - Inserts a set of typed arguments. Actual type of the arguments will be used as key. - - - - - Registration for a single type as a component with the kernel. - - You can create a new registration with the factory. - - The service type - - - - The contract for all registrations with the kernel. - - - - - Performs the registration in the . - - The kernel. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Marks the components with one or more actors. - - The component actors. - - - - - Set a custom which creates and destroys the component. - - - - - - Adds the attribute descriptor. - - The key. - The value. - - - - - Adds the descriptor. - - The descriptor. - - - - - Creates an attribute descriptor. - - The attribute key. - - - - - Apply more complex configuration to this component registration. - - The config nodes. - - - - - Apply more complex configuration to this component registration. - - The configuration . - - - - - Defines additional dependencies for the component. Those can be any of , and . Use the static methods on - class to define the dependencies. See the example attached. - - The dependency. - - - Artificial example showing how to specify a service override. See other methods on class for more options. - DependsOn(Dependency.OnComponent(typeof(IRepository), typeof(IntranetRepository))); - - - - - Defines additional dependencies for the component. Those can be any combibation of , and . Use the static methods - on class to define the dependencies. See the example attached. - - The dependencies. - - - Artificial example showing how to specify three different dependencies. If any of the methods shown is not self explanatory consult its documentation. - DependsOn(Dependency.OnAppSettingsValue("connectionString", "intranet-connection-string"), - Dependency.OnComponent(typeof(IRepository), typeof(IntranetRepository)), - Dependency.OnValue("applicationName", "My Application")); - - - - - Uses a dictionary of key/value pairs, to specify custom dependencies. - - - The dependencies. - - - - - Uses an (anonymous) object as a dictionary, to specify custom dependencies. - - - The dependencies. - - - - - Allows custom dependencies to by defined dyncamically. Calling this overload is synonymous to using - - The delegate used for providing dynamic parameters. - - - - - Allows custom dependencies to by defined dynamically with releasing capability. Calling this overload is synonymous to using - - - The delegate used for providing dynamic parameters. - - - - - Allows custom dependencies to by defined dynamically with releasing capability. Calling this overload is synonymous to using - - - The delegate used for providing dynamic parameters. - - - Use when resolving components from in order to detect cycles. - - - - - Allows custom dependencies to by defined dyncamically. - - The delegate used for providing dynamic parameters. - - - - - Allows custom dependencies to by defined dynamically with releasing capability. - - The delegate used for providing dynamic parameters. - - - - - Allows custom dependencies to by defined dynamically with releasing capability. - - The delegate used for providing dynamic parameters. - - - Use when resolving components from in order to detect cycles. - - - - - Sets for this component. - - The extended properties. - - - - - Sets for this component. - - The extended properties. - - - - - Sets for this component. - - The extendend properties as key/value pairs. - - - - - Adds as additional services to be exposed by this component. - - The types to forward. - - - - - Adds as additional service to be exposed by this component. - - The forwarded type. - The component registration. - - - - Adds and as additional services to be exposed by this component. - - The first forwarded type. - The second forwarded type. - The component registration. - - - - Adds , and as additional services to be exposed by this component. - - The first forwarded type. - The second forwarded type. - The third forwarded type. - The component registration. - - - - Adds , , and as additional services to be exposed by - this component. - - The first forwarded type. - The second forwarded type. - The third forwarded type. - The fourth forwarded type. - The component registration. - - - - Adds as additional services to be exposed by this component. - - The types to forward. - - - - - Sets the concrete type that implements the service to . - - If not set, the class service type or first registered interface will be used as the implementation for this component. - - The type that is the implementation for the service. - - - - - Sets the concrete type that implements the service to . - - If not set, the class service type or first registered interface will be used as the implementation for this component. - - The type that is the implementation for the service. - - - - - Sets the concrete type that implements the service to . - - If not set, the class service type or first registered interface will be used as the implementation for this component. - - The type that is the implementation for the service. - Provides ability to close open generic service. Ignored when registering closed or non-generic component. - - - - - Sets the concrete type that implements the service to . - - If not set, the class service type or first registered interface will be used as the implementation for this component. - - The type that is the implementation for the service. - Provides ability to select if open generic component supports particular closed version of a service. - - - - - Sets the concrete type that implements the service to . - - If not set, the class service type or first registered interface will be used as the implementation for this component. - - The type that is the implementation for the service. - Provides ability to close open generic service. Ignored when registering closed or non-generic component. - Provides ability to select if open generic component supports particular closed version of a service. - - - - - Assigns an existing instance as the component for this registration. - - The component instance. - - - - - Set the interceptors for this component. - - The interceptors. - - - - - Set the interceptors for this component. - - The interceptors. - - - - - Set the interceptor for this component. - - - - - - Set the interceptor for this component. - - - - - - Set the interceptor for this component. - - - - - - Sets component lifestyle to specified one. - - - - - - Sets component lifestyle to specified one. - - - - - - Sets component lifestyle to per thread. - - - - - - Sets component lifestyle to scoped per explicit scope. If is provided, it will be used to access scope for the component. Otherwise the default scope accessor - will be used. - - - - - - Sets component lifestyle to scoped per explicit scope. - - - - - - Sets component lifestyle to scoped per farthest component on the resolution stack where implementation type is assignable to . - - - - - - Sets component lifestyle to scoped per nearest component on the resolution stack where implementation type is assignable to . - - - - - - Sets component lifestyle to scoped per scope determined by - - Custom algorithm for selection which component higher up the resolution stack should be the root of the lifetime scope for current component's instances. The delegate - will be invoked when current component is about to be resolved and will be passed set of handlers to components higher up the resolution stack. It ought to return one which it designages as the root - which shall scope the lifetime of current component's instance, or null - - - - - Sets component lifestyle to instance per web request. - - - - - - Sets component lifestyle to pooled. If or are not set default values will be used. - - - - - - Sets component lifestyle to singleton. - - - - - - Sets component lifestyle to transient. - - - - - - Set a name of this registration. This is required if you have multiple components for a given service and want to be able to resolve some specific ones. Then you'd provide the name so that Windsor - knows which one of the bunch you know. Otherwise don't bother setting the name. - - If not set, the of the will be used as the key to register the component. - - The name of this registration. - - - Names have to be globally unique in the scope of the container. - - - - - This method as opposed to should be used by tools like facilities when the name is not provided by the user, but autogenerated and user has no interest in seing this name, for - example in diagnostics reports. Set a name of this registration. This is required if you have multiple components for a given service and want to be able to resolve some specific ones. Then you'd - provide the name so that Windsor knows which one of the bunch you know. Otherwise don't bother setting the name. - - If not set, the of the will be used as the key to register the component. - - The name of this registration. - - - Names have to be globally unique in the scope of the container. - - - - - Stores a set of which will be invoked when the component is created and before it's returned from the container. - - A set of actions to be executed right after the component is created and before it's returned from the container. - - - - Stores a set of which will be invoked when the component is created and before it's returned from the container. - - A set of actions to be executed right after the component is created and before it's returned from the container. - - - - Stores a set of which will be invoked when the component is created and before it's returned from the container. - - A set of actions to be executed right after the component is created and before it's returned from the container. - - - - Stores a set of which will be invoked when the component is destroyed which means when it's released or it's lifetime scope ends. Notice that usage of this - method will cause instsances of the component to be tracked, even if they wouldn't be otherwise. - - A set of actions to be executed when the component is destroyed. - - - - Services that are already present in the container will be skipped. If no new service is left the registration will not happen at all. - - - - - - With the overwrite. - - - - - - Set configuration parameters with string or values. - - The parameters. - - - - - Sets the interceptor selector for this component. - - - - - - - Sets the interceptor selector for this component. - - - - - - - Override (some of) the services that this component needs. Use to create an override. - - Each key represents the service dependency of this component, for example the name of a constructor argument or a property. The corresponding value is the key of an other component registered to the - kernel, and is used to resolve the dependency. - - To specify dependencies which are not services, use - - The service overrides. - - - - - Override (some of) the services that this component needs, using a dictionary. - - Each key represents the service dependency of this component, for example the name of a constructor argument or a property. The corresponding value is the key of an other component registered to the - kernel, and is used to resolve the dependency. - - To specify dependencies which are not services, use - - The service overrides. - - - - - Override (some of) the services that this component needs, using an (anonymous) object as a dictionary. - - Each key represents the service dependency of this component, for example the name of a constructor argument or a property. The corresponding value is the key of an other component registered to the - kernel, and is used to resolve the dependency. - - To specify dependencies which are not services, use - - The service overrides. - - - - - Uses a factory to instantiate the component - - Factory type. This factory has to be registered in the kernel. - Implementation type. - Factory invocation - - - - - Uses a factory method to instantiate the component. - - Implementation type - Factory method - When set to true container will not assume ownership of this component, will not track it not apply and lifecycle concerns to it. - - - - - Uses a factory method to instantiate the component. - - Implementation type - Factory method - When set to true container will not assume ownership of this component, will not track it not apply and lifecycle concerns to it. - - - - - Uses a factory method to instantiate the component. - - Implementation type - Factory method - When set to true container will not assume ownership of this component, will not track it not apply and lifecycle concerns to it. - - - - - Uses a factory method to instantiate the component. - - Implementation type - Factory method - - - - - Registers this component with the . - - The kernel. - - - - Overrides default behavior by making the current component the default for every service it exposes. The allows user to narrow down the number of services which - should be make defaults. - - Invoked for each service exposed by given component if returns true this component will be the default for that service. - - - When specified for multiple components for any given service the one registered after will override the one selected before. - - - - - Overrides default behavior by making the current component the default for every service it exposes. - - - - When specified for multiple components for any given service the one registered after will override the one selected before. - - - - - Overrides default behavior by making the current component the fallback for every service it exposes that returns true for. That is if another, - non-fallback, component will be registered exposing any of these same services as this component, that other component will take precedence over this one, regardless of order in which they are - registered. - - Invoked for each service exposed by given component if returns true this component will be the fallback for that service. - - - - Overrides default behavior by making the current component the fallback for every service it exposes. That is if another, non-fallback, component will be registered exposing any of the same services - as this component, that other component will take precedence over this one, regardless of order in which they are registered - - - - - - Filters (settable) properties of the component's implementation type to expose in the container. - - Predicate deciding whether a property is settable or not. If it returns false the property will not be added to collection - and Windsor will never try to set it. - - - Matched properties will be considered optional. Windsor will resolve the component even if it cannot provide value for those properties. If you want to make them mandatory use a different overload. - - - - - Filters (settable) properties of the component's implementation type to expose in the container and specifies if matched properties are considered mandatory. - - Predicate deciding whether a property is settable or not. If it returns false the property will not be added to collection - and Windsor will never try to set it. - if true the properties matched by will be considered mandatory dependencies. Windsor will only successfully resole the component if it - can provide value for all of these properties. If false Windsor will still try to provide values for these properties, but if it can't it will not stop the component from being successfully - resolved. - - - - - Filters (settable) properties of the component's implementation type to expose in the container and specifies if matched properties are considered mandatory. - - Predicate deciding whether a property is settable or not. If it returns false the property will not be added to collection - and Windsor will never try to set it. - if true the properties matched by will be considered mandatory dependencies. Windsor will only successfully resole the component if it - can provide value for all of these properties. If false Windsor will still try to provide values for these properties, but if it can't it will not stop the component from being successfully - resolved. - - - - - Filters (settable) properties of the component's implementation type to ignore. - - Predicate finding properties to ignore. If it returns true the property will not be added to collection and Windsor - will never try to set it. - - - - Filters (settable) properties of the component's implementation type to expose in the container as mandatory dependencies - - Predicate finding properties. If it returns true the property will be added to collection and Windsor will make it - a mandatory dependency. - - - - Filters (settable) properties of the component's implementation type to ignore. - - Predicate finding properties to ignore. If it returns true the property will not be added to collection and Windsor - will never try to set it. - - - - Filters (settable) properties of the component's implementation type to expose in the container as mandatory dependencies - - Predicate finding properties. If it returns true the property will be added to collection and Windsor will make it - a mandatory dependency. - - - - Filters (settable) properties of the component's implementation type to expose in the container and specifies if matched properties are considered mandatory. - - Rules for deciding whether given properties are exposed in the container or ignored and if they are mandatory, that is Windsor will only successfully resole the component if - it can provide value for all of these properties. - - - - - The concrete type that implements the service. - - To set the implementation, use . - - The implementation of the service. - - - - Set the lifestyle of this component. For example singleton and transient (also known as 'factory'). - - The with lifestyle. - - - - The name of the component. Will become the key for the component in the kernel. - - To set the name, use . - - If not set, the of the will be used as the key to register the component. - - The name. - - - - Set proxy for this component. - - The proxy. - - - - A non-generic . - - You can create a new registration with the factory. - - - - - Represents a configuration child. - - - - - Applies the configuration node. - - The configuration. - - - - Represents a configuration attribute. - - - - - Applies the configuration node. - - The configuration. - - - - Create a with name. - - The attribute name. - The new - - - - Represents a named attribute. - - - - - Builds the with name/value. - - The attribute value. - The new - - - - Builds the with name/value. - - The attribute value. - The new - - - - Represents a configuration child. - - - - - Create a with name. - - The child name. - The new - - - - Represents a named child. - - - - - Applies the configuration node. - - The configuration. - - - - Builds the with name/value. - - The child value. - The new - - - - Builds the with name/value. - - The child value. - The new - - - - Builds the with name/config. - - The child configuration. - The new - - - - Builds the with name/config. - - The child nodes. - The new - - - - Represents a simple child node. - - - - - Applies the configuration node. - - The configuration. - - - - Represents a complex child node. - - - - - Applies the configuration node. - - The configuration. - - - - Represents a compound child node. - - - - - Applies the configuration node. - - The configuration. - - - - Specifies that value should be used to satisfy dependencies matched by . The value is provided as a string and will be - converted to appropriate type when resolving. - - - - - - - - Specifies that value should be used to satisfy dependencies matched by . The value is provided as a string and will be converted to - appropriate type when resolving. - - - - - - - - Specifies that value from application configuration file's appSettings section named should be used to satisfy dependencies matched by - . The value is provided as a string and will be converted to appropriate type when resolving. - - - - - - - - Specifies that value from application configuration file's appSettings section named should be used to satisfy dependencies matched by . The value - is provided as a string and will be converted to appropriate type when resolving. - - - - - - - Specifies that component registered with should be used to satisfy dependencies matched by - - - - - Specifies that component registered with should be used to satisfy dependencies matched by - - - - - Specifies that component registered with should be used to satisfy dependencies matched by - - - - - Specifies that component registered with should be used to satisfy dependencies matched by - - - - - Specifies that component registered with should be used to satisfy dependencies matched by - - - - - Specifies that components registered with should be used to satisfy collection dependencies matched by - - - - - Specifies that components registered with should be used to satisfy collection dependencies matched by - - - - - Specifies that components registered with should be used to satisfy collection dependencies matched by - - - - - Specifies that components registered with should be used to satisfy collection dependencies matched by - - - - - Specifies that components registered with should be used to satisfy collection dependencies matched by - - - - - Specifies that components registered with should be used to satisfy collection dependencies matched by - - - - - Specifies that value should be used to satisfy dependencies matched by - - - - - Specifies that value should be used to satisfy dependencies matched by - - - - - Specifies that value should be used to satisfy dependencies matched by - - - - - The contract to install components in the container. - - - - - Performs the installation in the . - - The container. - The configuration store. - - - - Adds the actions to ExtendedProperties. - - - - - - Sets the lifestyle to the specified - - . - - The type. - - - - - Assigns scoped lifestyle with scope accessed via - - instances. - - - - - - - Assigns scoped lifestyle with scope accessed via - - instances if provided, or default accessor otherwise. - - - - - - Assigns scoped lifestyle with scope accessed via default accessor. - - - - - - Assign a custom lifestyle type, that implements - - . - - Type of the custom lifestyle. - - - - - Assign a custom lifestyle type, that implements - - . - - The type of the custom lifestyle - - - - - Represents a configuration parameter. - - - - - Create a with key. - - The parameter key. - The new - - - - Gets the parameter configuration. - - - - - Gets the parameter key. - - - - - Gets the parameter value. - - - - - Represents a parameter key. - - - - - Builds the with key/value. - - The parameter value. - The new - - - - Builds the with key/config. - - The parameter configuration. - The new - - - - The parameter key name. - - - - - Represents a key/value pair. - - - - - Create a with key. - - The property key. - The new - - - - Create a with key. - - The property key. - The new - - - - Create a with key. - - The property key. - The new - - - - Gets the property key. - - - - - Gets the property value. - - - - - Represents a property key. - - - - - Builds the with key/value. - - The property value. - The new - - - - Builds a service override using other component registered with given as value for dependency with given . - - - - - - - Builds a service override using other component registered with given and no explicit name, as value for dependency with given . - - - - - - Builds a service override using other component registered with given and no explicit name, as value for dependency with given . - - - - - - The property key key. - - - - - Represents a service override. - - - - - Creates a with key. - - The service override key. - The new - - - - Creates a with key. - - The service override key. - The new - - - - Creates a with key. - - The service override key. - The new - - - - Implicitly converts service override to dependency. This is a API trick to keep the API clean and focused. - - - - - - - Gets the optional value type specifier. - - - - - Represents a service override key. - - - - - Builds the with key/value. - - The service override value. - The new - - - - Builds the with key/values. - - The service override values. - The new - - - - Builds the with key/values. - - The service override values. - The new - The value type. - - - - Builds the with key/values. - - The service override values. - The new - - - - Builds the with key/values. - - The service override values. - The new - The value type. - - - - Describes a set of components to register in the kernel. Use static methods on the class to fluently build registration. - - - - - Prepares to register types from a list of types. - - The list of types. - The corresponding - - - - Prepares to register types from a list of types. - - The list of types. - The corresponding - - - - Prepares to register types from an assembly. - - The assembly. - The corresponding - - - - Prepares to register types from an assembly containing the type. - - The type belonging to the assembly. - The corresponding - - - - Prepares to register types from an assembly containing the type. - - The type belonging to the assembly. - The corresponding - - - - Prepares to register types from assemblies found in a given directory that meet additional optional restrictions. - - - - - - - Prepares to register types from an assembly. - - The assembly name. - The corresponding - - - - Prepares to register types from the assembly containing the code invoking this method. - - The corresponding - - - - Describes all the types based on basedOn. - - The base type. - - - - - Describes all the types based on type T. - - The base type. - - - - - Describes any types that are supplied. - - - - - - Prepares to register types from a list of types. - - The list of types. - The corresponding - - - - Describes a related group of components to register in the kernel. - - - - - Prepares to register types from a list of types. - - The list of types. - The corresponding - - - - Prepares to register types from a list of types. - - The list of types. - The corresponding - - - - Prepares to register types from an assembly. - - The assembly. - The corresponding - - - - Prepares to register types from an assembly. - - The assembly name. - The corresponding - - - - Prepares to register types from a list of types. - - The list of types. - The corresponding - - - - Selects a set of types from an assembly. - - - - - Describes the source of types to register. - - - - - Allows a type to be registered multiple times. - - - - - Returns the descriptor for accepting a type. - - The base type. - The descriptor for the type. - - - - Returns the descriptor for accepting a type. - - The base type. - The descriptor for the type. - - - - Returns the descriptor for accepting a type. - - One or more base types. To be accepted a type must implement at least one of the given base types. - The descriptor for the type. - - - - Returns the descriptor for accepting a type. - - One or more base types. To be accepted a type must implement at least one of the given base types. - The descriptor for the type. - - - - Creates a predicate to check if a component is in a namespace. - - The namespace. - true if the component type is in the namespace. - - - - Creates a predicate to check if a component is in a namespace. - - The namespace. - If set to true, will also include types from subnamespaces. - true if the component type is in the namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - true if the component is in the same namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - If set to true, will also include types from subnamespaces. - true if the component is in the same namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - true if the component is in the same namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - If set to true, will also include types from subnamespaces. - true if the component is in the same namespace. - - - - Returns the descriptor for accepting any type from given solutions. - - - - - - Returns the descriptor for accepting a type based on a condition. - - The accepting condition. - The descriptor for the type. - - - - When called also non-public types will be scanned. - - - Usually it is not recommended to register non-public types in the container so think twice before using this option. - - - - - Selects an existing set of types to register. - - - - - Describes how to select a types service. - - - - - Uses all interfaces implemented by the type (or its base types) as well as their base interfaces. - - - - - - Uses the base type matched on. - - - - - - Uses all interfaces that have names matched by implementation type name. - Matches Foo to IFoo, SuperFooExtended to IFoo and IFooExtended etc - - - - - - Uses the first interface of a type. This method has non-deterministic behavior when type implements more than one interface! - - - - - - Uses to lookup the sub interface. - For example: if you have IService and - IProductService : ISomeInterface, IService, ISomeOtherInterface. - When you call FromInterface(typeof(IService)) then IProductService - will be used. Useful when you want to register _all_ your services - and but not want to specify all of them. - - - - - - - Uses base type to lookup the sub interface. - - - - - - Assigns a custom service selection strategy. - - - - - - - Assigns the supplied service types. - - - - - - - Uses the type itself. - - - - - - This is a workaround for a CLR bug in - which GetInterfaces() returns interfaces - with no implementations. - - Type of the service. - - - - - Describes how to register a group of related types. - - - - - Initializes a new instance of the BasedOnDescriptor. - - - - - Allows a type to be registered multiple times. - - - - - Returns the descriptor for accepting a new type. - - The base type. - The descriptor for the type. - - - - Returns the descriptor for accepting a new type. - - The base type. - The descriptor for the type. - - - - Adds another type to be accepted as base. - - The base type. - The descriptor for the type. - - - - Allows customized configurations of each matching type. - - The configuration action. - - - - - Allows customized configurations of each matching component with implementation type that is - assignable to - - . - - The type assignable from. - The configuration action. - - - - - Allows customized configurations of each matching component that satisfies supplied . - - Condition to satisfy - The configuration action, executed only for components for which evaluates to true . - - - - - Allows customized configurations of each matching component that satisfies supplied and alternative configuration for the rest of components. - - Condition to satisfy - The configuration action, executed only for components for which evaluates to true . - The configuration action, executed only for components for which evaluates to false . - - - - - Assigns a conditional predication which must be satisfied. - - The predicate to satisfy. - - - - - Assigns a conditional predication which must not be satisfied. - - The predicate not to satisify. - - - - - Returns the descriptor for accepting a type based on a condition. - - The accepting condition. - The descriptor for the type. - - - - Uses all interfaces implemented by the type (or its base types) as well as their base interfaces. - - - - - - Uses the base type matched on. - - - - - - Uses all interfaces that have names matched by implementation type name. - Matches Foo to IFoo, SuperFooExtended to IFoo and IFooExtended etc - - - - - - Uses the first interface of a type. This method has non-deterministic behavior when type implements more than one interface! - - - - - - Uses to lookup the sub interface. - For example: if you have IService and - IProductService : ISomeInterface, IService, ISomeOtherInterface. - When you call FromInterface(typeof(IService)) then IProductService - will be used. Useful when you want to register _all_ your services - and but not want to specify all of them. - - - - - - - Uses base type to lookup the sub interface. - - - - - - Assigns a custom service selection strategy. - - - - - - - Uses the type itself. - - - - - - Sets component lifestyle to specified one. - - - - - - Sets component lifestyle to specified one. - - - - - - Sets component lifestyle to per thread. - - - - - - Sets component lifestyle to scoped per explicit scope. - - - - - - Sets component lifestyle to scoped per explicit scope. - - - - - - Sets component lifestyle to scoped per explicit scope. - - - - - - Sets component lifestyle to scoped per component . - - - - - - Sets component lifestyle to scoped per nearest component on the resolution stack where implementation type is assignable to . - - - - - - Sets component lifestyle to instance per web request. - - - - - - Sets component lifestyle to pooled. If or are not set default values will be used. - - - - - - Sets component lifestyle to singleton. - - - - - - Sets component lifestyle to transient. - - - - - - Assigns the supplied service types. - - - - - - - Assigns the supplied service types. - - - - - - - Gets the service descriptor. - - - - - Tracks all components requiring decomission () - - - - - Policy managing lifetime of components, and in particular their release process. - - - - - Creates nested policy for scoped object tracking. - - - - - - Returns true if is being tracked by this release policy, false otherwise. - - - - - - - Releases if it's being tracked by this release policy, invoking its s and stops tracking it so that it can be claimed by the Garbage Collector. - - - - - - Asks the policy to track given object. The object will be released when a call to is made. - - - - Thrown when does NOT have its flag set. - - - - Used to obtain if present. - - - - - Creates new policy which publishes its tracking components count to - - and exposes diagnostics into - - . - - - - - - - Obtains from given if present. - - - - - - - Creates new from given . - - - - - - - No tracking of component instances are made. - - - - - Default implementation for . - This implementation is quite simple, but still should be useful - for 99% of situations. - - - - - Implementors should use a strategy to obtain - valid references to properties and/or services - requested in the dependency model. - - - - - Registers a sub resolver instance - - The subresolver instance - - - - This method is called with a delegate for firing the - IKernelEvents.DependencyResolving event. - - kernel - The delegate used to fire the event - - - - Unregisters a sub resolver instance previously registered - - The subresolver instance - - - - Registers a sub resolver instance - - The subresolver instance - - - - Initializes this instance with the specified dependency delegate. - - kernel - The dependency delegate. - - - - Unregisters a sub resolver instance previously registered - - The subresolver instance - - - - Returns true if the resolver is able to satisfy the specified dependency. - - Creation context, which is a resolver itself - Parent resolver - Model of the component that is requesting the dependency - The dependency model - - true - if the dependency can be satisfied - - - - Try to resolve the dependency by checking the parameters in - the model or checking the Kernel for the requested service. - - - The dependency resolver has the following precedence order: - - - The dependency is checked within the - - - - - The dependency is checked within the - - instance for the component - - - The dependency is checked within the registered - - s - - - Finally the resolver tries the normal flow - which is using the configuration - or other component to satisfy the dependency - - - - Creation context, which is a resolver itself - Parent resolver - Model of the component that is requesting the dependency - The dependency model - The dependency resolved value or null - - - - This method rebuild the context for the parameter type. - Naive implementation. - - - - - Initializes a new instance of the class. - - The message. - The inner exception. - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The object that holds the serialized object data. - The contextual information about the source or destination. - - - - Lazily adds component for . - - - - - Handle dependencies of services in the format of typed arrays. - - - This is a complimentary implementation - that is capable of satisfying dependencies of services as typed arrays. - - Note that it will take precedence over service override for arrays defined - on the configuration. - - - - In order to install the resolver: - - var kernel = new DefaultKernel(); - kernel.Resolver.AddSubResolver(new ArrayResolver(kernel)); - - - - To use it, assuming that IService is on the container: - - - - public class Component - { - public Component(IService[] services) - { - } - } - - - - - - More generic alternative to and . - It supports arrays as well as any generic interface type assignable from arrays. - - - The collection instance that is provided is read only, even for interfaces like - - - - - Handle dependencies of services in the format of generic IList. - - - This is a complimentary implementation - that is capable of satisfying dependencies of services generic IList. - - Note that it will take precedence over service override for lists defined - on the configuration. - - - - In order to install the resolver: - - var kernel = new DefaultKernel(); - kernel.Resolver.AddSubResolver(new ListResolver(kernel)); - - - - To use it, assuming that IService is on the container: - - - - public class Component - { - public Component(IList<IService> services) - { - } - } - - - - - - A subsystem is used by the MicroKernel to deal - with a specific concern. - - - - - Initializes the subsystem - - - - - - Should perform the termination - of the subsystem instance. - - - - - This implementation of - does not try to obtain an external configuration by any means. - Its only purpose is to serve as a base class for subclasses - that might obtain the configuration node from anywhere. - - - - - The contract used by the kernel to obtain - external configuration for the components and - facilities. - - - - - Adds the child container configuration. - - The container's name. - The config. - - - - Associates a configuration node with a component key - - item key - Configuration node - - - - Associates a configuration node with a facility key - - item key - Configuration node - - - - Returns the configuration node associated with - the specified child container key. Should return null - if no association exists. - - item key - - - - - Returns the configuration node associated with - the specified component key. Should return null - if no association exists. - - item key - - - - - Returns all configuration nodes for components - - - - - - Gets the child containers configuration nodes. - - - - - - Returns all configuration nodes for facilities - - - - - - Returns the configuration node associated with - the specified facility key. Should return null - if no association exists. - - item key - - - - - Returns all configuration nodes for installers - - - - - - - - - - - - - Adds the child container configuration. - - The key. - The config. - - - - Associates a configuration node with a component key - - item key - Configuration node - - - - Associates a configuration node with a facility key - - item key - Configuration node - - - - Returns the configuration node associated with - the specified child container key. Should return null - if no association exists. - - item key - - - - - Returns the configuration node associated with - the specified component key. Should return null - if no association exists. - - item key - - - - - Returns all configuration nodes for components - - - - - - Returns all configuration nodes for child containers - - - - - - Returns all configuration nodes for facilities - - - - - - Returns the configuration node associated with - the specified facility key. Should return null - if no association exists. - - item key - - - - - Base implementation of - - - - - Implements a conversion logic to a type of a - set of types. - - - - - Returns true if this instance of ITypeConverter - is able to handle the specified type. - - - - - - - Returns true if this instance of ITypeConverter - is able to handle the specified type with the specified - configuration - - - - - - - - Should perform the conversion from the - string representation specified to the type - specified. - - - - - - - - Should perform the conversion from the - configuration node specified to the type - specified. - - - - - - - - Returns true if this instance of ITypeConverter - is able to handle the specified type with the specified - configuration - - - - - - The default behavior is to just pass it to the normal CanHadnleType - peeking into the configuration is used for some advanced functionality - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The message. - The inner exception. - - - - Initializes a new instance of the class. - - The object that holds the serialized object data. - The contextual information about the source or destination. - - - - Looks for a on the type to be converted. - If found, the TypeConverter defined by the attribute is used to perform the conversion. - - - - - Marker interface that signals that a converter - depends on IKernel to be able to perform - the conversion. - - - - - Attempts to utilize an existing for conversion - - - - - Creates the target type instance. - - The type. - The configuration. - - - - - Chooses the first non default constructor. Throws an exception if more than - one non default constructor is found - - - The chosen constructor, or null if none was found - - - - Converts the constructor parameters. - - The constructor. - The configuration. - - - - - Converts the property values. - - The instance. - The type. - The configuration. - - - - Finds the child (case insensitive). - - The config. - The name. - - - - - Gets the conversion manager. - - The conversion manager. - - - - Converts a string representation to an enum value - - - - - This interface is needed because we want to isolate ourself from - the generic parameters, so we can work type safe inside the implementations, - and still call from non generic types outside. - - - - - Implements all standard conversions. - - - - - Convert a type name to a Type instance. - - - - - Declares a type as being convertible by a and optionally defines the converter to be used - - - - - Defines the to be used to convert the type - - - - - Defines the to be used to convert the type - - - - - - Composition of all available conversion managers - - - - - Establish a composition interface and a subsystem. - Implementors should delegate the conversion to - a instance of a type converter. - - - - - Register a type converter instance. - - - - - - Contract for SubSystem that wishes to keep and coordinate - component registration. - - - - - Register a new component resolver that can take part in the decision - making about which handler to resolve - - - - - Register a new component resolver that can take part in the decision - making about which handler(s) to resolve and in which order - - - - - Returns true if there is a component registered - for the specified name - - - - - - - Returns true if there is a component registered - for the specified service - - - - - - - Returns all registered. - - - - - - Return s where components are compatible - with the specified service. - - - - - - - Returns the associated with - the specified name. - - - - - - - Returns the associated with - the specified service. - - - - - Returns an array of associated with - the specified service. - - - - - - - Implementors should register the with all its exposes. - The handler should also be accessible via unique of its . - - - Thrown if the of 's is not unique and a handler with the same name has already been registered. - - - - Returns the number of components registered. - - - - - Map(String, IHandler) to map component names to Items in this dictionary are sorted in insertion order. - - - - - Map(Type, IHandler) to map a service to . If there is more than a single service of the type, only the first registered services is stored in this dictionary. It serve as a fast lookup for the common case of having a single handler for a type. - - - - - Implementors of this interface allow to extend the way the container perform - component resolution based on some application specific business logic. - - - This is the sibling interface to . - This is dealing strictly with root components, while the is dealing with - dependent components. - - - - - Whatever the selector has an opinion about resolving a component with the - specified service and key. - - The service key - can be null - The service interface that we want to resolve - - - - Select the appropriate handler from the list of defined handlers. - The returned handler should be a member from the array. - - The service key - can be null - The service interface that we want to resolve - The defined handlers - The selected handler, or null - - - - Pendent - - - - - An implementation of a should - be able to return instances of - for a given resource identifier. - - - - - Holds the keys used by Kernel to register/request - a subsystem. - - - - - Key used for the configuration store subsystem - - - - - Key used for the conversion manager - - - - - Key used for the diagnostics subsystem - - - - - Key used for the naming subsystem - - - - - Key used for the resource subsystem - - - - - Implementation of . - Do not support configuration inheritance. - - - - - Interpreter of a specific language to describe - configuration nodes in a hierarchical manner. - - - - - Should obtain the contents from the resource, - interpret it and populate the - accordingly. - - - - - - - - Gets or sets the name of the environment. - - The name of the environment. - - - - Exposes the reference to - which the interpreter is likely to hold - - - - - Provides common methods for those who wants - to implement - - - - - Should obtain the contents from the resource, - interpret it and populate the - accordingly. - - - - - - - - Exposes the reference to - which the interpreter is likely to hold - - - - - - Gets or sets the name of the environment. - - The name of the environment. - - - - Reads the configuration from a XmlFile. Sample structure: - - <configuration> - <facilities> - <facility id="myfacility"> - - </facility> - </facilities> - - <components> - <component id="component1"> - - </component> - </components> - </configuration> - - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The filename. - - - - Initializes a new instance of the class. - - The source. - - - - Initializes a new instance of the class. - - Name of the environment. - - - - Initializes a new instance of the class. - - Name of the environment. - The resource sub system. - - - - Processes the element. - - The element. - - - - - Processes the element. - - The element. - - - - - Make a shallow copy of the nodeList. - - The nodeList to be copied. - - - - - Accepts the specified node. - Check if node has the same name as the processor and the node.NodeType - is in the AcceptNodeTypes List - - The node. - - - - - Convert and return child parameter into an XmlElement - An exception will be throw in case the child node cannot be converted - - Parent node - Node to be converted - child node as XmlElement - - - - - - - - - - - attributeValue - - propertyValue - - - - - - - Processes the specified node list. - - The node list. - The engine. - - - - Processes element attributes. - if the attribute is include will append to the element - all contents from the file. - if the attribute has a property reference the reference will be - expanded - - The element. - - - - - Properties names can contain a-zA-Z0-9_. - i.e. #!{ my_node_name } || #{ my.node.name } - spaces are trimmed - - - - - Processes the string. - - The node. - The value. - The context. - - - - Accepts the specified node. - Check if node has the same name as the processor and the node.NodeType - is in the AcceptNodeTypes List - NOTE: since the BatchRegistrationFacility already uses an include - element we will distinguish between both by looking for the presence of an uri attribute - we should revisit this later by using xml-namespaces - - The node. - - - - - - - - - - - - attributeValue - - propertyValue - - - - - - - Pendent - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - Name of the environment. - The resource sub system. - - - - Initializes a new instance of the class. - - - - - Collects all handlers for components in hosting container. - - - - - Base inteface for exposing diagnostic information about container, its components and extensions - - - - - - Collects specified diagnostic information. - - - - - - Collects all handlers for components in hosting container grouped by services they expose. - Within the service group, first one would be the default (the one obtained when callling for the service type) - - - - - Hosts different diagnostics available in the container. - - - - - Adds and makes it available as . - - - Thrown when a diagnostic for - - has already been added. - - - - - Returns diagnostic registered with or null if not present. - - - - - - - Stupid name, but debugger views in Visual Studio display items in alphabetical order so if we want - to have that item on top its name must be alphabetically before - - - - - Collects dependencies that are duplicated between constructors and properties. - - - - - Detects components that are not extending Windsor's infrastructure yet depend on the container which usually means they use the container as service locator - which is a bad practice and should be avoided. Consult the documentation for more details: http://j.mp/WindsorSL - - - - - Exposes diagnostics about itself to the . - - Usually simple type containing information provided to the . - - Can be implemented by any type constituting part of container infrastructure. Should have a matching registred in the container that knows - how to find it and that prepares information from it for consumption. - - - - - Collects for the and calls if any data available. - - - pass-through context. Used by the inspector. - - - - Gets the environment information (name). Implementors should - use to define their environments and how those affect the configuration. - - - - - Gets the name of the environment. - - - - - - Installs all the components from the App.Config file. - - - - - - Installs all the component from the xml configuration. - - The xml configuration resource. - - - - - Installs all the component from the xml configuration file. - - The xml configuration file. - - - - - Delegate to provide environment name. - - The environment name. - - - - Initializes a new instance of the ConfigurationInstaller class. - - - - - Sets the configuration environment name. - - The environment name. - - - - - Set the configuration environment strategy. - - The environment strategy. - - - - - Default implementation. - - - - - Installs the components and facilities based on the - information on the configuration store. - - - - - Perform installation. - - Target container - Configuration store - - - - Perform installation. - - Target container - Configuration store - - - - Scans the assembly containing specified type for types implementing , instantiates them and returns so that can - install them. - - - - - - Scans the assembly containing specified type for types implementing , instantiates using given and returns so that - can install them. - - - - - - Scans the assembly containing specified type for types implementing , instantiates them and returns so that can - install them. - - - - - - Scans the assembly containing specified type for types implementing , instantiates using given and returns so that - can install them. - - - - - - Scans assemblies in directory specified by for types implementing , instantiates and returns so that - can install them. - - - - - - - Scans assemblies in directory specified by for types implementing , instantiates using given and - returns so that can install them. - - - - - - - - Scans current assembly and all refernced assemblies with the same first part of the name for types implementing , instantiates and returns so that - can install them. - - - - Assemblies are considered to belong to the same application based on the first part of the name. For example if the method is called from within MyApp.exe and MyApp.exe references - MyApp.SuperFeatures.dll, mscorlib.dll and ThirdPartyCompany.UberControls.dll the MyApp.exe and MyApp.SuperFeatures.dll will be scanned for installers, and other - assemblies will be ignored. - - - - - Scans current assembly and all refernced assemblies with the same first part of the name for types implementing , instantiates using given - and returns so that can install them. - - - - - Assemblies are considered to belong to the same application based on the first part of the name. For example if the method is called from within MyApp.exe and MyApp.exe references - MyApp.SuperFeatures.dll, mscorlib.dll and ThirdPartyCompany.UberControls.dll the MyApp.exe and MyApp.SuperFeatures.dll will be scanned for installers, and other - assemblies will be ignored. - - - - - Scans the specified assembly with specified name for types implementing , instantiates them and returns so that can - install them. - - - - - - Scans the specified assembly with specified name for types implementing , instantiates using given and returns so that - can install them. - - - - - - Scans the assembly with specified name for types implementing , instantiates them and returns so that can install - them. - - - - - - Scans the assembly with specified name for types implementing , instantiates using given and returns so that - can install them. - - - - - - Scans assembly that contains code calling this method for types implementing , instantiates them and returns so that - can install them. - - - - - - Scans assembly that contains code calling this method for types implementing , instantiates using given and returns so that - can install them. - - - - - - Helper class used by to filter/order and instantiate implementations - - - - - Performs custom instantiation of given - - - Default implementation uses public parameterless constructor to create the instance. - - - - - Performs custom filtering/ordering of given set of types. - - Set of concrete class types implementing interface. - Transformed . - - Default implementation simply returns types passed into it. - - - - - The IWindsorContainer interface exposes all the - functionality the Windsor implements. - - - - - Registers a subcontainer. The components exposed - by this container will be accessible from subcontainers. - - - - - - Registers a facility within the container. - - The to add to the container. - - - - Creates and adds an facility to the container. - - The facility type. - - - - - Creates and adds an facility to the container. - - The facility type. - The callback for creation. - - - - - Gets a child container instance by name. - - The container's name. - The child container instance or null - - - - Runs the so that they can register components in the container. For details see the documentation at http://j.mp/WindsorInstall - - - In addition to instantiating and passing every installer inline you can use helper methods on class to automatically instantiate and run your installers. - You can also use class to install components and/or run aditional installers specofied in a configuration file. - - The container. - - - container.Install(new YourInstaller1(), new YourInstaller2(), new YourInstaller3()); - - - - - container.Install(FromAssembly.This(), Configuration.FromAppConfig(), new SomeOtherInstaller()); - - - - - - Registers the components with the . The instances of are produced by fluent registration API. - Most common entry points are method to register a single type or (recommended in most cases) - . - Let the Intellisense drive you through the fluent API past those entry points. For details see the documentation at http://j.mp/WindsorApi - - - - container.Register(Component.For<IService>().ImplementedBy<DefaultService>().LifestyleTransient()); - - - - - container.Register(Classes.FromThisAssembly().BasedOn<IService>().WithServiceDefaultInterfaces().Configure(c => c.LifestyleTransient())); - - - The component registrations created by , or different entry method to the fluent API. - The container. - - - - Releases a component instance - - - - - - Remove a child container - - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the service - - - - - - - Returns a component instance by the service - - - - - - - - Returns a component instance by the service - - - - - - - - Returns a component instance by the service - - Service type - The component instance - - - - Returns a component instance by the service - - Service type - - The component instance - - - - Returns a component instance by the service - - Service type - - The component instance - - - - Returns a component instance by the key - - Component's key - Service type - The Component instance - - - - Returns a component instance by the key - - Service type - Component's key - - The Component instance - - - - Returns a component instance by the key - - Service type - Component's key - - The Component instance - - - - Returns a component instance by the key - - - - - - - - - Returns a component instance by the key - - - - - - - - - Resolve all valid components that match this type. - - The service type - - - - Resolve all valid components that match this service - the service to match - - - - - Resolve all valid components that match this service - the service to match - Arguments to resolve the service - - - - - Resolve all valid components that match this service - the service to match - Arguments to resolve the service - - - - - Resolve all valid components that match this type. - The service type - Arguments to resolve the service - - - - - Resolve all valid components that match this type. - The service type - Arguments to resolve the service - - - - - Registers a facility within the container. - - The key by which the gets indexed. - The to add to the container. - - - - Creates and adds an facility to the container. - - The facility type. - - - - - - Creates and adds an facility to the container. - - The facility type. - - The callback for creation. - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the key - - - - - - - - Returns the inner instance of the MicroKernel - - - - - Gets the container's name - - - Only useful when child containers are being used - - The container's name. - - - - Gets or sets the parent container if this instance - is a sub container. - - - - - This interface should be implemented by classes - that are available in a bigger context, exposing - the container to different areas in the same application. - - For example, in Web application, the (global) HttpApplication - subclasses should implement this interface to expose - the configured container - - - - - - Obtains the interceptors associated with the component. - - The kernel instance - The component model - The creation context - interceptors array - - - - This implementation of relies - on DynamicProxy to expose proxy capabilities. - - - Note that only virtual methods can be intercepted in a - concrete class. However, if the component - was registered with a service interface, we proxy - the interface and the methods don't need to be virtual, - - - - - Constructs a DefaultProxyFactory - - - - - Creates the proxy for the supplied component. - - The kernel. - The target. - The model. - The constructor arguments. - The creation context - The component proxy. - - - - Determines if the component requires a target instance for proxying. - - The kernel. - The model. - true if an instance is required. - - - - Implementation of - which delegates to implementation. - - - - - Constructs a container without any external - configuration reference - - - - - Constructs a container using the specified - implementation. - - The instance of an implementation. - - - - Constructs a container using the specified - implementation. - - The instance of an implementation. - - - - Initializes a new instance of the class. - - The interpreter. - The environment info. - - - - Initializes a new instance of the class using a - resource pointed to by the parameter. That may be a file, an assembly embedded resource, a UNC path or a config file section. - - Equivalent to the use of new WindsorContainer(new XmlInterpreter(configurationUri)) - - - The XML file. - - - - Constructs a container using the specified - implementation. Rarely used. - - - This constructs sets the Kernel.ProxyFactory property to - Proxy.DefaultProxyFactory - - Kernel instance - Installer instance - - - - Constructs a container using the specified - implementation. Rarely used. - - - This constructs sets the Kernel.ProxyFactory property to - Proxy.DefaultProxyFactory - - Container's name - Kernel instance - Installer instance - - - - Constructs with a given . - - A instance of an . - - - - Constructs a container assigning a parent container - before starting the dependency resolution. - - The instance of an - The instance of an implementation - - - - Initializes a new instance of the class. - - The container's name. - The parent. - The interpreter. - - - - Executes Dispose on underlying - - - - - Registers a subcontainer. The components exposed - by this container will be accessible from subcontainers. - - - - - - Registers a facility within the container. - - - - - - Creates and adds an facility to the container. - - The facility type. - - - - - Creates and adds an facility to the container. - - The facility type. - The callback for creation. - - - - - Gets a child container instance by name. - - The container's name. - The child container instance or null - - - - Runs the so that they can register components in the container. For details see the documentation at http://j.mp/WindsorInstall - - - In addition to instantiating and passing every installer inline you can use helper methods on class to automatically instantiate and run your installers. - You can also use class to install components and/or run aditional installers specofied in a configuration file. - - The container. - - - container.Install(new YourInstaller1(), new YourInstaller2(), new YourInstaller3()); - - - - - container.Install(FromAssembly.This(), Configuration.FromAppConfig(), new SomeOtherInstaller()); - - - - - - Registers the components with the . The instances of are produced by fluent registration API. - Most common entry points are method to register a single type or (recommended in most cases) - . - Let the Intellisense drive you through the fluent API past those entry points. For details see the documentation at http://j.mp/WindsorApi - - - - container.Register(Component.For<IService>().ImplementedBy<DefaultService>().LifestyleTransient()); - - - - - container.Register(Classes.FromThisAssembly().BasedOn<IService>().WithServiceDefaultInterfaces().Configure(c => c.LifestyleTransient())); - - - The component registrations created by , or different entry method to the fluent API. - The container. - - - - Releases a component instance - - - - - - Removes (unregisters) a subcontainer. The components exposed by this container - will no longer be accessible to the child container. - - - - - - Returns a component instance by the service - - - - - - - - Returns a component instance by the service - - - - - - - - Returns a component instance by the service - - - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the key - - - - - - - - - Returns a component instance by the key - - - - - - - - - Returns a component instance by the service - - - - - - - - Returns a component instance by the service - - - - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the service - - - - - - - Returns a component instance by the key - - - - - - - Resolve all valid components that match this type. - - The service type - - - - Resolve all valid components that match this type. - The service type - Arguments to resolve the service - - - - - Resolve all valid components that match this type. - The service type - Arguments to resolve the service - - - - - Registers a facility within the container. - - - - - - - Creates and adds an facility to the container. - - The facility type. - - - - - - Creates and adds an facility to the container. - - The facility type. - - The callback for creation. - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the key - - - - - - - - Returns the inner instance of the MicroKernel - - - - - Gets the container's name - - - Only useful when child containers are being used - - The container's name. - - - - Gets or sets the parent container if this instance - is a sub container. - - - - - Implementation of and that uses a or as its component's source. - - - - diff --git a/packages/Castle.Windsor.3.2.0/lib/sl4/Castle.Windsor.dll b/packages/Castle.Windsor.3.2.0/lib/sl4/Castle.Windsor.dll deleted file mode 100644 index f0c3021..0000000 Binary files a/packages/Castle.Windsor.3.2.0/lib/sl4/Castle.Windsor.dll and /dev/null differ diff --git a/packages/Castle.Windsor.3.2.0/lib/sl4/Castle.Windsor.xml b/packages/Castle.Windsor.3.2.0/lib/sl4/Castle.Windsor.xml deleted file mode 100644 index da30e37..0000000 --- a/packages/Castle.Windsor.3.2.0/lib/sl4/Castle.Windsor.xml +++ /dev/null @@ -1,7384 +0,0 @@ - - - - Castle.Windsor - - - - - Indicates that the target components wants instance lifetime and reuse scope to be bound to another component further up the object graph. - Good scenario for this would be unit of work bound to a presenter in a two tier MVP application. - The attribute must point to a type - having default accessible constructor and public method matching signature of Func<IHandler[], IHandler> delegate. - - - - - Base for Attributes that want to express lifestyle - chosen by the component. - - - - - Initializes a new instance of the class. - - The type. - - - - Gets or sets the lifestyle. - - The lifestyle. - - - - Initializes a new instance of the class. - - type having default accessible constructor and public method matching signature of Func<IHandler[], IHandler> delegate. The method will be used to pick of the component current instance should be bound to. - - - - type having default accessible constructor and public method matching signature of Func<IHandler[], IHandler> delegate. The method will be used to pick of the component current instance should be bound to. - - - - - Represents a dependency (other component or a - fixed value available through external configuration). - - - - - Initializes a new instance of the class. - - The dependency key. - Type of the target. - if set to true [is optional]. - - - - Returns a that represents the current . - - A that represents the current . - - - - The default value of this dependency. Note that null is a valid default value. Use to determine whether default value was provided. - - - - - Gets or sets the dependency key. - - The dependency key. - - - - Specifies whether dependency has a default value (). Note that null is a valid default value. - - - - - Gets or sets whether this dependency is optional. - - true if this dependency is optional; otherwise, false . - - - - Gets the service type of the dependency. - This is the same type as or if is by ref, - then it's the element type of the reference. (in other words if dependency - is out IFoo foo this will be IFoo, while will be &IFoo); - - - - - Gets the type of the target. - - The type of the target. - - - Indicates that the target components wants a custom lifestyle. - - - - Initializes a new instance of the class. - - The custom lifestyle type. - - - - Marks as constructor to be skipped and not be selected - by the IoC container during new component activation - - - - - This attribute is useful only when you want to register all components - on an assembly as a batch process. - By doing so, the batch register will look - for this attribute to distinguish components from other classes. - - - - - Associates a custom activator with a component - - - - - Initializes a new instance of the class. - - Type of the component activator. - - - - Gets the type of the component activator. - - The type of the component activator. - - - - Gets the default name for component implemented by which will be used in case when user does not provide one explicitly. - - - - - - - Gets the default name for component implemented by which will be used in case when user does not provide one explicitly. - - - - - - - Specifies the proxying behavior for a component. - - - - - Gets or sets the additional interfaces used during proxy generation. - - - - - Marks as property to be skipped and not be wired - by the IoC container - - - - - Represents a concern that will be applied to a component instance - during commission phase (right after component instance is activated). - - - - - Implementors should act on the instance in response to - a commission phase. - - The model. - The component. - - - - Represents a concern that will be applied to a component instance - during decommission phase (right before component instance is destroyed). - - - - - Implementors should act on the instance in response to - a decommission phase. - - The model. - The component. - - - - Lifecycle interface. If implemented by a component, - the method Initialized will be invoked by the container - before making the component available to the external world. - - - - - Implementors should perform any initialization logic. - - - - - Used to declare that a component wants interceptors acting on it. - Out of the box recognized only if applied on component's implementation class. - - - - - Constructs the InterceptorAttribute pointing to a key to a interceptor - - - - - - Constructs the InterceptorAttribute pointing to a service - - - - - - Simple type for thread safe adding/reading to/from keyed store. The difference between this and built in concurrent dictionary is that in this case adding is happening under a lock so never more than one thread will be adding at a time. - - - - - - - Returns all values and clears the dictionary - - - - - - Performs string comparison using - - - - - - - - 0 == false, 1 = =true - - - - - Signals (sets) the flag. - - true if the current thread signaled the flag, false if some other thread signaled the flag before. - - - - Marker class used to denote components that have late bound type - That is the actual type is not known exactly at the time when - is created. Those are for example components instantiated via abstract factory. - - - - - If the extended type is a Foo[] or IEnumerable{Foo} which is assignable from Foo[] this method will return typeof(Foo) - otherwise null. - - - - - - - Checkis if given is a primitive type or collection of primitive types. Value types, are considered primitive and can not be registered as components in Windsor - - - - - - - Checkis if given is a primitive type. Value types and are considered primitive and can not be registered as components in Windsor - - - - - - - Calls and if a generic constraint is violated returns null instead of throwing . - - - - - - - - Enumeration used to mark the component's lifestyle. - - - - - No lifestyle specified. - - - - - Singleton components are instantiated once, and shared - between all clients. - - - - - Thread components have a unique instance per thread. - - - - - Transient components are created on demand. - - - - - Optimization of transient components that keeps - instance in a pool instead of always creating them. - - - - - Any other logic to create/release components. - - - - - Instances are reused within the scope provided. - - - - - Instance lifetime and reuse scope is bound to another component further up the object graph. - Good scenario for this would be unit of work bound to a presenter in a two tier MVP application. - When specified in xml a scopeRootBinderType attribute must be specified pointing to a type - having default accessible constructor and public method matching signature of Func<IHandler[], IHandler> delegate. - - - - - Indicates that the target components wants a - per thread lifestyle. - - - - - Initializes a new instance of the class. - - - - - Indicates that the target components wants a - pooled lifestyle. - - - - - Initializes a new instance of the class - using the default initial pool size (5) and the max pool size (15). - - - - - Initializes a new instance of the class. - - Initial size of the pool. - Max pool size. - - - - Gets the initial size of the pool. - - The initial size of the pool. - - - - Gets the maximum pool size. - - The size of the max pool. - - - - Specifies rules for designating settable properties on a component as dependencies, and controlling whether they are requred or not. - This is a shortcut for most common scenarios. More advanced/custom scenarios can be defined dynamically in the registration API. - - - - - Takes no action. By default that means all settable properties will be exposed as optional dependencies. - - - - - Makes all property dependencies required. - - - - - Makes all property dependencies defined at a base class/interfaces level required. - - - - - Makes all properties ignored. - - - - - Ignores all properties defined at a base class/interface level. - - - This option is particularily useful in scenarios like UI controls which in .NET UI frameworks tend to have byzantine inheritance hierarchies. - - - - - Indicates that the target components wants a - per thread lifestyle. - - - - - Initializes a new instance of the class. - - - - - Indicates that the target components wants a - singleton lifestyle. - - - - - Initializes a new instance of the class. - - - - - Indicates that the target components wants a - transient lifestyle. - - - - - Initializes a new instance of the class. - - - - - Implementors must inspect the component for - a given information or parameter. - - - - - Usually the implementation will look in the configuration property - of the model or the service interface, or the implementation looking for - something. - - The kernel instance - The component model - - - - Selects one or both of component name and type, for given method - called on given typed factory type. - When component should be requested by type only, - componentName should be null. - When component should be requested by name only, - componentType should be null. - - - - - - - - If set to true, all methods with names like 'GetSomething' will try to resolve by name component 'something'. Defaults to true. - If set to true, will fallback to resolving by type, if can not find component with specified name. This property is here for backward compatibility. It is recommended not to use it. Defaults to false. - - - - Builds for given call. - By default if is a collection - returns factory calling on collection's item type, - otherwise standard . - - - - - - - - - - Selects arguments to be passed to resolution pipeline. - By default passes all given - keyed by names of their corresponding parameters. - - - - - - - - Selects name of the component to resolve. - If Name is GetFoo returns "Foo", otherwise null. - - - - - - - - Selects type of the component to resolve. Uses return type. - - - - - - - - If set to true, will fallback to resolving by type, if can not find component with specified name. This property is here for backward compatibility. It is recommended not to use it. - - - - - If set to true, all methods with names like 'GetSomething' will try to resolve by name component 'something'. - - - - - Abstract implementation of . The implementors must only override the InternalCreate and InternalDestroy methods in order to perform their creation and destruction - logic. - - - - - Implements the instance creation logic. The default - implementation should rely on an ordinary call to - Activator.CreateInstance(). - - - This interface is provided in order to allow custom components - to be created using a different logic, such as using a specific factory - or builder. - - The constructor for implementation has the following signature: - - - ComponentModel model, IKernel kernel, - ComponentInstanceDelegate onCreation, - ComponentInstanceDelegate onDestruction - - - The Activator should raise the events onCreation and onDestruction - in order to correctly implement the contract. Usually the best - way of creating a custom activator is by extending the existing ones. - - - - - - - - Should return a new component instance. - - - - - - Should perform all necessary work to dispose the instance - and/or any resource related to it. - - - - - - Constructs an AbstractComponentActivator - - - - - Implemented by which don't necessarily need dependencies from the container to activate new instances of the component. - - - - - Should return true if the activator can provide dependencies for the . - - - - - - - Should return true if the activated instances of the are managed externally to the container. That means container will not try to track the objects in . - - - - - - - Provides lazy registration capabilities to the container. - - - When a component is requested from a container and it was not registered, - container loads up all registered implementers of this interface and asks - them in turn whether they can provide that component, until it finds one that will. - - - - - Used by container to allow the loader to register component for given and to the container at the time when it is requested - - Name of the requested component or null - Type of requested service or null - User supplied arguments or null - Registration that registers component for given key and/or service or null. - - While either key or service can be null reference it is guaranteed that at least one of them will not be null. - When implementer opts in to provide the requested component (by returning not-null registration) it is required - to register component for requested key/service combination (when one of the elements is null, it should be ignored as well). - When implementer does not want to register the requested component it must return null. - - - - - Specifies default configuration for a typed factory. All Selector* properties are mutually exclusive, that is you're only meant to set one. - - - - - Specifies component to use as selector for given factory. This works like any named service override. - - - - - Specifies component to use as selector for given factory. This works like any typed service override. - - - - - Specifies type of the selector to use for given factory. The type will be instantiated using default constructor. It must implement - - - - - Exception thrown whe a component could not be activated. THis should come from the component activator. - - - - - Exception thrown when resolution process for a component was unsuccessful at some point for whatever reason. - - - - - Standard implementation of . Handles the selection of the best constructor, fills the writable properties the component exposes, run the commission and - decommission lifecycles, etc. - - - Custom implementors can just override the CreateInstance method. Please note however that the activator is responsible for the proxy creation when needed. - - - - - Initializes a new instance of the class. - - - - - - - - - If - true - requires release by - - . If - false - , the object has a well defined, detectable end of life (web-request end, disposal of the container etc), and will be released externally. - - - - - Represents collection of arguments used when resolving a component. - - - - - Exception thrown when component has no resolvable constructor that can be used to create an instance. - - - - - Possible states for a IHandler instance - - - - - The component can be requested - - - - - The component can not be requested - as it still depending on a external - dependency not yet available - - - - - Inspects missings dependencies in the container. Default implementation is used to - construct helpful message for exceptions and debugger views, but other implementations - are also possible if needed. - - - - - Summary description for DefaultHandler. - - - - - Implements the basis of - - - - - Contract for the IHandler, which manages an - component state and coordinates its creation - and destruction (dispatching to activators, lifestyle managers) - - - - - Implementors should use a strategy to obtain - valid references to properties and/or services - requested in the dependency model. - - - - - Returns true if the resolver is able to satisfy this dependency. - - Creation context, which is a resolver itself - Parent resolver - normally the IHandler implementation - Model of the component that is requesting the dependency - The dependency model - true if the dependency can be satisfied - - - - Should return an instance of a service or property values as - specified by the dependency model instance. - It is also the responsibility of - to throw an exception in the case a non-optional dependency - could not be resolved. - - Creation context, which is a resolver itself - Parent resolver - normally the IHandler implementation - Model of the component that is requesting the dependency - The dependency model - The dependency resolved value or null - - - - Initializes the handler with a reference to the - kernel. - - - - - - Tests whether the handler is already being resolved in given context. - - - - - Implementors should dispose the component instance - - - true if destroyed. - - - - Implementors should return a valid instance - for the component the handler is responsible. - It should throw an exception in the case the component - can't be created for some reason - - - - - - Returns true if this handler supports - - - - - - - Implementors should return a valid instance - for the component the handler is responsible. - It should return null in the case the component - can't be created for some reason. No exception should be thrown. - - - - - - Gets the model of the component being - managed by this handler. - - - - - Gets the state of the handler - - - - - Might be implemented by a handler - so it can expose access to dependency information - which is used to construct meaningful error messages - - - - - Informs the about missing dependencies. - Implementers should ignore the call if no dependencies are missing and - call back the inspector with the information required otherwise - - - - - - Dictionary of key (string) to - - - - - Constructs and initializes the handler - - - - - - Should be implemented by derived classes: disposes the component instance (or recycle it) - - - true if destroyed. - - - - Returns an instance of the component this handler is responsible for - - - when false , handler can not create valid instance and return null instead - - - - - Saves the kernel instance, subscribes to event, creates the lifestyle manager instance and computes the handler state. - - - - - - disposes the component instance (or recycle it). - - - - - - - Returns an instance of the component this handler is responsible for - - - - - - - Invoked by in order to check if a dependency can be satisfied. If not, the handler is set to a 'waiting dependency' state. - - - This method registers the dependencies within the correct collection or dictionary and changes the handler state to - - - - - - Invoked by the kernel when one of registered dependencies were satisfied by new components registered. - - - Handler for the event - - - - - - Invoked when the container receives a parent container reference. - - - This method implementation checks whether the parent container is able to supply the dependencies for this handler. - - - - - - - Gets the component model. - - - - - Gets the handler state. - - - - - Lifestyle manager instance - - - - - Initializes a new instance of the - - class. - - - - - - disposes the component instance (or recycle it) - - - true if destroyed - - - - Returns an instance of the component this handler - is responsible for - - - - - - - - - - Lifestyle manager instance - - - - - Thrown when can't create proper closed version of itself due to violation of generic constraints. - - - - - Summary description for HandlerException. - - - - - Initializes a new instance of the class. - - The message. - - - - - Initializes a new instance of the class. - - The message. - - - - - - Initializes a new instance of the class. - - The message. - - - - - Initializes a new instance of the class. - - The message. - - - - - - Used during a component request, passed along to the whole process. - This allow some data to be passed along the process, which is used - to detected cycled dependency graphs and now it's also being used - to provide arguments to components. - - - - - The list of handlers that are used to resolve - the component. - We track that in order to try to avoid attempts to resolve a service - with itself. - - - - - Initializes a new instance of the class. - - The type to extract generic arguments. - The parent context. - When set to true will clone . - - - - Initializes a new instance of the class. - - The handler. - The release policy. - The type to extract generic arguments. - The additional arguments. - The conversion manager. - Parent context - - - - Initializes a new instance of the class. - - - - - Method used by handlers to test whether they are being resolved in the context. - - - - - This method is provided as part of double dispatch mechanism for use by handlers. - Outside of handlers, call instead. - - - - - Creates a new, empty instance. - - - A new CreationContext should be created every time, as the contexts keeps some state related to dependency resolution. - - - - - Default implementation of . This implementation is complete and also support a kernel hierarchy (sub containers). - - - Default implementation of . - This implementation is complete and also support a kernel - hierarchy (sub containers). - - - - - The IKernel interface exposes all the functionality - the MicroKernel implements. - - - It allows you to register components and - request them by their name or the services they expose. - It also allow you to register facilities and subsystem, thus - augmenting the functionality exposed by the kernel alone to fit - your needs. - - - - - - - Summary description for IKernelEvents. - - - - - Event fired when a new component is registered - on the kernel. - - - - - Event fired after the ComponentModel is created. - Allows customizations that may affect the handler. - - - - - Event fired when the kernel was added as child of - another kernel. - - - - - Event fired when the kernel was removed from being a child - of another kernel. - - - - - Event fired before the component is created. - - - - - Event fired when a component instance destroyed. - - - - - Event fired when a new handler is registered - (it might be in a valid or waiting dependency state) - - - - - Event fired when a new handler is registered - (it might be in a valid or waiting dependency state) - - - - - Event fired when a dependency is being resolved, - it allows the dependency to be changed, - but the client ComponentModel must not be changed. - - - - - Event fired when registration / installation process is completed. - That is when container is about to exit method. This event is raised once regardless of how many components were registered. - If the is called by the event is raised when that method exits. - - - - - Event fired when a collection is being resolved (via or another overload) and the collection is empty. - Implementors would usually log that fact or potentially throw an exception (especially in development). - - - - - Support for kernel hierarchy - - - - - - Adds a to the kernel. - - - - - - - Creates and adds an facility to the kernel. - - The facility type. - - - - - Creates and adds an facility to the kernel. - - The facility type. - The callback for creation. - - - - - Register a new component resolver that can take part in the decision - making about which handler to resolve - - - - - Register a new component resolver that can take part in the decision - making about which handler(s) to resolve and in which order - - - - - Adds (or replaces) an - - - - - - - Return handlers for components that - implements the specified service. - The check is made using IsAssignableFrom - - - - - - - Returns the facilities registered on the kernel. - - - - - - Returns the - for the specified component name. - - - - - - - Returns the - for the specified service. - - - - - - - Return handlers for components that - implements the specified service. - - - - - - - Returns an implementation of - for the specified name. - - - - - - - - Returns true if a component with given was registered, otherwise false. - - - - - - - Returns true if the specified service was registered - - - - - - - Registers the components with the . The instances of are produced by fluent registration API. - Most common entry points are method to register a single type or (recommended in most cases) - . - Let the Intellisense drive you through the fluent API past those entry points. For details see the documentation at http://j.mp/WindsorApi - - - - kernel.Register(Component.For<IService>().ImplementedBy<DefaultService>().LifestyleTransient()); - - - - - kernel.Register(Classes.FromThisAssembly().BasedOn<IService>().WithServiceDefaultInterfaces().Configure(c => c.LifestyleTransient())); - - - The component registrations created by , or different entry method to the fluent API. - The kernel. - - - - Releases a component instance. This allows - the kernel to execute the proper decommission - lifecycles on the component instance. - - - - - - Remove child kernel - - - - - - Adds a to the kernel. - - - - - - - - Creates and adds an facility to the kernel. - - The facility type. - - - - - Creates and adds an facility to the kernel. - - The facility type. - - The callback for creation. - - - - Returns the component instance by the component key - using dynamic arguments - - Key to resolve - Arguments to resolve the services - - - - - Returns the component instance by the component key - using dynamic arguments - - - - - - - - Returns the component instance by the service type - - - - - Returns the component instance by the service type - using dynamic arguments - - - - - - - - Returns the component instance by the service type - using dynamic arguments - - Service to resolve - Arguments to resolve the services - - - - - Returns a component instance by the key - - - - - - - - Returns the component instance by the service type - using dynamic arguments - - - - - - - Returns the component instance by the service type - using dynamic arguments - - Arguments to resolve the services - - - - - Returns the component instance by the component key - - - - - - Returns a component instance by the key - - Component's key - Service type - The Component instance - - - - Returns a component instance by the key - - Service type - Component's key - - The Component instance - - - - Returns a component instance by the key - - - - - - - - - Returns all the valid component instances by - the service type - - The service type - - - - Returns all the valid component instances by - the service type - - The service type - Arguments to resolve the services - - - - Returns all the valid component instances by - the service type - - The service type - Arguments to resolve the services - - - - Returns component instances that implement TService - - - - - - - Returns component instances that implement TService - - - - - - - Returns component instances that implement TService - - - - - - - Returns the implementation of - - - - - Gets or sets the implementation of - - - - - Graph of components and interactions. - - - - - Returns the implementation of - - - - - Returns the parent kernel - - - - - Gets or sets the implementation of - allowing different strategies for proxy creation. - - - - - Gets or sets the implementation for - - - - - Returns the implementation for - - - - - Returns the component instance by the key - - - - - Returns the component instance by the service type - - - - - Extended contract of kernel, used internally. - - - - - Adds a custom made . Used by facilities. - - - - - - Constructs an implementation of for the given - - - - - - - Returns a component instance by the key - - - - - - - - - - Internal logger used by the container (not just implementation itself but also other classes too) to log information about what's happening in the container. - - - - - List of sub containers. - - - - - List of registered. - - - - - Map of subsystems registered. - - - - - The parent kernel, if exists. - - - - - Constructs a DefaultKernel with no component proxy support. - - - - - Constructs a DefaultKernel with the specified implementation of and - - - - - - - Constructs a DefaultKernel with the specified implementation of - - - - - Starts the process of component disposal. - - - - - Return handlers for components that implements the specified service. The check is made using IsAssignableFrom - - - - - - - Returns the facilities registered on the kernel. - - - - - - Return handlers for components that implements the specified service. - - - - - - - Registers the components with the . The instances of are produced by fluent registration API. Most common entry points are - method to register a single type or (recommended in most cases) . Let the Intellisense drive you through the - fluent - API past those entry points. For details see the documentation at http://j.mp/WindsorApi - - - kernel.Register(Component.For<IService>().ImplementedBy<DefaultService>().LifestyleTransient()); - - - kernel.Register(Classes.FromThisAssembly().BasedOn<IService>().WithServiceDefaultInterfaces().Configure(c => c.LifestyleTransient())); - - The component registrations created by , or different entry method to the fluent - API. - The kernel. - - - - Releases a component instance. This allows the kernel to execute the proper decommission lifecycles on the component instance. - - - - - - Creates an implementation of based on and invokes to initialize the newly created manager. - - - - - - - - It is the responsibility of the kernel to ensure that handler is only ever disposed once. - - - - - Returns the component instance by the component key - using dynamic arguments - - - - - - - - Returns the component instance by the component key - using dynamic arguments - - - - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the key - - - - - - - - - Returns the component instance by the service type - using dynamic arguments - - - - - - - Returns the component instance by the service type - using dynamic arguments - - - - - - - Returns the component instance by the component key - - - - - - Returns a component instance by the key - - Component's key - Service type - - The Component instance - - - - - Returns a component instance by the key - - Service type - Component's key - - - The Component instance - - - - - Returns the component instance by the service type - - - - - Returns the component instance by the service type - using dynamic arguments - - - - - - - - Returns the component instance by the service type - using dynamic arguments - - - - - - - - Returns all the valid component instances by - the service type - - The service type - - - - Returns all the valid component instances by - the service type - - The service type - - Arguments to resolve the services - - - - - Returns all the valid component instances by - the service type - - The service type - - Arguments to resolve the services - - - - - Returns component instances that implement TService - - - - - - - - Returns component instances that implement TService - - - - - - - - Returns component instances that implement TService - - - - - - - Returns a component instance by the key - - - - - - - - - - Graph of components and interactions. - - - - - Exception throw when a circular dependency is detected - - - - - Initializes a new instance of the - - class. - - The message. - - - - Initializes a new instance of the - - class. - - The message. - The inner exception. - - - - Initializes a new instance of the - - class. - - - - - - - Exception threw when a request for a component - cannot be satisfied because the component does not - exist in the container - - - - - Initializes a new instance of the - - class. - - The name. - Exception message. - - - - Initializes a new instance of the - - class. - - The service. - Exception message. - - - - Initializes a new instance of the - - class. - - The service. - - - - Exception threw when there is a problem - registering a component - - - - - Initializes a new instance of the class. - - The message. - - - - Implementation of this interface allows for extension of the way - the container looks up multiple handlers. It provides the necessary - hook to allow for business logic to prioritize, filter, and sort - handlers when resolving multiple handlers. - - - - - Whatever the selector has an opinion about resolving a component with the - specified service and key. - - The service interface that we want to resolve - - - - Select the appropriate handlers (if any) from the list of defined handlers, - returning them in the order they should be executed. - The returned handlers should members from the array. - - The service interface that we want to resolve - The defined handlers - The selected handlers, or an empty array, or null - - - - Exception threw by Kernel operations that failed - for some reason. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The message. - The inner exception. - - - - Base class for facilities. - - - - - Unit of extension. A facility should use - the extension points offered by the kernel - to augment its functionality. - - - - - - - - - - - - - - - The custom initialization for the Facility. - - - It must be overridden. - - - - - Performs the tasks associated with freeing, releasing, or resetting - the facility resources. - - - It can be overriden. - - - - - Initializes the facility. First it performs the initialization common for all - facilities, setting the and the - . After it, the Init method is invoked - and the custom initilization is perfomed. - - - - - - - Terminates the Facility, invokes the method and sets - the Kernel to a null reference. - - - - - Gets the facility configuration. - - The representing - the facility configuration. - - - - Gets the where the facility is registered. - - The . - - - - Base exception to be used by facilities. - - - - - This method changes behavior of the facility. Deferred mode should be used when you - have single call to and register all your components there. - Enabling this mode will optimize the behavior of the facility so that it will wait 'till the end of - installation and only after all s were ran it will instantiate and - start all the startable components. An exception will be thrown if a startable component can't be - instantiated and started. This will help you fail fast and diagnose issues quickly. If you don't want - the exception to be thrown and you prefer the component to fail silently, use method instead. - - - It is recommended to use this method over method. - - - - - This method changes behavior of the facility. Deferred mode should be used when you - have single call to and register all your components there. - Enabling this mode will optimize the behavior of the facility so that it will wait 'till the end of - installation and only after all s were ran it will instantiate and - start all the startable components. No exception will be thrown if a startable component can't be - instantiated and started. If you'd rather fail fast and diagnose issues quickly, use method instead. - - - It is recommended to use method over this method. - - - - - For each new component registered, - some components in the WaitingDependency - state may have became valid, so we check them - - - - - Request the component instance - - - - - - Assigns the start method for the startable. - - - The start method. - - - Be sure that you first added the - to the kernel, before registering this component. - - - - - Assigns the start method for the startable. - - - Method to use. something like: StartUsingMethod(s => s.Start) - - - Be sure that you first added the - to the kernel, before registering this component. - - - - - Assigns the stop method for the startable. - - - The stop method. - - - Be sure that you first added the - to the kernel, before registering this component. - - - - - Assigns the stop method for the startable. - - - Method to use. something like: StartUsingMethod(s => s.Start) - - - Be sure that you first added the - to the kernel, before registering this component. - - - - - Legacy class from old impl. of the facility. Do not use it. - - - - - Legacy interceptor for old impl. of the facility. - - - - - Interceptors might implement this to receive the - ComponentModel on behalf of the component where the - interceptor is acting. - - - - - Represents a single component to be resolved via Typed Factory - - - - - Resolves the component(s) from given kernel. - - - - Resolved component(s). - - - - Provides automatically generated factories on top of interfaces or delegates that - you can use to pull components out of the container without ever referencing it - explicitly. - - - - - Marks the component as typed factory. - - - - - - Only interfaces and delegates are legal to use as typed factories. Methods with out parameters are not allowed. - When registering component as typed factory no implementation should be provided (in case there is any it will be ignored). - Typed factories rely on set internally, so users should not set interceptor selectors explicitly; - otherwise the factory will not function correctly. - - - - - Marks the component as typed factory. - - - - Name of the component to be used for this factory - - - Only interfaces and delegates are legal to use as typed factories. Methods with out parameters are not allowed. - When registering component as typed factory no implementation should be provided (in case there is any it will be ignored). - Typed factories rely on set internally, so users should not set interceptor selectors explicitly; - otherwise the factory will not function correctly. - - - - - Marks the component as typed factory. - - - - Type of the component to be used for this factory - - - Only interfaces and delegates are legal to use as typed factories. Methods with out parameters are not allowed. - When registering component as typed factory no implementation should be provided (in case there is any it will be ignored). - Typed factories rely on set internally, so users should not set interceptor selectors explicitly; - otherwise the factory will not function correctly. - - - - - Marks the component as typed factory. - - - - The instance to be used for this factory - - - Only interfaces and delegates are legal to use as typed factories. Methods with out parameters are not allowed. - When registering component as typed factory no implementation should be provided (in case there is any it will be ignored). - Typed factories rely on set internally, so users should not set interceptor selectors explicitly; - otherwise the factory will not function correctly. - - - - - Marks the component as typed factory. - - - - - - - Only interfaces and delegates are legal to use as typed factories. Methods with out parameters are not allowed. - When registering component as typed factory no implementation should be provided (in case there is any it will be ignored). - Typed factories rely on set internally, so users should not set interceptor selectors explicitly; - otherwise the factory will not function correctly. - - - - - Initializes a new instance of the class. - - The parent handler. - The child resolver. - Release policy of the parent container. - - - - Clone some of the parent componentmodel properties to the generic subhandler. - - - The following properties are copied: - - - The - - - - - - The - - - - - - the subhandler - - - - Extension point to allow the developer to use his implementation of - - - - - Represents a delegate which holds basic information about a component. - - Key which identifies the component - handler that holds this component and is capable of - creating an instance of it. - - - - - Represents a delegate which holds basic information about a component - and its instance. - - Component meta information - Component instance - - - - Represents a delegate which holds the information about the - component - - - - - Represents a delegate which holds the information about a service. - - - - - Represents a delegate which holds a handler - - handler that holds a component and is capable of - creating an instance of it. - - - - - - Represents a delegate which holds dependency - resolving information. - - - - - Abstract representation of a vertex. - - - - - The nodes that this node depends on - - - - - The node has not been visited yet - - - - - This node is in the process of being visited - - - - - This now was visited - - - - - Represents a collection of objects - which are guaranteed to be unique - and holds a color for them - - - - - Holds a timestamp (integer) - for a given item - - - - - Summary description for DisposalConcern. - - - - - Summary description for InitializationConcern. - - - - - Lifetime concern that works for components that don't have their actual type determined upfront - - - - - Lifetime concern that works for components that don't have their actual type determined upfront - - - - - Lifetime concern that works for components that don't have their actual type determined upfront - - - - - Summary description for SupportInitializeConcern. - - - - - Only called for components that - belongs to a pool when the component - comes back to the pool. - - - - - Implementors should perform any - initialization/clean up. - - - - - Interface for components that wish to be started and stopped by the container - - - - - Starts this instance. - - - - - Stops this instance. - - - - - Base implementation of - - - - - The ILifestyleManager implements - a strategy for a given lifestyle, like singleton, per-thread - and transient. - - - The responsibility of ILifestyleManager - is only the management of lifestyle. It should rely on - to obtain a new component instance - - - - - Initializes the ILifestyleManager with the - - - - - - - - - Implementors should release the component instance based - on the lifestyle semantic, for example, singleton components - should not be released on a call for release, instead they should - release them when disposed is invoked. - - - - - - Implementors should return the component instance based on the lifestyle semantic. - Also the instance should be set to , should be also set if needed - and if a new instance was created it should be passed on to of . - - - - - - - - Invoked when the container gets disposed. The container will not call it multiple times in multithreaded environments. - However it may be called at the same time when some out of band release mechanism is in progress. Resolving those potential - issues is the task of implementors - - - - - Provides access to held in whatever is appropriate for given scope. - - - Implementors should also ensure proper initialization of when accessed for the first time and ensure a thread safe implementation is used when scope or cache access can cause threading issues if non thread safe cache is used. - - - - - Provides access to for currently resolved component. - - Current creation context - Thrown when scope cache could not be accessed. - - - - Manages a pool of objects. - - - - - Pool implementation contract. - - - - - Implementors should release the instance or put it - on the pool - - - - - Represents persistence mechanism for instances of components that are supposed to be reused within scope managing the cache. - - - - Saves or retrieves a stored in the cache associated with the given . - - - Thrown when is null. - - - Thrown when there is already a associated with given - - value in the cache. - - The interface gives no thread safety guarantees. When the scope can be accessed from multiple threads the implementor should ensure thread safety. - - - - Delegate used by to request a new instance to be created (that would be the first instance in that scope, subsequently reused). - - Callback which should be invoken by provided delegate right after isntance gets created and before it burden gets tracked. - The purpose if this callback is to include scope in decisions regarding tracking of the instance by . - Depending on the scope implementation it may or may not provide its own end of lifetime detection mechanism. - - - - - Contribute to component model before standard run. - - - - - - - Contribute to component model after standard run. - - - - - - - Contribute to component model after standard run. - - - - - - - Entry point to fluent way to register, by convention, multiple concrete (non-abstract) classes (that include also delegate types). Use static methods on the class to fluently build - registration. - - - - Prepares to register types from a list of types. - The list of types. - - The corresponding - - - - Prepares to register types from a list of types. - The list of types. - - The corresponding - - - - Prepares to register types from an assembly. - The assembly. - - The corresponding - - - - Prepares to register types from an assembly containing the type. - The type belonging to the assembly. - - The corresponding - - - - Prepares to register types from an assembly containing the type. - The type belonging to the assembly. - - The corresponding - - - - Scans current assembly and all refernced assemblies with the same first part of the name. - - - Assemblies are considered to belong to the same application based on the first part of the name. For example if the method is called from within MyApp.exe and MyApp.exe references - MyApp.SuperFeatures.dll, mscorlib.dll and ThirdPartyCompany.UberControls.dll the MyApp.exe and MyApp.SuperFeatures.dll will be scanned for components, and other - assemblies will be ignored. - - - - Prepares to register types from an assembly. - The assembly name. - - The corresponding - - - - Prepares to register types from the assembly containing the code invoking this method. - - The corresponding - - - - - Entry point to fluent way to register, by convention, multiple types. No upfront filtering is done so literally every type will be considered. That means that usually some filtering done by user - will be required. For a most common case where non-abstract classes only are to be considered use class instead. Use static methods on the class to fluently build - registration. - - - - Prepares to register types from a list of types. - The list of types. - - The corresponding - - - - Prepares to register types from a list of types. - The list of types. - - The corresponding - - - - Prepares to register types from an assembly. - The assembly. - - The corresponding - - - - Prepares to register types from an assembly containing the type. - The type belonging to the assembly. - - The corresponding - - - - Prepares to register types from an assembly containing the type. - The type belonging to the assembly. - - The corresponding - - - - Scans current assembly and all refernced assemblies with the same first part of the name. - - - Assemblies are considered to belong to the same application based on the first part of the name. For example if the method is called from within MyApp.exe and MyApp.exe references - MyApp.SuperFeatures.dll, mscorlib.dll and ThirdPartyCompany.UberControls.dll the MyApp.exe and MyApp.SuperFeatures.dll will be scanned for components, and other - assemblies will be ignored. - - - - Prepares to register types from an assembly. - The assembly name. - - The corresponding - - - - Prepares to register types from the assembly containing the code invoking this method. - - The corresponding - - - - - Only one instance is created first time an instance of the component is requested, and it is then reused for all subseque. - - - - - Transient components are never reused. Since their lifetime does not have any externally constrained end, they have to be manually released if resolved explicitly, to ensure proper decomission. - - - - - Summary description for DefaultComponentModelBuilder. - - - - - Implementors must construct a populated - instance of ComponentModel by inspecting the component - and|or the configuration. - - - - - "To give or supply in common with others; give to a - common fund or for a common purpose". The contributor - should inspect the component, or even the configuration - associated with the component, to add or change information - in the model that can be used later. - - - - - Constructs a new ComponentModel by invoking - the registered contributors. - - - - - - - - - - Removes the specified contributor - - - - - - Initializes a new instance of the class. - - The kernel. - - - - "To give or supply in common with others; give to a - common fund or for a common purpose". The contributor - should inspect the component, or even the configuration - associated with the component, to add or change information - in the model that can be used later. - - - - - - Constructs a new ComponentModel by invoking - the registered contributors. - - - - - - - - - - Removes the specified contributor - - - - - - Initializes the default contributors. - - - - - Gets the contributors. - - The contributors. - - - - Inspects the component configuration and the type looking for a - definition of component activator type. The configuration preceeds whatever - is defined in the component. - - - This inspector is not guarantee to always set up an component activator type. - If nothing could be found it wont touch the model. In this case is up to - the kernel to establish a default component activator for components. - - - - - Searches for the component activator in the configuration and, if unsuccessful - look for the component activator attribute in the implementation type. - - The kernel instance - The model instance - - - - Reads the attribute "componentActivatorType" associated with the - component configuration and verifies it implements the - interface. - - - If the type does not implement the proper interface - - - - - - - Check if the type expose one of the component activator attributes - defined in Castle.Core namespace. - - - - - - Validates that the provide type implements IComponentActivator - - The custom component activator. - - - - Inspects the component configuration and type looking for information - that can influence the generation of a proxy for that component. - - We specifically look for additionalInterfaces and marshalByRefProxy - on the component configuration or the - attribute. - - - - - - Searches for proxy behavior in the configuration and, if unsuccessful - look for the attribute in - the implementation type. - - - - - Returns a instance if the type - uses the attribute. Otherwise returns null. - - - - - - Reads the proxy behavior associated with the - component configuration/type and applies it to the model. - - - If the conversion fails - - - - - - - Uses the ConfigurationStore registered in the kernel to obtain - an associated with the component. - - - - - Queries the kernel's ConfigurationStore for a configuration - associated with the component name. - - - - - - - Check for a node 'parameters' within the component - configuration. For each child it, a ParameterModel is created - and added to ComponentModel's Parameters collection - - - - - Inspect the configuration associated with the component - and populates the parameter model collection accordingly - - - - - - - This implementation of - collects all available constructors and populates them in the model - as candidates. The Kernel will pick up one of the candidates - according to a heuristic. - - - - - Only to hold internal constants and get rid of - magic numbers and hardcode names. - - - - - Inspect the component for InterceptorAttribute and - the configuration for the interceptors node - - - - - Inspects the type looking for interfaces that constitutes - lifecycle interfaces, defined in the Castle.Model namespace. - - - - - Checks if the type implements and or - interfaces. - - - - - - Inspects the component configuration and the type looking for a definition of lifestyle type. The configuration preceeds whatever is defined in the component. - - This inspector is not guarantee to always set up an lifestyle type. If nothing could be found it wont touch the model. In this case is up to the kernel to establish a default lifestyle for - components. - - - - Searches for the lifestyle in the configuration and, if unsuccessful look for the lifestyle attribute in the implementation type. - - - - Reads the attribute "lifestyle" associated with the component configuration and tries to convert to - enum type. - - - - Check if the type expose one of the lifestyle attributes defined in Castle.Model namespace. - - - - Base for inspectors that want configuration associated with methods. - For each child a is created - and added to ComponentModel's methods collection - - - Implementors should override the return - the name of the node to be inspected. For example: - - - - - ]]> - - - - - - This implementation of - collects all potential writable public properties exposed by the component - implementation and populates the model with them. - The Kernel might be able to set some of these properties when the component - is requested. - - - - - Adds the properties as optional dependencies of this component. - - - - - - - Represents the collection of information and meta information collected about a component. - - - - - Dependencies the kernel must resolve - - - - - Interceptors associated - - - - - External parameters - - - - - All potential properties that can be setted by the kernel - - - - - Constructs a ComponentModel - - - - - Adds constructor dependency to this - - - - - - Adds property dependency to this - - - - - - Add service to be exposed by this - - - - - - Requires the selected property dependencies. - - The property selector. - - - - Requires the property dependencies of type . - - The dependency type. - - - - Gets or sets the configuration. - - The configuration. - - - - Gets the constructors candidates. - - The constructors. - - - - Gets or sets the custom component activator. - - The custom component activator. - - - - Gets the custom dependencies. - - The custom dependencies. - - - - Gets or sets the custom lifestyle. - - The custom lifestyle. - - - - Dependencies are kept within constructors and properties. Others dependencies must be registered here, so the kernel (as a matter of fact the handler) can check them - - - - - Gets or sets the extended properties. - - The extended properties. - - - - Gets or sets the component implementation. - - The implementation. - - - - Gets or sets the strategy for inspecting public properties on the components - - - - - Gets the interceptors. - - The interceptors. - - - - Gets the lifecycle steps. - - The lifecycle steps. - - - - Gets or sets the lifestyle type. - - The type of the lifestyle. - - - - Sets or returns the component key - - - - - Gets the parameter collection. - - The parameters. - - - - Gets the properties set. - - The properties. - - - - Gets or sets a value indicating whether the component requires generic arguments. - - true if generic arguments are required; otherwise, false . - - - - Represents a constructor of the component - that the container can use to initialize it properly. - - - - - Initializes a new instance of the class. - - The constructor info. - The dependencies. - - - - Gets the ConstructorInfo (from reflection). - - The constructor. - - - - Gets the dependencies this constructor candidate exposes. - - The dependencies. - - - - Collection of - - - - - Collection of . - - - - - Represents an reference to a Interceptor component. - - - - - Represents obtained just in time object. - - - - - - If the reference introduces dependency on a component, should return for that dependency, otherwise null. - - - - - - - Resolves object referenced by this reference, optionally using provided . - If object is resolved from the kernel, the should be used to guard - against against cyclic dependencies. - - - - - - - - Initializes a new instance of the class. - - The component key. - - - - Initializes a new instance of the class. - - Type of the interceptor to use. This will reference the default component (ie. one with no explicitly assigned name) implemented by given type. - - - - Gets an for the component key. - - The component key. - The - - - - Gets an for the service. - - The service. - The - - - - Gets an for the service. - - The service type. - The - - - - Collection of - - - - Adds the specified interceptor as the first. - The interceptor. - - - Adds the interceptor to the end of the interceptors list if it does not exist already. - The interceptor reference. - - - Adds the specified interceptor as the last. - The interceptor. - - - Inserts the specified interceptor at the specified index. - The index. - The interceptor. - - - Returns an enumerator that can iterate through a collection. - - An - that can be used to iterate through the collection. - - - - Adds the specified item. - The interceptor. - - - Gets a value indicating whether this instance has interceptors. - - true if this instance has interceptors; otherwise, false. - - - - - Represents a collection of ordered lifecycle concerns. - - - - - Returns all concerns for the commission phase - - - - - - Returns all concerns for the decommission phase - - - - - - Gets a value indicating whether this instance has commission steps. - - - true if this instance has commission steps; otherwise, false. - - - - - Gets a value indicating whether this instance has decommission steps. - - - true if this instance has decommission steps; otherwise, false. - - - - - Represents meta information associated with a method - (not yet defined) - - - - - Initializes a new instance of the class. - - The config node. - - - - Gets the config node. - - The config node. - - - - Collection of - - - - - Gets the method info2 model. - - The method info2 model. - - - - Represents a parameter. Usually the parameter - comes from the external world, ie, an external configuration. - - - - - Initializes a new instance of the class. - - The name. - The value. - - - - Initializes a new instance of the class. - - The name. - The value. - - - - Gets the config value. - - The config value. - - - - Gets the name. - - The name. - - - - Gets the value. - - The value. - - - - Collection of - - - - - Adds the specified name. - - The name. - The value. - - - - Adds the specified name. - - The name. - The config node. - - - - Adds the specified key. - - - Not implemented - - The key. - The value. - - - - Returns an enumerator that can iterate through a collection. - - - An - that can be used to iterate through the collection. - - - - - Gets the count. - - The count. - - - - Gets the with the specified key. - - - - - - Represents a property and the respective dependency. - - TODO: remove this class and instead create PropertyDependencyModel like we do for constructors - - - - Initializes a new instance of the class. - - The property info. - The dependency. - - - - Gets the dependency. - - The dependency. - - - - Gets the property. - - The property. - - - - Collection of - - - - Finds a PropertySet the by PropertyInfo. - The info. - - - - - Reference to component obtained from the container. - - - - - - Creates a new instance of referencing default component implemented by - - - - - - Creates a new instance of referencing component - - - - - - Select the appropriate interceptors based on the application specific - business logic - - - - - Determine whatever the specified has interceptors. - The selector should only return true from this method if it has determined that is - a model that it would likely add interceptors to. - - The model - Whatever this selector is likely to add interceptors to the specified model - - - - Select the appropriate interceptor references. - The interceptor references aren't necessarily registered in the model.Intereceptors - - The model to select the interceptors for - The interceptors selected by previous selectors in the pipeline or if this is the first interceptor in the pipeline. - The interceptor for this model (in the current context) or a null reference - - If the selector is not interested in modifying the interceptors for this model, it - should return and the next selector in line would be executed. - If the selector wants no interceptors to be used it can either return null or empty array. - However next interceptor in line is free to override this choice. - - - - - Represents a reference to an existing object. - - - - - - Defines the contract used by the kernel - to obtain proxies for components. The implementor - must return a proxied instance that dispatch - the invocation to the registered interceptors in the model - - - - - Add the selector to the list of selectors that can affect interceptor's decisions - in the container. - - - - - Implementors must create a proxy based on - the information exposed by ComponentModel - - The kernel instance - The component model - The component instance to be proxy (only required in some cases) - array of parameters to the constructor (if any) - The creation context - proxy instance - - - - Implementor should check the component model - and determine if the caller must pass on the component - instance to the proxy - - The kernel instance - The component model - true if an instance must be passed to - - - - Determines whatever we need to create a proxy for this model - - - - - - - This is a placeholder implementation of . - - - The decision to supply no implementation for - is supported by the fact that the MicroKernel should be a thin - assembly with the minimal set of features, although extensible. - Providing the support for this interface would obligate - the user to import another assembly, even if the large majority of - simple cases, no use use of interceptors will take place. - If you want to use however, see the Windsor container. - - - - - Holds the keys used by the proxy factories. - - - - - Key used to supply custom proxy options. - - - - - Represents options to configure proxies. - - - - - Initializes a new instance of the class. - - - - - Adds the additional interfaces to proxy. - - The interfaces. - - - - Adds the additional mix ins to integrate. - - The mix ins. - - - - Adds the additional mix in to integrate. - - The mix in. - - - - Equals the specified obj. - - The obj. - true if equal. - - - - Gets the hash code. - - - - - - Gets the additional interfaces to proxy. - - The interfaces. - - - - Determines if the proxied component can change targets. - - - - - Gets or sets the proxy hook. - - - - - Gets the mix ins to integrate. - - The interfaces. - - - - Determines if the proxied component uses a target. - - - - - Gets or sets the interceptor selector. - - - - - Helper support for proxy configuration. - - - - - Obtains the associated with the . - - The component model. - true if the options should be created if not present. - The associated proxy options for the component model. - - - - Constructs the descriptor with name and value. - - The attribute name. - The attribute value. - - - - Constructs the descriptor with name. - - The component. - The attribute name. - - - - Builds the with value. - - The attribute value. - The - - - - Factory for creating objects. Use static methods on the class to fluently build registration. - - - - - Creates a component registration for the - - Type of the service. - The component registration. - - - - Creates a component registration for the - - Types of the service. - The component registration. - B - - - - Creates a component registration for the - - Types of the service. - The component registration. - - - - Creates a component registration for the service type. - - The service type. - The component registration. - - - - Creates a component registration for the service types. - - The primary service type. - The forwarded type. - The component registration. - - - - Creates a component registration for the service types. - - The primary service type. - The first forwarded type. - The second forwarded type. - The component registration. - - - - Creates a component registration for the service types. - - The primary service type. - The first forwarded type. - The second forwarded type. - The third forwarded type. - The component registration. - - - - Creates a component registration for the service types. - - The primary service type. - The first forwarded type. - The second forwarded type. - The third forwarded type. - The fourth forwarded type. - The component registration. - - - - Helper method for filtering components based on presence of an Attribute. - - - - - - container.Register( - Classes.FromThisAssembly() - .Where(Component.HasAttribute<UserAttribute>) ); - - - - - Helper method for filtering components based on presence of an Attribute and value of predicate on that attribute. - - - - - - container.Register( - Classes.FromThisAssembly() - .Where(Component.HasAttribute<UserAttribute>(u => u.SomeFlag)) ); - - - - - Determines if the component is a Castle component, that is - if it has a . - - true if the service is a Castle Component. - - This method is usually used as argument for method. - - - - - Creates a predicate to check if a component is in a namespace. - - The namespace. - true if the component type is in the namespace. - - - - Creates a predicate to check if a component is in a namespace. - - The namespace. - If set to true, will also include types from subnamespaces. - true if the component type is in the namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - true if the component is in the same namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - If set to true, will also include types from subnamespaces. - true if the component is in the same namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - true if the component is in the same namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - If set to true, will also include types from subnamespaces. - true if the component is in the same namespace. - - - - Inserts a new named argument with given key. If an argument for this name already exists, it will be overwritten. - - - - - Inserts a new typed argument with given type. If an argument for this type already exists, it will be overwritten. - - - - - Inserts a set of typed arguments. Property names of the anonymous type will be used as key. - - - - - Inserts a new typed argument with given type. If an argument for this type already exists, it will be overwritten. - - - - - Inserts a set of typed arguments. Actual type of the arguments will be used as key. - - - - - Registration for a single type as a component with the kernel. - - You can create a new registration with the factory. - - The service type - - - - The contract for all registrations with the kernel. - - - - - Performs the registration in the . - - The kernel. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Marks the components with one or more actors. - - The component actors. - - - - - Set a custom which creates and destroys the component. - - - - - - Adds the attribute descriptor. - - The key. - The value. - - - - - Adds the descriptor. - - The descriptor. - - - - - Creates an attribute descriptor. - - The attribute key. - - - - - Apply more complex configuration to this component registration. - - The config nodes. - - - - - Apply more complex configuration to this component registration. - - The configuration . - - - - - Defines additional dependencies for the component. Those can be any of , and . Use the static methods on - class to define the dependencies. See the example attached. - - The dependency. - - - Artificial example showing how to specify a service override. See other methods on class for more options. - DependsOn(Dependency.OnComponent(typeof(IRepository), typeof(IntranetRepository))); - - - - - Defines additional dependencies for the component. Those can be any combibation of , and . Use the static methods - on class to define the dependencies. See the example attached. - - The dependencies. - - - Artificial example showing how to specify three different dependencies. If any of the methods shown is not self explanatory consult its documentation. - DependsOn(Dependency.OnAppSettingsValue("connectionString", "intranet-connection-string"), - Dependency.OnComponent(typeof(IRepository), typeof(IntranetRepository)), - Dependency.OnValue("applicationName", "My Application")); - - - - - Uses a dictionary of key/value pairs, to specify custom dependencies. - - - The dependencies. - - - - - Uses an (anonymous) object as a dictionary, to specify custom dependencies. - - - The dependencies. - - - - - Allows custom dependencies to by defined dyncamically. Calling this overload is synonymous to using - - The delegate used for providing dynamic parameters. - - - - - Allows custom dependencies to by defined dynamically with releasing capability. Calling this overload is synonymous to using - - - The delegate used for providing dynamic parameters. - - - - - Allows custom dependencies to by defined dynamically with releasing capability. Calling this overload is synonymous to using - - - The delegate used for providing dynamic parameters. - - - Use when resolving components from in order to detect cycles. - - - - - Allows custom dependencies to by defined dyncamically. - - The delegate used for providing dynamic parameters. - - - - - Allows custom dependencies to by defined dynamically with releasing capability. - - The delegate used for providing dynamic parameters. - - - - - Allows custom dependencies to by defined dynamically with releasing capability. - - The delegate used for providing dynamic parameters. - - - Use when resolving components from in order to detect cycles. - - - - - Sets for this component. - - The extended properties. - - - - - Sets for this component. - - The extended properties. - - - - - Sets for this component. - - The extendend properties as key/value pairs. - - - - - Adds as additional services to be exposed by this component. - - The types to forward. - - - - - Adds as additional service to be exposed by this component. - - The forwarded type. - The component registration. - - - - Adds and as additional services to be exposed by this component. - - The first forwarded type. - The second forwarded type. - The component registration. - - - - Adds , and as additional services to be exposed by this component. - - The first forwarded type. - The second forwarded type. - The third forwarded type. - The component registration. - - - - Adds , , and as additional services to be exposed by - this component. - - The first forwarded type. - The second forwarded type. - The third forwarded type. - The fourth forwarded type. - The component registration. - - - - Adds as additional services to be exposed by this component. - - The types to forward. - - - - - Sets the concrete type that implements the service to . - - If not set, the class service type or first registered interface will be used as the implementation for this component. - - The type that is the implementation for the service. - - - - - Sets the concrete type that implements the service to . - - If not set, the class service type or first registered interface will be used as the implementation for this component. - - The type that is the implementation for the service. - - - - - Sets the concrete type that implements the service to . - - If not set, the class service type or first registered interface will be used as the implementation for this component. - - The type that is the implementation for the service. - Provides ability to close open generic service. Ignored when registering closed or non-generic component. - - - - - Sets the concrete type that implements the service to . - - If not set, the class service type or first registered interface will be used as the implementation for this component. - - The type that is the implementation for the service. - Provides ability to select if open generic component supports particular closed version of a service. - - - - - Sets the concrete type that implements the service to . - - If not set, the class service type or first registered interface will be used as the implementation for this component. - - The type that is the implementation for the service. - Provides ability to close open generic service. Ignored when registering closed or non-generic component. - Provides ability to select if open generic component supports particular closed version of a service. - - - - - Assigns an existing instance as the component for this registration. - - The component instance. - - - - - Set the interceptors for this component. - - The interceptors. - - - - - Set the interceptors for this component. - - The interceptors. - - - - - Set the interceptor for this component. - - - - - - Set the interceptor for this component. - - - - - - Set the interceptor for this component. - - - - - - Sets component lifestyle to specified one. - - - - - - Sets component lifestyle to specified one. - - - - - - Sets component lifestyle to per thread. - - - - - - Sets component lifestyle to scoped per explicit scope. If is provided, it will be used to access scope for the component. Otherwise the default scope accessor - will be used. - - - - - - Sets component lifestyle to scoped per explicit scope. - - - - - - Sets component lifestyle to scoped per farthest component on the resolution stack where implementation type is assignable to . - - - - - - Sets component lifestyle to scoped per nearest component on the resolution stack where implementation type is assignable to . - - - - - - Sets component lifestyle to scoped per scope determined by - - Custom algorithm for selection which component higher up the resolution stack should be the root of the lifetime scope for current component's instances. The delegate - will be invoked when current component is about to be resolved and will be passed set of handlers to components higher up the resolution stack. It ought to return one which it designages as the root - which shall scope the lifetime of current component's instance, or null - - - - - Sets component lifestyle to pooled. If or are not set default values will be used. - - - - - - Sets component lifestyle to singleton. - - - - - - Sets component lifestyle to transient. - - - - - - Set a name of this registration. This is required if you have multiple components for a given service and want to be able to resolve some specific ones. Then you'd provide the name so that Windsor - knows which one of the bunch you know. Otherwise don't bother setting the name. - - If not set, the of the will be used as the key to register the component. - - The name of this registration. - - - Names have to be globally unique in the scope of the container. - - - - - This method as opposed to should be used by tools like facilities when the name is not provided by the user, but autogenerated and user has no interest in seing this name, for - example in diagnostics reports. Set a name of this registration. This is required if you have multiple components for a given service and want to be able to resolve some specific ones. Then you'd - provide the name so that Windsor knows which one of the bunch you know. Otherwise don't bother setting the name. - - If not set, the of the will be used as the key to register the component. - - The name of this registration. - - - Names have to be globally unique in the scope of the container. - - - - - Stores a set of which will be invoked when the component is created and before it's returned from the container. - - A set of actions to be executed right after the component is created and before it's returned from the container. - - - - Stores a set of which will be invoked when the component is created and before it's returned from the container. - - A set of actions to be executed right after the component is created and before it's returned from the container. - - - - Stores a set of which will be invoked when the component is created and before it's returned from the container. - - A set of actions to be executed right after the component is created and before it's returned from the container. - - - - Stores a set of which will be invoked when the component is destroyed which means when it's released or it's lifetime scope ends. Notice that usage of this - method will cause instsances of the component to be tracked, even if they wouldn't be otherwise. - - A set of actions to be executed when the component is destroyed. - - - - Services that are already present in the container will be skipped. If no new service is left the registration will not happen at all. - - - - - - With the overwrite. - - - - - - Set configuration parameters with string or values. - - The parameters. - - - - - Sets the interceptor selector for this component. - - - - - - - Sets the interceptor selector for this component. - - - - - - - Override (some of) the services that this component needs. Use to create an override. - - Each key represents the service dependency of this component, for example the name of a constructor argument or a property. The corresponding value is the key of an other component registered to the - kernel, and is used to resolve the dependency. - - To specify dependencies which are not services, use - - The service overrides. - - - - - Override (some of) the services that this component needs, using a dictionary. - - Each key represents the service dependency of this component, for example the name of a constructor argument or a property. The corresponding value is the key of an other component registered to the - kernel, and is used to resolve the dependency. - - To specify dependencies which are not services, use - - The service overrides. - - - - - Override (some of) the services that this component needs, using an (anonymous) object as a dictionary. - - Each key represents the service dependency of this component, for example the name of a constructor argument or a property. The corresponding value is the key of an other component registered to the - kernel, and is used to resolve the dependency. - - To specify dependencies which are not services, use - - The service overrides. - - - - - Uses a factory to instantiate the component - - Factory type. This factory has to be registered in the kernel. - Implementation type. - Factory invocation - - - - - Uses a factory method to instantiate the component. - - Implementation type - Factory method - When set to true container will not assume ownership of this component, will not track it not apply and lifecycle concerns to it. - - - - - Uses a factory method to instantiate the component. - - Implementation type - Factory method - When set to true container will not assume ownership of this component, will not track it not apply and lifecycle concerns to it. - - - - - Uses a factory method to instantiate the component. - - Implementation type - Factory method - When set to true container will not assume ownership of this component, will not track it not apply and lifecycle concerns to it. - - - - - Uses a factory method to instantiate the component. - - Implementation type - Factory method - - - - - Registers this component with the . - - The kernel. - - - - Overrides default behavior by making the current component the default for every service it exposes. The allows user to narrow down the number of services which - should be make defaults. - - Invoked for each service exposed by given component if returns true this component will be the default for that service. - - - When specified for multiple components for any given service the one registered after will override the one selected before. - - - - - Overrides default behavior by making the current component the default for every service it exposes. - - - - When specified for multiple components for any given service the one registered after will override the one selected before. - - - - - Overrides default behavior by making the current component the fallback for every service it exposes that returns true for. That is if another, - non-fallback, component will be registered exposing any of these same services as this component, that other component will take precedence over this one, regardless of order in which they are - registered. - - Invoked for each service exposed by given component if returns true this component will be the fallback for that service. - - - - Overrides default behavior by making the current component the fallback for every service it exposes. That is if another, non-fallback, component will be registered exposing any of the same services - as this component, that other component will take precedence over this one, regardless of order in which they are registered - - - - - - Filters (settable) properties of the component's implementation type to expose in the container. - - Predicate deciding whether a property is settable or not. If it returns false the property will not be added to collection - and Windsor will never try to set it. - - - Matched properties will be considered optional. Windsor will resolve the component even if it cannot provide value for those properties. If you want to make them mandatory use a different overload. - - - - - Filters (settable) properties of the component's implementation type to expose in the container and specifies if matched properties are considered mandatory. - - Predicate deciding whether a property is settable or not. If it returns false the property will not be added to collection - and Windsor will never try to set it. - if true the properties matched by will be considered mandatory dependencies. Windsor will only successfully resole the component if it - can provide value for all of these properties. If false Windsor will still try to provide values for these properties, but if it can't it will not stop the component from being successfully - resolved. - - - - - Filters (settable) properties of the component's implementation type to expose in the container and specifies if matched properties are considered mandatory. - - Predicate deciding whether a property is settable or not. If it returns false the property will not be added to collection - and Windsor will never try to set it. - if true the properties matched by will be considered mandatory dependencies. Windsor will only successfully resole the component if it - can provide value for all of these properties. If false Windsor will still try to provide values for these properties, but if it can't it will not stop the component from being successfully - resolved. - - - - - Filters (settable) properties of the component's implementation type to ignore. - - Predicate finding properties to ignore. If it returns true the property will not be added to collection and Windsor - will never try to set it. - - - - Filters (settable) properties of the component's implementation type to expose in the container as mandatory dependencies - - Predicate finding properties. If it returns true the property will be added to collection and Windsor will make it - a mandatory dependency. - - - - Filters (settable) properties of the component's implementation type to ignore. - - Predicate finding properties to ignore. If it returns true the property will not be added to collection and Windsor - will never try to set it. - - - - Filters (settable) properties of the component's implementation type to expose in the container as mandatory dependencies - - Predicate finding properties. If it returns true the property will be added to collection and Windsor will make it - a mandatory dependency. - - - - Filters (settable) properties of the component's implementation type to expose in the container and specifies if matched properties are considered mandatory. - - Rules for deciding whether given properties are exposed in the container or ignored and if they are mandatory, that is Windsor will only successfully resole the component if - it can provide value for all of these properties. - - - - - The concrete type that implements the service. - - To set the implementation, use . - - The implementation of the service. - - - - Set the lifestyle of this component. For example singleton and transient (also known as 'factory'). - - The with lifestyle. - - - - The name of the component. Will become the key for the component in the kernel. - - To set the name, use . - - If not set, the of the will be used as the key to register the component. - - The name. - - - - Set proxy for this component. - - The proxy. - - - - A non-generic . - - You can create a new registration with the factory. - - - - - Represents a configuration child. - - - - - Applies the configuration node. - - The configuration. - - - - Represents a configuration attribute. - - - - - Applies the configuration node. - - The configuration. - - - - Create a with name. - - The attribute name. - The new - - - - Represents a named attribute. - - - - - Builds the with name/value. - - The attribute value. - The new - - - - Builds the with name/value. - - The attribute value. - The new - - - - Represents a configuration child. - - - - - Create a with name. - - The child name. - The new - - - - Represents a named child. - - - - - Applies the configuration node. - - The configuration. - - - - Builds the with name/value. - - The child value. - The new - - - - Builds the with name/value. - - The child value. - The new - - - - Builds the with name/config. - - The child configuration. - The new - - - - Builds the with name/config. - - The child nodes. - The new - - - - Represents a simple child node. - - - - - Applies the configuration node. - - The configuration. - - - - Represents a complex child node. - - - - - Applies the configuration node. - - The configuration. - - - - Represents a compound child node. - - - - - Applies the configuration node. - - The configuration. - - - - Specifies that value should be used to satisfy dependencies matched by . The value is provided as a string and will be - converted to appropriate type when resolving. - - - - - - - - Specifies that value should be used to satisfy dependencies matched by . The value is provided as a string and will be converted to - appropriate type when resolving. - - - - - - - - Specifies that component registered with should be used to satisfy dependencies matched by - - - - - Specifies that component registered with should be used to satisfy dependencies matched by - - - - - Specifies that component registered with should be used to satisfy dependencies matched by - - - - - Specifies that component registered with should be used to satisfy dependencies matched by - - - - - Specifies that component registered with should be used to satisfy dependencies matched by - - - - - Specifies that components registered with should be used to satisfy collection dependencies matched by - - - - - Specifies that components registered with should be used to satisfy collection dependencies matched by - - - - - Specifies that components registered with should be used to satisfy collection dependencies matched by - - - - - Specifies that components registered with should be used to satisfy collection dependencies matched by - - - - - Specifies that components registered with should be used to satisfy collection dependencies matched by - - - - - Specifies that components registered with should be used to satisfy collection dependencies matched by - - - - - Specifies that value should be used to satisfy dependencies matched by - - - - - Specifies that value should be used to satisfy dependencies matched by - - - - - Specifies that value should be used to satisfy dependencies matched by - - - - - The contract to install components in the container. - - - - - Performs the installation in the . - - The container. - The configuration store. - - - - Adds the actions to ExtendedProperties. - - - - - - Sets the lifestyle to the specified - - . - - The type. - - - - - Assigns scoped lifestyle with scope accessed via - - instances. - - - - - - - Assigns scoped lifestyle with scope accessed via - - instances if provided, or default accessor otherwise. - - - - - - Assigns scoped lifestyle with scope accessed via default accessor. - - - - - - Assign a custom lifestyle type, that implements - - . - - Type of the custom lifestyle. - - - - - Assign a custom lifestyle type, that implements - - . - - The type of the custom lifestyle - - - - - Represents a configuration parameter. - - - - - Create a with key. - - The parameter key. - The new - - - - Gets the parameter configuration. - - - - - Gets the parameter key. - - - - - Gets the parameter value. - - - - - Represents a parameter key. - - - - - Builds the with key/value. - - The parameter value. - The new - - - - Builds the with key/config. - - The parameter configuration. - The new - - - - The parameter key name. - - - - - Represents a key/value pair. - - - - - Create a with key. - - The property key. - The new - - - - Create a with key. - - The property key. - The new - - - - Create a with key. - - The property key. - The new - - - - Gets the property key. - - - - - Gets the property value. - - - - - Represents a property key. - - - - - Builds the with key/value. - - The property value. - The new - - - - Builds a service override using other component registered with given as value for dependency with given . - - - - - - - Builds a service override using other component registered with given and no explicit name, as value for dependency with given . - - - - - - Builds a service override using other component registered with given and no explicit name, as value for dependency with given . - - - - - - The property key key. - - - - - Represents a service override. - - - - - Creates a with key. - - The service override key. - The new - - - - Creates a with key. - - The service override key. - The new - - - - Creates a with key. - - The service override key. - The new - - - - Implicitly converts service override to dependency. This is a API trick to keep the API clean and focused. - - - - - - - Gets the optional value type specifier. - - - - - Represents a service override key. - - - - - Builds the with key/value. - - The service override value. - The new - - - - Builds the with key/values. - - The service override values. - The new - - - - Builds the with key/values. - - The service override values. - The new - The value type. - - - - Builds the with key/values. - - The service override values. - The new - - - - Builds the with key/values. - - The service override values. - The new - The value type. - - - - Describes a set of components to register in the kernel. Use static methods on the class to fluently build registration. - - - - - Prepares to register types from a list of types. - - The list of types. - The corresponding - - - - Prepares to register types from a list of types. - - The list of types. - The corresponding - - - - Prepares to register types from an assembly. - - The assembly. - The corresponding - - - - Prepares to register types from an assembly containing the type. - - The type belonging to the assembly. - The corresponding - - - - Prepares to register types from an assembly containing the type. - - The type belonging to the assembly. - The corresponding - - - - Prepares to register types from an assembly. - - The assembly name. - The corresponding - - - - Prepares to register types from the assembly containing the code invoking this method. - - The corresponding - - - - Describes all the types based on basedOn. - - The base type. - - - - - Describes all the types based on type T. - - The base type. - - - - - Describes any types that are supplied. - - - - - - Prepares to register types from a list of types. - - The list of types. - The corresponding - - - - Describes a related group of components to register in the kernel. - - - - - Prepares to register types from a list of types. - - The list of types. - The corresponding - - - - Prepares to register types from a list of types. - - The list of types. - The corresponding - - - - Prepares to register types from an assembly. - - The assembly. - The corresponding - - - - Prepares to register types from an assembly. - - The assembly name. - The corresponding - - - - Prepares to register types from a list of types. - - The list of types. - The corresponding - - - - Selects a set of types from an assembly. - - - - - Describes the source of types to register. - - - - - Allows a type to be registered multiple times. - - - - - Returns the descriptor for accepting a type. - - The base type. - The descriptor for the type. - - - - Returns the descriptor for accepting a type. - - The base type. - The descriptor for the type. - - - - Returns the descriptor for accepting a type. - - One or more base types. To be accepted a type must implement at least one of the given base types. - The descriptor for the type. - - - - Returns the descriptor for accepting a type. - - One or more base types. To be accepted a type must implement at least one of the given base types. - The descriptor for the type. - - - - Creates a predicate to check if a component is in a namespace. - - The namespace. - true if the component type is in the namespace. - - - - Creates a predicate to check if a component is in a namespace. - - The namespace. - If set to true, will also include types from subnamespaces. - true if the component type is in the namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - true if the component is in the same namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - If set to true, will also include types from subnamespaces. - true if the component is in the same namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - true if the component is in the same namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - If set to true, will also include types from subnamespaces. - true if the component is in the same namespace. - - - - Returns the descriptor for accepting any type from given solutions. - - - - - - Returns the descriptor for accepting a type based on a condition. - - The accepting condition. - The descriptor for the type. - - - - When called also non-public types will be scanned. - - - Usually it is not recommended to register non-public types in the container so think twice before using this option. - - - - - Selects an existing set of types to register. - - - - - Describes how to select a types service. - - - - - Uses all interfaces implemented by the type (or its base types) as well as their base interfaces. - - - - - - Uses the base type matched on. - - - - - - Uses all interfaces that have names matched by implementation type name. - Matches Foo to IFoo, SuperFooExtended to IFoo and IFooExtended etc - - - - - - Uses the first interface of a type. This method has non-deterministic behavior when type implements more than one interface! - - - - - - Uses to lookup the sub interface. - For example: if you have IService and - IProductService : ISomeInterface, IService, ISomeOtherInterface. - When you call FromInterface(typeof(IService)) then IProductService - will be used. Useful when you want to register _all_ your services - and but not want to specify all of them. - - - - - - - Uses base type to lookup the sub interface. - - - - - - Assigns a custom service selection strategy. - - - - - - - Assigns the supplied service types. - - - - - - - Uses the type itself. - - - - - - This is a workaround for a CLR bug in - which GetInterfaces() returns interfaces - with no implementations. - - Type of the service. - - - - - Describes how to register a group of related types. - - - - - Initializes a new instance of the BasedOnDescriptor. - - - - - Allows a type to be registered multiple times. - - - - - Returns the descriptor for accepting a new type. - - The base type. - The descriptor for the type. - - - - Returns the descriptor for accepting a new type. - - The base type. - The descriptor for the type. - - - - Adds another type to be accepted as base. - - The base type. - The descriptor for the type. - - - - Allows customized configurations of each matching type. - - The configuration action. - - - - - Allows customized configurations of each matching component with implementation type that is - assignable to - - . - - The type assignable from. - The configuration action. - - - - - Allows customized configurations of each matching component that satisfies supplied . - - Condition to satisfy - The configuration action, executed only for components for which evaluates to true . - - - - - Allows customized configurations of each matching component that satisfies supplied and alternative configuration for the rest of components. - - Condition to satisfy - The configuration action, executed only for components for which evaluates to true . - The configuration action, executed only for components for which evaluates to false . - - - - - Assigns a conditional predication which must be satisfied. - - The predicate to satisfy. - - - - - Assigns a conditional predication which must not be satisfied. - - The predicate not to satisify. - - - - - Returns the descriptor for accepting a type based on a condition. - - The accepting condition. - The descriptor for the type. - - - - Uses all interfaces implemented by the type (or its base types) as well as their base interfaces. - - - - - - Uses the base type matched on. - - - - - - Uses all interfaces that have names matched by implementation type name. - Matches Foo to IFoo, SuperFooExtended to IFoo and IFooExtended etc - - - - - - Uses the first interface of a type. This method has non-deterministic behavior when type implements more than one interface! - - - - - - Uses to lookup the sub interface. - For example: if you have IService and - IProductService : ISomeInterface, IService, ISomeOtherInterface. - When you call FromInterface(typeof(IService)) then IProductService - will be used. Useful when you want to register _all_ your services - and but not want to specify all of them. - - - - - - - Uses base type to lookup the sub interface. - - - - - - Assigns a custom service selection strategy. - - - - - - - Uses the type itself. - - - - - - Sets component lifestyle to specified one. - - - - - - Sets component lifestyle to specified one. - - - - - - Sets component lifestyle to per thread. - - - - - - Sets component lifestyle to scoped per explicit scope. - - - - - - Sets component lifestyle to scoped per explicit scope. - - - - - - Sets component lifestyle to scoped per explicit scope. - - - - - - Sets component lifestyle to scoped per component . - - - - - - Sets component lifestyle to scoped per nearest component on the resolution stack where implementation type is assignable to . - - - - - - Sets component lifestyle to pooled. If or are not set default values will be used. - - - - - - Sets component lifestyle to singleton. - - - - - - Sets component lifestyle to transient. - - - - - - Assigns the supplied service types. - - - - - - - Assigns the supplied service types. - - - - - - - Gets the service descriptor. - - - - - Tracks all components requiring decomission () - - - - - Policy managing lifetime of components, and in particular their release process. - - - - - Creates nested policy for scoped object tracking. - - - - - - Returns true if is being tracked by this release policy, false otherwise. - - - - - - - Releases if it's being tracked by this release policy, invoking its s and stops tracking it so that it can be claimed by the Garbage Collector. - - - - - - Asks the policy to track given object. The object will be released when a call to is made. - - - - Thrown when does NOT have its flag set. - - - - Used to obtain if present. - - - - - Creates new policy which publishes its tracking components count to - - and exposes diagnostics into - - . - - - - - - - Obtains from given if present. - - - - - - - Creates new from given . - - - - - - - No tracking of component instances are made. - - - - - Default implementation for . - This implementation is quite simple, but still should be useful - for 99% of situations. - - - - - Implementors should use a strategy to obtain - valid references to properties and/or services - requested in the dependency model. - - - - - Registers a sub resolver instance - - The subresolver instance - - - - This method is called with a delegate for firing the - IKernelEvents.DependencyResolving event. - - kernel - The delegate used to fire the event - - - - Unregisters a sub resolver instance previously registered - - The subresolver instance - - - - Registers a sub resolver instance - - The subresolver instance - - - - Initializes this instance with the specified dependency delegate. - - kernel - The dependency delegate. - - - - Unregisters a sub resolver instance previously registered - - The subresolver instance - - - - Returns true if the resolver is able to satisfy the specified dependency. - - Creation context, which is a resolver itself - Parent resolver - Model of the component that is requesting the dependency - The dependency model - - true - if the dependency can be satisfied - - - - Try to resolve the dependency by checking the parameters in - the model or checking the Kernel for the requested service. - - - The dependency resolver has the following precedence order: - - - The dependency is checked within the - - - - - The dependency is checked within the - - instance for the component - - - The dependency is checked within the registered - - s - - - Finally the resolver tries the normal flow - which is using the configuration - or other component to satisfy the dependency - - - - Creation context, which is a resolver itself - Parent resolver - Model of the component that is requesting the dependency - The dependency model - The dependency resolved value or null - - - - This method rebuild the context for the parameter type. - Naive implementation. - - - - - Initializes a new instance of the class. - - The message. - The inner exception. - - - - Initializes a new instance of the class. - - The message. - - - - Lazily adds component for . - - - - - Handle dependencies of services in the format of typed arrays. - - - This is a complimentary implementation - that is capable of satisfying dependencies of services as typed arrays. - - Note that it will take precedence over service override for arrays defined - on the configuration. - - - - In order to install the resolver: - - var kernel = new DefaultKernel(); - kernel.Resolver.AddSubResolver(new ArrayResolver(kernel)); - - - - To use it, assuming that IService is on the container: - - - - public class Component - { - public Component(IService[] services) - { - } - } - - - - - - More generic alternative to and . - It supports arrays as well as any generic interface type assignable from arrays. - - - The collection instance that is provided is read only, even for interfaces like - - - - - Handle dependencies of services in the format of generic IList. - - - This is a complimentary implementation - that is capable of satisfying dependencies of services generic IList. - - Note that it will take precedence over service override for lists defined - on the configuration. - - - - In order to install the resolver: - - var kernel = new DefaultKernel(); - kernel.Resolver.AddSubResolver(new ListResolver(kernel)); - - - - To use it, assuming that IService is on the container: - - - - public class Component - { - public Component(IList<IService> services) - { - } - } - - - - - - A subsystem is used by the MicroKernel to deal - with a specific concern. - - - - - Initializes the subsystem - - - - - - Should perform the termination - of the subsystem instance. - - - - - This implementation of - does not try to obtain an external configuration by any means. - Its only purpose is to serve as a base class for subclasses - that might obtain the configuration node from anywhere. - - - - - The contract used by the kernel to obtain - external configuration for the components and - facilities. - - - - - Adds the child container configuration. - - The container's name. - The config. - - - - Associates a configuration node with a component key - - item key - Configuration node - - - - Associates a configuration node with a facility key - - item key - Configuration node - - - - Returns the configuration node associated with - the specified child container key. Should return null - if no association exists. - - item key - - - - - Returns the configuration node associated with - the specified component key. Should return null - if no association exists. - - item key - - - - - Returns all configuration nodes for components - - - - - - Gets the child containers configuration nodes. - - - - - - Returns all configuration nodes for facilities - - - - - - Returns the configuration node associated with - the specified facility key. Should return null - if no association exists. - - item key - - - - - Returns all configuration nodes for installers - - - - - - - - - - - - - Adds the child container configuration. - - The key. - The config. - - - - Associates a configuration node with a component key - - item key - Configuration node - - - - Associates a configuration node with a facility key - - item key - Configuration node - - - - Returns the configuration node associated with - the specified child container key. Should return null - if no association exists. - - item key - - - - - Returns the configuration node associated with - the specified component key. Should return null - if no association exists. - - item key - - - - - Returns all configuration nodes for components - - - - - - Returns all configuration nodes for child containers - - - - - - Returns all configuration nodes for facilities - - - - - - Returns the configuration node associated with - the specified facility key. Should return null - if no association exists. - - item key - - - - - Base implementation of - - - - - Implements a conversion logic to a type of a - set of types. - - - - - Returns true if this instance of ITypeConverter - is able to handle the specified type. - - - - - - - Returns true if this instance of ITypeConverter - is able to handle the specified type with the specified - configuration - - - - - - - - Should perform the conversion from the - string representation specified to the type - specified. - - - - - - - - Should perform the conversion from the - configuration node specified to the type - specified. - - - - - - - - Returns true if this instance of ITypeConverter - is able to handle the specified type with the specified - configuration - - - - - - The default behavior is to just pass it to the normal CanHadnleType - peeking into the configuration is used for some advanced functionality - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The message. - The inner exception. - - - - Looks for a on the type to be converted. - If found, the TypeConverter defined by the attribute is used to perform the conversion. - - - - - Marker interface that signals that a converter - depends on IKernel to be able to perform - the conversion. - - - - - Attempts to utilize an existing for conversion - - - - - Creates the target type instance. - - The type. - The configuration. - - - - - Chooses the first non default constructor. Throws an exception if more than - one non default constructor is found - - - The chosen constructor, or null if none was found - - - - Converts the constructor parameters. - - The constructor. - The configuration. - - - - - Converts the property values. - - The instance. - The type. - The configuration. - - - - Finds the child (case insensitive). - - The config. - The name. - - - - - Gets the conversion manager. - - The conversion manager. - - - - Converts a string representation to an enum value - - - - - This interface is needed because we want to isolate ourself from - the generic parameters, so we can work type safe inside the implementations, - and still call from non generic types outside. - - - - - Implements all standard conversions. - - - - - Our own minimalistic implementation of TypeDescriptor class, which does not exist in Silverlight. - It exists solely to support functionality of and does not provide - full functionality of the actually thing from the full .NET framework. - - - - - Convert a type name to a Type instance. - - - - - Declares a type as being convertible by a and optionally defines the converter to be used - - - - - Defines the to be used to convert the type - - - - - Defines the to be used to convert the type - - - - - - Composition of all available conversion managers - - - - - Establish a composition interface and a subsystem. - Implementors should delegate the conversion to - a instance of a type converter. - - - - - Register a type converter instance. - - - - - - Contract for SubSystem that wishes to keep and coordinate - component registration. - - - - - Register a new component resolver that can take part in the decision - making about which handler to resolve - - - - - Register a new component resolver that can take part in the decision - making about which handler(s) to resolve and in which order - - - - - Returns true if there is a component registered - for the specified name - - - - - - - Returns true if there is a component registered - for the specified service - - - - - - - Returns all registered. - - - - - - Return s where components are compatible - with the specified service. - - - - - - - Returns the associated with - the specified name. - - - - - - - Returns the associated with - the specified service. - - - - - Returns an array of associated with - the specified service. - - - - - - - Implementors should register the with all its exposes. - The handler should also be accessible via unique of its . - - - Thrown if the of 's is not unique and a handler with the same name has already been registered. - - - - Returns the number of components registered. - - - - - Map(String, IHandler) to map component names to Items in this dictionary are sorted in insertion order. - - - - - Map(Type, IHandler) to map a service to . If there is more than a single service of the type, only the first registered services is stored in this dictionary. It serve as a fast lookup for the common case of having a single handler for a type. - - - - - Implementors of this interface allow to extend the way the container perform - component resolution based on some application specific business logic. - - - This is the sibling interface to . - This is dealing strictly with root components, while the is dealing with - dependent components. - - - - - Whatever the selector has an opinion about resolving a component with the - specified service and key. - - The service key - can be null - The service interface that we want to resolve - - - - Select the appropriate handler from the list of defined handlers. - The returned handler should be a member from the array. - - The service key - can be null - The service interface that we want to resolve - The defined handlers - The selected handler, or null - - - - Pendent - - - - - An implementation of a should - be able to return instances of - for a given resource identifier. - - - - - Holds the keys used by Kernel to register/request - a subsystem. - - - - - Key used for the configuration store subsystem - - - - - Key used for the conversion manager - - - - - Key used for the diagnostics subsystem - - - - - Key used for the naming subsystem - - - - - Key used for the resource subsystem - - - - - Interpreter of a specific language to describe - configuration nodes in a hierarchical manner. - - - - - Should obtain the contents from the resource, - interpret it and populate the - accordingly. - - - - - - - - Gets or sets the name of the environment. - - The name of the environment. - - - - Exposes the reference to - which the interpreter is likely to hold - - - - - Provides common methods for those who wants - to implement - - - - - Should obtain the contents from the resource, - interpret it and populate the - accordingly. - - - - - - - - Exposes the reference to - which the interpreter is likely to hold - - - - - - Gets or sets the name of the environment. - - The name of the environment. - - - - Collects all handlers for components in hosting container. - - - - - Base inteface for exposing diagnostic information about container, its components and extensions - - - - - - Collects specified diagnostic information. - - - - - - Collects all handlers for components in hosting container grouped by services they expose. - Within the service group, first one would be the default (the one obtained when callling for the service type) - - - - - Collects dependencies that are duplicated between constructors and properties. - - - - - Detects components that are not extending Windsor's infrastructure yet depend on the container which usually means they use the container as service locator - which is a bad practice and should be avoided. Consult the documentation for more details: http://j.mp/WindsorSL - - - - - Hosts different diagnostics available in the container. - - - - - Adds and makes it available as . - - - Thrown when a diagnostic for - - has already been added. - - - - - Returns diagnostic registered with or null if not present. - - - - - - - Exposes diagnostics about itself to the . - - Usually simple type containing information provided to the . - - Can be implemented by any type constituting part of container infrastructure. Should have a matching registred in the container that knows - how to find it and that prepares information from it for consumption. - - - - - Collects for the and calls if any data available. - - - pass-through context. Used by the inspector. - - - - Gets the environment information (name). Implementors should - use to define their environments and how those affect the configuration. - - - - - Gets the name of the environment. - - - - - - Delegate to provide environment name. - - The environment name. - - - - Initializes a new instance of the ConfigurationInstaller class. - - - - - Sets the configuration environment name. - - The environment name. - - - - - Set the configuration environment strategy. - - The environment strategy. - - - - - Default implementation. - - - - - Installs the components and facilities based on the - information on the configuration store. - - - - - Perform installation. - - Target container - Configuration store - - - - Perform installation. - - Target container - Configuration store - - - - Scans the assembly containing specified type for types implementing , instantiates them and returns so that can - install them. - - - - - - Scans the assembly containing specified type for types implementing , instantiates using given and returns so that - can install them. - - - - - - Scans the assembly containing specified type for types implementing , instantiates them and returns so that can - install them. - - - - - - Scans the assembly containing specified type for types implementing , instantiates using given and returns so that - can install them. - - - - - - Scans current assembly and all refernced assemblies with the same first part of the name for types implementing , instantiates and returns so that - can install them. - - - - Assemblies are considered to belong to the same application based on the first part of the name. For example if the method is called from within MyApp.exe and MyApp.exe references - MyApp.SuperFeatures.dll, mscorlib.dll and ThirdPartyCompany.UberControls.dll the MyApp.exe and MyApp.SuperFeatures.dll will be scanned for installers, and other - assemblies will be ignored. - - - - - Scans current assembly and all refernced assemblies with the same first part of the name for types implementing , instantiates using given - and returns so that can install them. - - - - - Assemblies are considered to belong to the same application based on the first part of the name. For example if the method is called from within MyApp.exe and MyApp.exe references - MyApp.SuperFeatures.dll, mscorlib.dll and ThirdPartyCompany.UberControls.dll the MyApp.exe and MyApp.SuperFeatures.dll will be scanned for installers, and other - assemblies will be ignored. - - - - - Scans the specified assembly with specified name for types implementing , instantiates them and returns so that can - install them. - - - - - - Scans the specified assembly with specified name for types implementing , instantiates using given and returns so that - can install them. - - - - - - Scans the assembly with specified name for types implementing , instantiates them and returns so that can install - them. - - - - - - Scans the assembly with specified name for types implementing , instantiates using given and returns so that - can install them. - - - - - - Scans assembly that contains code calling this method for types implementing , instantiates them and returns so that - can install them. - - - - - - Scans assembly that contains code calling this method for types implementing , instantiates using given and returns so that - can install them. - - - - - - Helper class used by to filter/order and instantiate implementations - - - - - Performs custom instantiation of given - - - Default implementation uses public parameterless constructor to create the instance. - - - - - Performs custom filtering/ordering of given set of types. - - Set of concrete class types implementing interface. - Transformed . - - Default implementation simply returns types passed into it. - - - - - The IWindsorContainer interface exposes all the - functionality the Windsor implements. - - - - - Registers a subcontainer. The components exposed - by this container will be accessible from subcontainers. - - - - - - Registers a facility within the container. - - The to add to the container. - - - - Creates and adds an facility to the container. - - The facility type. - - - - - Creates and adds an facility to the container. - - The facility type. - The callback for creation. - - - - - Gets a child container instance by name. - - The container's name. - The child container instance or null - - - - Runs the so that they can register components in the container. For details see the documentation at http://j.mp/WindsorInstall - - - In addition to instantiating and passing every installer inline you can use helper methods on class to automatically instantiate and run your installers. - You can also use class to install components and/or run aditional installers specofied in a configuration file. - - The container. - - - container.Install(new YourInstaller1(), new YourInstaller2(), new YourInstaller3()); - - - - - container.Install(FromAssembly.This(), Configuration.FromAppConfig(), new SomeOtherInstaller()); - - - - - - Registers the components with the . The instances of are produced by fluent registration API. - Most common entry points are method to register a single type or (recommended in most cases) - . - Let the Intellisense drive you through the fluent API past those entry points. For details see the documentation at http://j.mp/WindsorApi - - - - container.Register(Component.For<IService>().ImplementedBy<DefaultService>().LifestyleTransient()); - - - - - container.Register(Classes.FromThisAssembly().BasedOn<IService>().WithServiceDefaultInterfaces().Configure(c => c.LifestyleTransient())); - - - The component registrations created by , or different entry method to the fluent API. - The container. - - - - Releases a component instance - - - - - - Remove a child container - - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the service - - - - - - - Returns a component instance by the service - - - - - - - - Returns a component instance by the service - - - - - - - - Returns a component instance by the service - - Service type - The component instance - - - - Returns a component instance by the service - - Service type - - The component instance - - - - Returns a component instance by the service - - Service type - - The component instance - - - - Returns a component instance by the key - - Component's key - Service type - The Component instance - - - - Returns a component instance by the key - - Service type - Component's key - - The Component instance - - - - Returns a component instance by the key - - Service type - Component's key - - The Component instance - - - - Returns a component instance by the key - - - - - - - - - Returns a component instance by the key - - - - - - - - - Resolve all valid components that match this type. - - The service type - - - - Resolve all valid components that match this service - the service to match - - - - - Resolve all valid components that match this service - the service to match - Arguments to resolve the service - - - - - Resolve all valid components that match this service - the service to match - Arguments to resolve the service - - - - - Resolve all valid components that match this type. - The service type - Arguments to resolve the service - - - - - Resolve all valid components that match this type. - The service type - Arguments to resolve the service - - - - - Registers a facility within the container. - - The key by which the gets indexed. - The to add to the container. - - - - Creates and adds an facility to the container. - - The facility type. - - - - - - Creates and adds an facility to the container. - - The facility type. - - The callback for creation. - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the key - - - - - - - - Returns the inner instance of the MicroKernel - - - - - Gets the container's name - - - Only useful when child containers are being used - - The container's name. - - - - Gets or sets the parent container if this instance - is a sub container. - - - - - This interface should be implemented by classes - that are available in a bigger context, exposing - the container to different areas in the same application. - - For example, in Web application, the (global) HttpApplication - subclasses should implement this interface to expose - the configured container - - - - - - Obtains the interceptors associated with the component. - - The kernel instance - The component model - The creation context - interceptors array - - - - This implementation of relies - on DynamicProxy to expose proxy capabilities. - - - Note that only virtual methods can be intercepted in a - concrete class. However, if the component - was registered with a service interface, we proxy - the interface and the methods don't need to be virtual, - - - - - Constructs a DefaultProxyFactory - - - - - Creates the proxy for the supplied component. - - The kernel. - The target. - The model. - The constructor arguments. - The creation context - The component proxy. - - - - Determines if the component requires a target instance for proxying. - - The kernel. - The model. - true if an instance is required. - - - - Implementation of - which delegates to implementation. - - - - - Constructs a container without any external - configuration reference - - - - - Constructs a container using the specified - implementation. - - The instance of an implementation. - - - - Constructs a container using the specified - implementation. - - The instance of an implementation. - - - - Initializes a new instance of the class. - - The interpreter. - The environment info. - - - - Constructs a container using the specified - implementation. Rarely used. - - - This constructs sets the Kernel.ProxyFactory property to - Proxy.DefaultProxyFactory - - Kernel instance - Installer instance - - - - Constructs a container using the specified - implementation. Rarely used. - - - This constructs sets the Kernel.ProxyFactory property to - Proxy.DefaultProxyFactory - - Container's name - Kernel instance - Installer instance - - - - Constructs with a given . - - A instance of an . - - - - Constructs a container assigning a parent container - before starting the dependency resolution. - - The instance of an - The instance of an implementation - - - - Initializes a new instance of the class. - - The container's name. - The parent. - The interpreter. - - - - Executes Dispose on underlying - - - - - Registers a subcontainer. The components exposed - by this container will be accessible from subcontainers. - - - - - - Registers a facility within the container. - - - - - - Creates and adds an facility to the container. - - The facility type. - - - - - Creates and adds an facility to the container. - - The facility type. - The callback for creation. - - - - - Gets a child container instance by name. - - The container's name. - The child container instance or null - - - - Runs the so that they can register components in the container. For details see the documentation at http://j.mp/WindsorInstall - - - In addition to instantiating and passing every installer inline you can use helper methods on class to automatically instantiate and run your installers. - You can also use class to install components and/or run aditional installers specofied in a configuration file. - - The container. - - - container.Install(new YourInstaller1(), new YourInstaller2(), new YourInstaller3()); - - - - - container.Install(FromAssembly.This(), Configuration.FromAppConfig(), new SomeOtherInstaller()); - - - - - - Registers the components with the . The instances of are produced by fluent registration API. - Most common entry points are method to register a single type or (recommended in most cases) - . - Let the Intellisense drive you through the fluent API past those entry points. For details see the documentation at http://j.mp/WindsorApi - - - - container.Register(Component.For<IService>().ImplementedBy<DefaultService>().LifestyleTransient()); - - - - - container.Register(Classes.FromThisAssembly().BasedOn<IService>().WithServiceDefaultInterfaces().Configure(c => c.LifestyleTransient())); - - - The component registrations created by , or different entry method to the fluent API. - The container. - - - - Releases a component instance - - - - - - Removes (unregisters) a subcontainer. The components exposed by this container - will no longer be accessible to the child container. - - - - - - Returns a component instance by the service - - - - - - - - Returns a component instance by the service - - - - - - - - Returns a component instance by the service - - - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the key - - - - - - - - - Returns a component instance by the key - - - - - - - - - Returns a component instance by the service - - - - - - - - Returns a component instance by the service - - - - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the service - - - - - - - Returns a component instance by the key - - - - - - - Resolve all valid components that match this type. - - The service type - - - - Resolve all valid components that match this type. - The service type - Arguments to resolve the service - - - - - Resolve all valid components that match this type. - The service type - Arguments to resolve the service - - - - - Registers a facility within the container. - - - - - - - Creates and adds an facility to the container. - - The facility type. - - - - - - Creates and adds an facility to the container. - - The facility type. - - The callback for creation. - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the key - - - - - - - - Returns the inner instance of the MicroKernel - - - - - Gets the container's name - - - Only useful when child containers are being used - - The container's name. - - - - Gets or sets the parent container if this instance - is a sub container. - - - - - Implementation of and that uses a or as its component's source. - - - - diff --git a/packages/Castle.Windsor.3.2.0/lib/sl5/Castle.Windsor.dll b/packages/Castle.Windsor.3.2.0/lib/sl5/Castle.Windsor.dll deleted file mode 100644 index 5344c45..0000000 Binary files a/packages/Castle.Windsor.3.2.0/lib/sl5/Castle.Windsor.dll and /dev/null differ diff --git a/packages/Castle.Windsor.3.2.0/lib/sl5/Castle.Windsor.xml b/packages/Castle.Windsor.3.2.0/lib/sl5/Castle.Windsor.xml deleted file mode 100644 index da30e37..0000000 --- a/packages/Castle.Windsor.3.2.0/lib/sl5/Castle.Windsor.xml +++ /dev/null @@ -1,7384 +0,0 @@ - - - - Castle.Windsor - - - - - Indicates that the target components wants instance lifetime and reuse scope to be bound to another component further up the object graph. - Good scenario for this would be unit of work bound to a presenter in a two tier MVP application. - The attribute must point to a type - having default accessible constructor and public method matching signature of Func<IHandler[], IHandler> delegate. - - - - - Base for Attributes that want to express lifestyle - chosen by the component. - - - - - Initializes a new instance of the class. - - The type. - - - - Gets or sets the lifestyle. - - The lifestyle. - - - - Initializes a new instance of the class. - - type having default accessible constructor and public method matching signature of Func<IHandler[], IHandler> delegate. The method will be used to pick of the component current instance should be bound to. - - - - type having default accessible constructor and public method matching signature of Func<IHandler[], IHandler> delegate. The method will be used to pick of the component current instance should be bound to. - - - - - Represents a dependency (other component or a - fixed value available through external configuration). - - - - - Initializes a new instance of the class. - - The dependency key. - Type of the target. - if set to true [is optional]. - - - - Returns a that represents the current . - - A that represents the current . - - - - The default value of this dependency. Note that null is a valid default value. Use to determine whether default value was provided. - - - - - Gets or sets the dependency key. - - The dependency key. - - - - Specifies whether dependency has a default value (). Note that null is a valid default value. - - - - - Gets or sets whether this dependency is optional. - - true if this dependency is optional; otherwise, false . - - - - Gets the service type of the dependency. - This is the same type as or if is by ref, - then it's the element type of the reference. (in other words if dependency - is out IFoo foo this will be IFoo, while will be &IFoo); - - - - - Gets the type of the target. - - The type of the target. - - - Indicates that the target components wants a custom lifestyle. - - - - Initializes a new instance of the class. - - The custom lifestyle type. - - - - Marks as constructor to be skipped and not be selected - by the IoC container during new component activation - - - - - This attribute is useful only when you want to register all components - on an assembly as a batch process. - By doing so, the batch register will look - for this attribute to distinguish components from other classes. - - - - - Associates a custom activator with a component - - - - - Initializes a new instance of the class. - - Type of the component activator. - - - - Gets the type of the component activator. - - The type of the component activator. - - - - Gets the default name for component implemented by which will be used in case when user does not provide one explicitly. - - - - - - - Gets the default name for component implemented by which will be used in case when user does not provide one explicitly. - - - - - - - Specifies the proxying behavior for a component. - - - - - Gets or sets the additional interfaces used during proxy generation. - - - - - Marks as property to be skipped and not be wired - by the IoC container - - - - - Represents a concern that will be applied to a component instance - during commission phase (right after component instance is activated). - - - - - Implementors should act on the instance in response to - a commission phase. - - The model. - The component. - - - - Represents a concern that will be applied to a component instance - during decommission phase (right before component instance is destroyed). - - - - - Implementors should act on the instance in response to - a decommission phase. - - The model. - The component. - - - - Lifecycle interface. If implemented by a component, - the method Initialized will be invoked by the container - before making the component available to the external world. - - - - - Implementors should perform any initialization logic. - - - - - Used to declare that a component wants interceptors acting on it. - Out of the box recognized only if applied on component's implementation class. - - - - - Constructs the InterceptorAttribute pointing to a key to a interceptor - - - - - - Constructs the InterceptorAttribute pointing to a service - - - - - - Simple type for thread safe adding/reading to/from keyed store. The difference between this and built in concurrent dictionary is that in this case adding is happening under a lock so never more than one thread will be adding at a time. - - - - - - - Returns all values and clears the dictionary - - - - - - Performs string comparison using - - - - - - - - 0 == false, 1 = =true - - - - - Signals (sets) the flag. - - true if the current thread signaled the flag, false if some other thread signaled the flag before. - - - - Marker class used to denote components that have late bound type - That is the actual type is not known exactly at the time when - is created. Those are for example components instantiated via abstract factory. - - - - - If the extended type is a Foo[] or IEnumerable{Foo} which is assignable from Foo[] this method will return typeof(Foo) - otherwise null. - - - - - - - Checkis if given is a primitive type or collection of primitive types. Value types, are considered primitive and can not be registered as components in Windsor - - - - - - - Checkis if given is a primitive type. Value types and are considered primitive and can not be registered as components in Windsor - - - - - - - Calls and if a generic constraint is violated returns null instead of throwing . - - - - - - - - Enumeration used to mark the component's lifestyle. - - - - - No lifestyle specified. - - - - - Singleton components are instantiated once, and shared - between all clients. - - - - - Thread components have a unique instance per thread. - - - - - Transient components are created on demand. - - - - - Optimization of transient components that keeps - instance in a pool instead of always creating them. - - - - - Any other logic to create/release components. - - - - - Instances are reused within the scope provided. - - - - - Instance lifetime and reuse scope is bound to another component further up the object graph. - Good scenario for this would be unit of work bound to a presenter in a two tier MVP application. - When specified in xml a scopeRootBinderType attribute must be specified pointing to a type - having default accessible constructor and public method matching signature of Func<IHandler[], IHandler> delegate. - - - - - Indicates that the target components wants a - per thread lifestyle. - - - - - Initializes a new instance of the class. - - - - - Indicates that the target components wants a - pooled lifestyle. - - - - - Initializes a new instance of the class - using the default initial pool size (5) and the max pool size (15). - - - - - Initializes a new instance of the class. - - Initial size of the pool. - Max pool size. - - - - Gets the initial size of the pool. - - The initial size of the pool. - - - - Gets the maximum pool size. - - The size of the max pool. - - - - Specifies rules for designating settable properties on a component as dependencies, and controlling whether they are requred or not. - This is a shortcut for most common scenarios. More advanced/custom scenarios can be defined dynamically in the registration API. - - - - - Takes no action. By default that means all settable properties will be exposed as optional dependencies. - - - - - Makes all property dependencies required. - - - - - Makes all property dependencies defined at a base class/interfaces level required. - - - - - Makes all properties ignored. - - - - - Ignores all properties defined at a base class/interface level. - - - This option is particularily useful in scenarios like UI controls which in .NET UI frameworks tend to have byzantine inheritance hierarchies. - - - - - Indicates that the target components wants a - per thread lifestyle. - - - - - Initializes a new instance of the class. - - - - - Indicates that the target components wants a - singleton lifestyle. - - - - - Initializes a new instance of the class. - - - - - Indicates that the target components wants a - transient lifestyle. - - - - - Initializes a new instance of the class. - - - - - Implementors must inspect the component for - a given information or parameter. - - - - - Usually the implementation will look in the configuration property - of the model or the service interface, or the implementation looking for - something. - - The kernel instance - The component model - - - - Selects one or both of component name and type, for given method - called on given typed factory type. - When component should be requested by type only, - componentName should be null. - When component should be requested by name only, - componentType should be null. - - - - - - - - If set to true, all methods with names like 'GetSomething' will try to resolve by name component 'something'. Defaults to true. - If set to true, will fallback to resolving by type, if can not find component with specified name. This property is here for backward compatibility. It is recommended not to use it. Defaults to false. - - - - Builds for given call. - By default if is a collection - returns factory calling on collection's item type, - otherwise standard . - - - - - - - - - - Selects arguments to be passed to resolution pipeline. - By default passes all given - keyed by names of their corresponding parameters. - - - - - - - - Selects name of the component to resolve. - If Name is GetFoo returns "Foo", otherwise null. - - - - - - - - Selects type of the component to resolve. Uses return type. - - - - - - - - If set to true, will fallback to resolving by type, if can not find component with specified name. This property is here for backward compatibility. It is recommended not to use it. - - - - - If set to true, all methods with names like 'GetSomething' will try to resolve by name component 'something'. - - - - - Abstract implementation of . The implementors must only override the InternalCreate and InternalDestroy methods in order to perform their creation and destruction - logic. - - - - - Implements the instance creation logic. The default - implementation should rely on an ordinary call to - Activator.CreateInstance(). - - - This interface is provided in order to allow custom components - to be created using a different logic, such as using a specific factory - or builder. - - The constructor for implementation has the following signature: - - - ComponentModel model, IKernel kernel, - ComponentInstanceDelegate onCreation, - ComponentInstanceDelegate onDestruction - - - The Activator should raise the events onCreation and onDestruction - in order to correctly implement the contract. Usually the best - way of creating a custom activator is by extending the existing ones. - - - - - - - - Should return a new component instance. - - - - - - Should perform all necessary work to dispose the instance - and/or any resource related to it. - - - - - - Constructs an AbstractComponentActivator - - - - - Implemented by which don't necessarily need dependencies from the container to activate new instances of the component. - - - - - Should return true if the activator can provide dependencies for the . - - - - - - - Should return true if the activated instances of the are managed externally to the container. That means container will not try to track the objects in . - - - - - - - Provides lazy registration capabilities to the container. - - - When a component is requested from a container and it was not registered, - container loads up all registered implementers of this interface and asks - them in turn whether they can provide that component, until it finds one that will. - - - - - Used by container to allow the loader to register component for given and to the container at the time when it is requested - - Name of the requested component or null - Type of requested service or null - User supplied arguments or null - Registration that registers component for given key and/or service or null. - - While either key or service can be null reference it is guaranteed that at least one of them will not be null. - When implementer opts in to provide the requested component (by returning not-null registration) it is required - to register component for requested key/service combination (when one of the elements is null, it should be ignored as well). - When implementer does not want to register the requested component it must return null. - - - - - Specifies default configuration for a typed factory. All Selector* properties are mutually exclusive, that is you're only meant to set one. - - - - - Specifies component to use as selector for given factory. This works like any named service override. - - - - - Specifies component to use as selector for given factory. This works like any typed service override. - - - - - Specifies type of the selector to use for given factory. The type will be instantiated using default constructor. It must implement - - - - - Exception thrown whe a component could not be activated. THis should come from the component activator. - - - - - Exception thrown when resolution process for a component was unsuccessful at some point for whatever reason. - - - - - Standard implementation of . Handles the selection of the best constructor, fills the writable properties the component exposes, run the commission and - decommission lifecycles, etc. - - - Custom implementors can just override the CreateInstance method. Please note however that the activator is responsible for the proxy creation when needed. - - - - - Initializes a new instance of the class. - - - - - - - - - If - true - requires release by - - . If - false - , the object has a well defined, detectable end of life (web-request end, disposal of the container etc), and will be released externally. - - - - - Represents collection of arguments used when resolving a component. - - - - - Exception thrown when component has no resolvable constructor that can be used to create an instance. - - - - - Possible states for a IHandler instance - - - - - The component can be requested - - - - - The component can not be requested - as it still depending on a external - dependency not yet available - - - - - Inspects missings dependencies in the container. Default implementation is used to - construct helpful message for exceptions and debugger views, but other implementations - are also possible if needed. - - - - - Summary description for DefaultHandler. - - - - - Implements the basis of - - - - - Contract for the IHandler, which manages an - component state and coordinates its creation - and destruction (dispatching to activators, lifestyle managers) - - - - - Implementors should use a strategy to obtain - valid references to properties and/or services - requested in the dependency model. - - - - - Returns true if the resolver is able to satisfy this dependency. - - Creation context, which is a resolver itself - Parent resolver - normally the IHandler implementation - Model of the component that is requesting the dependency - The dependency model - true if the dependency can be satisfied - - - - Should return an instance of a service or property values as - specified by the dependency model instance. - It is also the responsibility of - to throw an exception in the case a non-optional dependency - could not be resolved. - - Creation context, which is a resolver itself - Parent resolver - normally the IHandler implementation - Model of the component that is requesting the dependency - The dependency model - The dependency resolved value or null - - - - Initializes the handler with a reference to the - kernel. - - - - - - Tests whether the handler is already being resolved in given context. - - - - - Implementors should dispose the component instance - - - true if destroyed. - - - - Implementors should return a valid instance - for the component the handler is responsible. - It should throw an exception in the case the component - can't be created for some reason - - - - - - Returns true if this handler supports - - - - - - - Implementors should return a valid instance - for the component the handler is responsible. - It should return null in the case the component - can't be created for some reason. No exception should be thrown. - - - - - - Gets the model of the component being - managed by this handler. - - - - - Gets the state of the handler - - - - - Might be implemented by a handler - so it can expose access to dependency information - which is used to construct meaningful error messages - - - - - Informs the about missing dependencies. - Implementers should ignore the call if no dependencies are missing and - call back the inspector with the information required otherwise - - - - - - Dictionary of key (string) to - - - - - Constructs and initializes the handler - - - - - - Should be implemented by derived classes: disposes the component instance (or recycle it) - - - true if destroyed. - - - - Returns an instance of the component this handler is responsible for - - - when false , handler can not create valid instance and return null instead - - - - - Saves the kernel instance, subscribes to event, creates the lifestyle manager instance and computes the handler state. - - - - - - disposes the component instance (or recycle it). - - - - - - - Returns an instance of the component this handler is responsible for - - - - - - - Invoked by in order to check if a dependency can be satisfied. If not, the handler is set to a 'waiting dependency' state. - - - This method registers the dependencies within the correct collection or dictionary and changes the handler state to - - - - - - Invoked by the kernel when one of registered dependencies were satisfied by new components registered. - - - Handler for the event - - - - - - Invoked when the container receives a parent container reference. - - - This method implementation checks whether the parent container is able to supply the dependencies for this handler. - - - - - - - Gets the component model. - - - - - Gets the handler state. - - - - - Lifestyle manager instance - - - - - Initializes a new instance of the - - class. - - - - - - disposes the component instance (or recycle it) - - - true if destroyed - - - - Returns an instance of the component this handler - is responsible for - - - - - - - - - - Lifestyle manager instance - - - - - Thrown when can't create proper closed version of itself due to violation of generic constraints. - - - - - Summary description for HandlerException. - - - - - Initializes a new instance of the class. - - The message. - - - - - Initializes a new instance of the class. - - The message. - - - - - - Initializes a new instance of the class. - - The message. - - - - - Initializes a new instance of the class. - - The message. - - - - - - Used during a component request, passed along to the whole process. - This allow some data to be passed along the process, which is used - to detected cycled dependency graphs and now it's also being used - to provide arguments to components. - - - - - The list of handlers that are used to resolve - the component. - We track that in order to try to avoid attempts to resolve a service - with itself. - - - - - Initializes a new instance of the class. - - The type to extract generic arguments. - The parent context. - When set to true will clone . - - - - Initializes a new instance of the class. - - The handler. - The release policy. - The type to extract generic arguments. - The additional arguments. - The conversion manager. - Parent context - - - - Initializes a new instance of the class. - - - - - Method used by handlers to test whether they are being resolved in the context. - - - - - This method is provided as part of double dispatch mechanism for use by handlers. - Outside of handlers, call instead. - - - - - Creates a new, empty instance. - - - A new CreationContext should be created every time, as the contexts keeps some state related to dependency resolution. - - - - - Default implementation of . This implementation is complete and also support a kernel hierarchy (sub containers). - - - Default implementation of . - This implementation is complete and also support a kernel - hierarchy (sub containers). - - - - - The IKernel interface exposes all the functionality - the MicroKernel implements. - - - It allows you to register components and - request them by their name or the services they expose. - It also allow you to register facilities and subsystem, thus - augmenting the functionality exposed by the kernel alone to fit - your needs. - - - - - - - Summary description for IKernelEvents. - - - - - Event fired when a new component is registered - on the kernel. - - - - - Event fired after the ComponentModel is created. - Allows customizations that may affect the handler. - - - - - Event fired when the kernel was added as child of - another kernel. - - - - - Event fired when the kernel was removed from being a child - of another kernel. - - - - - Event fired before the component is created. - - - - - Event fired when a component instance destroyed. - - - - - Event fired when a new handler is registered - (it might be in a valid or waiting dependency state) - - - - - Event fired when a new handler is registered - (it might be in a valid or waiting dependency state) - - - - - Event fired when a dependency is being resolved, - it allows the dependency to be changed, - but the client ComponentModel must not be changed. - - - - - Event fired when registration / installation process is completed. - That is when container is about to exit method. This event is raised once regardless of how many components were registered. - If the is called by the event is raised when that method exits. - - - - - Event fired when a collection is being resolved (via or another overload) and the collection is empty. - Implementors would usually log that fact or potentially throw an exception (especially in development). - - - - - Support for kernel hierarchy - - - - - - Adds a to the kernel. - - - - - - - Creates and adds an facility to the kernel. - - The facility type. - - - - - Creates and adds an facility to the kernel. - - The facility type. - The callback for creation. - - - - - Register a new component resolver that can take part in the decision - making about which handler to resolve - - - - - Register a new component resolver that can take part in the decision - making about which handler(s) to resolve and in which order - - - - - Adds (or replaces) an - - - - - - - Return handlers for components that - implements the specified service. - The check is made using IsAssignableFrom - - - - - - - Returns the facilities registered on the kernel. - - - - - - Returns the - for the specified component name. - - - - - - - Returns the - for the specified service. - - - - - - - Return handlers for components that - implements the specified service. - - - - - - - Returns an implementation of - for the specified name. - - - - - - - - Returns true if a component with given was registered, otherwise false. - - - - - - - Returns true if the specified service was registered - - - - - - - Registers the components with the . The instances of are produced by fluent registration API. - Most common entry points are method to register a single type or (recommended in most cases) - . - Let the Intellisense drive you through the fluent API past those entry points. For details see the documentation at http://j.mp/WindsorApi - - - - kernel.Register(Component.For<IService>().ImplementedBy<DefaultService>().LifestyleTransient()); - - - - - kernel.Register(Classes.FromThisAssembly().BasedOn<IService>().WithServiceDefaultInterfaces().Configure(c => c.LifestyleTransient())); - - - The component registrations created by , or different entry method to the fluent API. - The kernel. - - - - Releases a component instance. This allows - the kernel to execute the proper decommission - lifecycles on the component instance. - - - - - - Remove child kernel - - - - - - Adds a to the kernel. - - - - - - - - Creates and adds an facility to the kernel. - - The facility type. - - - - - Creates and adds an facility to the kernel. - - The facility type. - - The callback for creation. - - - - Returns the component instance by the component key - using dynamic arguments - - Key to resolve - Arguments to resolve the services - - - - - Returns the component instance by the component key - using dynamic arguments - - - - - - - - Returns the component instance by the service type - - - - - Returns the component instance by the service type - using dynamic arguments - - - - - - - - Returns the component instance by the service type - using dynamic arguments - - Service to resolve - Arguments to resolve the services - - - - - Returns a component instance by the key - - - - - - - - Returns the component instance by the service type - using dynamic arguments - - - - - - - Returns the component instance by the service type - using dynamic arguments - - Arguments to resolve the services - - - - - Returns the component instance by the component key - - - - - - Returns a component instance by the key - - Component's key - Service type - The Component instance - - - - Returns a component instance by the key - - Service type - Component's key - - The Component instance - - - - Returns a component instance by the key - - - - - - - - - Returns all the valid component instances by - the service type - - The service type - - - - Returns all the valid component instances by - the service type - - The service type - Arguments to resolve the services - - - - Returns all the valid component instances by - the service type - - The service type - Arguments to resolve the services - - - - Returns component instances that implement TService - - - - - - - Returns component instances that implement TService - - - - - - - Returns component instances that implement TService - - - - - - - Returns the implementation of - - - - - Gets or sets the implementation of - - - - - Graph of components and interactions. - - - - - Returns the implementation of - - - - - Returns the parent kernel - - - - - Gets or sets the implementation of - allowing different strategies for proxy creation. - - - - - Gets or sets the implementation for - - - - - Returns the implementation for - - - - - Returns the component instance by the key - - - - - Returns the component instance by the service type - - - - - Extended contract of kernel, used internally. - - - - - Adds a custom made . Used by facilities. - - - - - - Constructs an implementation of for the given - - - - - - - Returns a component instance by the key - - - - - - - - - - Internal logger used by the container (not just implementation itself but also other classes too) to log information about what's happening in the container. - - - - - List of sub containers. - - - - - List of registered. - - - - - Map of subsystems registered. - - - - - The parent kernel, if exists. - - - - - Constructs a DefaultKernel with no component proxy support. - - - - - Constructs a DefaultKernel with the specified implementation of and - - - - - - - Constructs a DefaultKernel with the specified implementation of - - - - - Starts the process of component disposal. - - - - - Return handlers for components that implements the specified service. The check is made using IsAssignableFrom - - - - - - - Returns the facilities registered on the kernel. - - - - - - Return handlers for components that implements the specified service. - - - - - - - Registers the components with the . The instances of are produced by fluent registration API. Most common entry points are - method to register a single type or (recommended in most cases) . Let the Intellisense drive you through the - fluent - API past those entry points. For details see the documentation at http://j.mp/WindsorApi - - - kernel.Register(Component.For<IService>().ImplementedBy<DefaultService>().LifestyleTransient()); - - - kernel.Register(Classes.FromThisAssembly().BasedOn<IService>().WithServiceDefaultInterfaces().Configure(c => c.LifestyleTransient())); - - The component registrations created by , or different entry method to the fluent - API. - The kernel. - - - - Releases a component instance. This allows the kernel to execute the proper decommission lifecycles on the component instance. - - - - - - Creates an implementation of based on and invokes to initialize the newly created manager. - - - - - - - - It is the responsibility of the kernel to ensure that handler is only ever disposed once. - - - - - Returns the component instance by the component key - using dynamic arguments - - - - - - - - Returns the component instance by the component key - using dynamic arguments - - - - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the key - - - - - - - - - Returns the component instance by the service type - using dynamic arguments - - - - - - - Returns the component instance by the service type - using dynamic arguments - - - - - - - Returns the component instance by the component key - - - - - - Returns a component instance by the key - - Component's key - Service type - - The Component instance - - - - - Returns a component instance by the key - - Service type - Component's key - - - The Component instance - - - - - Returns the component instance by the service type - - - - - Returns the component instance by the service type - using dynamic arguments - - - - - - - - Returns the component instance by the service type - using dynamic arguments - - - - - - - - Returns all the valid component instances by - the service type - - The service type - - - - Returns all the valid component instances by - the service type - - The service type - - Arguments to resolve the services - - - - - Returns all the valid component instances by - the service type - - The service type - - Arguments to resolve the services - - - - - Returns component instances that implement TService - - - - - - - - Returns component instances that implement TService - - - - - - - - Returns component instances that implement TService - - - - - - - Returns a component instance by the key - - - - - - - - - - Graph of components and interactions. - - - - - Exception throw when a circular dependency is detected - - - - - Initializes a new instance of the - - class. - - The message. - - - - Initializes a new instance of the - - class. - - The message. - The inner exception. - - - - Initializes a new instance of the - - class. - - - - - - - Exception threw when a request for a component - cannot be satisfied because the component does not - exist in the container - - - - - Initializes a new instance of the - - class. - - The name. - Exception message. - - - - Initializes a new instance of the - - class. - - The service. - Exception message. - - - - Initializes a new instance of the - - class. - - The service. - - - - Exception threw when there is a problem - registering a component - - - - - Initializes a new instance of the class. - - The message. - - - - Implementation of this interface allows for extension of the way - the container looks up multiple handlers. It provides the necessary - hook to allow for business logic to prioritize, filter, and sort - handlers when resolving multiple handlers. - - - - - Whatever the selector has an opinion about resolving a component with the - specified service and key. - - The service interface that we want to resolve - - - - Select the appropriate handlers (if any) from the list of defined handlers, - returning them in the order they should be executed. - The returned handlers should members from the array. - - The service interface that we want to resolve - The defined handlers - The selected handlers, or an empty array, or null - - - - Exception threw by Kernel operations that failed - for some reason. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The message. - The inner exception. - - - - Base class for facilities. - - - - - Unit of extension. A facility should use - the extension points offered by the kernel - to augment its functionality. - - - - - - - - - - - - - - - The custom initialization for the Facility. - - - It must be overridden. - - - - - Performs the tasks associated with freeing, releasing, or resetting - the facility resources. - - - It can be overriden. - - - - - Initializes the facility. First it performs the initialization common for all - facilities, setting the and the - . After it, the Init method is invoked - and the custom initilization is perfomed. - - - - - - - Terminates the Facility, invokes the method and sets - the Kernel to a null reference. - - - - - Gets the facility configuration. - - The representing - the facility configuration. - - - - Gets the where the facility is registered. - - The . - - - - Base exception to be used by facilities. - - - - - This method changes behavior of the facility. Deferred mode should be used when you - have single call to and register all your components there. - Enabling this mode will optimize the behavior of the facility so that it will wait 'till the end of - installation and only after all s were ran it will instantiate and - start all the startable components. An exception will be thrown if a startable component can't be - instantiated and started. This will help you fail fast and diagnose issues quickly. If you don't want - the exception to be thrown and you prefer the component to fail silently, use method instead. - - - It is recommended to use this method over method. - - - - - This method changes behavior of the facility. Deferred mode should be used when you - have single call to and register all your components there. - Enabling this mode will optimize the behavior of the facility so that it will wait 'till the end of - installation and only after all s were ran it will instantiate and - start all the startable components. No exception will be thrown if a startable component can't be - instantiated and started. If you'd rather fail fast and diagnose issues quickly, use method instead. - - - It is recommended to use method over this method. - - - - - For each new component registered, - some components in the WaitingDependency - state may have became valid, so we check them - - - - - Request the component instance - - - - - - Assigns the start method for the startable. - - - The start method. - - - Be sure that you first added the - to the kernel, before registering this component. - - - - - Assigns the start method for the startable. - - - Method to use. something like: StartUsingMethod(s => s.Start) - - - Be sure that you first added the - to the kernel, before registering this component. - - - - - Assigns the stop method for the startable. - - - The stop method. - - - Be sure that you first added the - to the kernel, before registering this component. - - - - - Assigns the stop method for the startable. - - - Method to use. something like: StartUsingMethod(s => s.Start) - - - Be sure that you first added the - to the kernel, before registering this component. - - - - - Legacy class from old impl. of the facility. Do not use it. - - - - - Legacy interceptor for old impl. of the facility. - - - - - Interceptors might implement this to receive the - ComponentModel on behalf of the component where the - interceptor is acting. - - - - - Represents a single component to be resolved via Typed Factory - - - - - Resolves the component(s) from given kernel. - - - - Resolved component(s). - - - - Provides automatically generated factories on top of interfaces or delegates that - you can use to pull components out of the container without ever referencing it - explicitly. - - - - - Marks the component as typed factory. - - - - - - Only interfaces and delegates are legal to use as typed factories. Methods with out parameters are not allowed. - When registering component as typed factory no implementation should be provided (in case there is any it will be ignored). - Typed factories rely on set internally, so users should not set interceptor selectors explicitly; - otherwise the factory will not function correctly. - - - - - Marks the component as typed factory. - - - - Name of the component to be used for this factory - - - Only interfaces and delegates are legal to use as typed factories. Methods with out parameters are not allowed. - When registering component as typed factory no implementation should be provided (in case there is any it will be ignored). - Typed factories rely on set internally, so users should not set interceptor selectors explicitly; - otherwise the factory will not function correctly. - - - - - Marks the component as typed factory. - - - - Type of the component to be used for this factory - - - Only interfaces and delegates are legal to use as typed factories. Methods with out parameters are not allowed. - When registering component as typed factory no implementation should be provided (in case there is any it will be ignored). - Typed factories rely on set internally, so users should not set interceptor selectors explicitly; - otherwise the factory will not function correctly. - - - - - Marks the component as typed factory. - - - - The instance to be used for this factory - - - Only interfaces and delegates are legal to use as typed factories. Methods with out parameters are not allowed. - When registering component as typed factory no implementation should be provided (in case there is any it will be ignored). - Typed factories rely on set internally, so users should not set interceptor selectors explicitly; - otherwise the factory will not function correctly. - - - - - Marks the component as typed factory. - - - - - - - Only interfaces and delegates are legal to use as typed factories. Methods with out parameters are not allowed. - When registering component as typed factory no implementation should be provided (in case there is any it will be ignored). - Typed factories rely on set internally, so users should not set interceptor selectors explicitly; - otherwise the factory will not function correctly. - - - - - Initializes a new instance of the class. - - The parent handler. - The child resolver. - Release policy of the parent container. - - - - Clone some of the parent componentmodel properties to the generic subhandler. - - - The following properties are copied: - - - The - - - - - - The - - - - - - the subhandler - - - - Extension point to allow the developer to use his implementation of - - - - - Represents a delegate which holds basic information about a component. - - Key which identifies the component - handler that holds this component and is capable of - creating an instance of it. - - - - - Represents a delegate which holds basic information about a component - and its instance. - - Component meta information - Component instance - - - - Represents a delegate which holds the information about the - component - - - - - Represents a delegate which holds the information about a service. - - - - - Represents a delegate which holds a handler - - handler that holds a component and is capable of - creating an instance of it. - - - - - - Represents a delegate which holds dependency - resolving information. - - - - - Abstract representation of a vertex. - - - - - The nodes that this node depends on - - - - - The node has not been visited yet - - - - - This node is in the process of being visited - - - - - This now was visited - - - - - Represents a collection of objects - which are guaranteed to be unique - and holds a color for them - - - - - Holds a timestamp (integer) - for a given item - - - - - Summary description for DisposalConcern. - - - - - Summary description for InitializationConcern. - - - - - Lifetime concern that works for components that don't have their actual type determined upfront - - - - - Lifetime concern that works for components that don't have their actual type determined upfront - - - - - Lifetime concern that works for components that don't have their actual type determined upfront - - - - - Summary description for SupportInitializeConcern. - - - - - Only called for components that - belongs to a pool when the component - comes back to the pool. - - - - - Implementors should perform any - initialization/clean up. - - - - - Interface for components that wish to be started and stopped by the container - - - - - Starts this instance. - - - - - Stops this instance. - - - - - Base implementation of - - - - - The ILifestyleManager implements - a strategy for a given lifestyle, like singleton, per-thread - and transient. - - - The responsibility of ILifestyleManager - is only the management of lifestyle. It should rely on - to obtain a new component instance - - - - - Initializes the ILifestyleManager with the - - - - - - - - - Implementors should release the component instance based - on the lifestyle semantic, for example, singleton components - should not be released on a call for release, instead they should - release them when disposed is invoked. - - - - - - Implementors should return the component instance based on the lifestyle semantic. - Also the instance should be set to , should be also set if needed - and if a new instance was created it should be passed on to of . - - - - - - - - Invoked when the container gets disposed. The container will not call it multiple times in multithreaded environments. - However it may be called at the same time when some out of band release mechanism is in progress. Resolving those potential - issues is the task of implementors - - - - - Provides access to held in whatever is appropriate for given scope. - - - Implementors should also ensure proper initialization of when accessed for the first time and ensure a thread safe implementation is used when scope or cache access can cause threading issues if non thread safe cache is used. - - - - - Provides access to for currently resolved component. - - Current creation context - Thrown when scope cache could not be accessed. - - - - Manages a pool of objects. - - - - - Pool implementation contract. - - - - - Implementors should release the instance or put it - on the pool - - - - - Represents persistence mechanism for instances of components that are supposed to be reused within scope managing the cache. - - - - Saves or retrieves a stored in the cache associated with the given . - - - Thrown when is null. - - - Thrown when there is already a associated with given - - value in the cache. - - The interface gives no thread safety guarantees. When the scope can be accessed from multiple threads the implementor should ensure thread safety. - - - - Delegate used by to request a new instance to be created (that would be the first instance in that scope, subsequently reused). - - Callback which should be invoken by provided delegate right after isntance gets created and before it burden gets tracked. - The purpose if this callback is to include scope in decisions regarding tracking of the instance by . - Depending on the scope implementation it may or may not provide its own end of lifetime detection mechanism. - - - - - Contribute to component model before standard run. - - - - - - - Contribute to component model after standard run. - - - - - - - Contribute to component model after standard run. - - - - - - - Entry point to fluent way to register, by convention, multiple concrete (non-abstract) classes (that include also delegate types). Use static methods on the class to fluently build - registration. - - - - Prepares to register types from a list of types. - The list of types. - - The corresponding - - - - Prepares to register types from a list of types. - The list of types. - - The corresponding - - - - Prepares to register types from an assembly. - The assembly. - - The corresponding - - - - Prepares to register types from an assembly containing the type. - The type belonging to the assembly. - - The corresponding - - - - Prepares to register types from an assembly containing the type. - The type belonging to the assembly. - - The corresponding - - - - Scans current assembly and all refernced assemblies with the same first part of the name. - - - Assemblies are considered to belong to the same application based on the first part of the name. For example if the method is called from within MyApp.exe and MyApp.exe references - MyApp.SuperFeatures.dll, mscorlib.dll and ThirdPartyCompany.UberControls.dll the MyApp.exe and MyApp.SuperFeatures.dll will be scanned for components, and other - assemblies will be ignored. - - - - Prepares to register types from an assembly. - The assembly name. - - The corresponding - - - - Prepares to register types from the assembly containing the code invoking this method. - - The corresponding - - - - - Entry point to fluent way to register, by convention, multiple types. No upfront filtering is done so literally every type will be considered. That means that usually some filtering done by user - will be required. For a most common case where non-abstract classes only are to be considered use class instead. Use static methods on the class to fluently build - registration. - - - - Prepares to register types from a list of types. - The list of types. - - The corresponding - - - - Prepares to register types from a list of types. - The list of types. - - The corresponding - - - - Prepares to register types from an assembly. - The assembly. - - The corresponding - - - - Prepares to register types from an assembly containing the type. - The type belonging to the assembly. - - The corresponding - - - - Prepares to register types from an assembly containing the type. - The type belonging to the assembly. - - The corresponding - - - - Scans current assembly and all refernced assemblies with the same first part of the name. - - - Assemblies are considered to belong to the same application based on the first part of the name. For example if the method is called from within MyApp.exe and MyApp.exe references - MyApp.SuperFeatures.dll, mscorlib.dll and ThirdPartyCompany.UberControls.dll the MyApp.exe and MyApp.SuperFeatures.dll will be scanned for components, and other - assemblies will be ignored. - - - - Prepares to register types from an assembly. - The assembly name. - - The corresponding - - - - Prepares to register types from the assembly containing the code invoking this method. - - The corresponding - - - - - Only one instance is created first time an instance of the component is requested, and it is then reused for all subseque. - - - - - Transient components are never reused. Since their lifetime does not have any externally constrained end, they have to be manually released if resolved explicitly, to ensure proper decomission. - - - - - Summary description for DefaultComponentModelBuilder. - - - - - Implementors must construct a populated - instance of ComponentModel by inspecting the component - and|or the configuration. - - - - - "To give or supply in common with others; give to a - common fund or for a common purpose". The contributor - should inspect the component, or even the configuration - associated with the component, to add or change information - in the model that can be used later. - - - - - Constructs a new ComponentModel by invoking - the registered contributors. - - - - - - - - - - Removes the specified contributor - - - - - - Initializes a new instance of the class. - - The kernel. - - - - "To give or supply in common with others; give to a - common fund or for a common purpose". The contributor - should inspect the component, or even the configuration - associated with the component, to add or change information - in the model that can be used later. - - - - - - Constructs a new ComponentModel by invoking - the registered contributors. - - - - - - - - - - Removes the specified contributor - - - - - - Initializes the default contributors. - - - - - Gets the contributors. - - The contributors. - - - - Inspects the component configuration and the type looking for a - definition of component activator type. The configuration preceeds whatever - is defined in the component. - - - This inspector is not guarantee to always set up an component activator type. - If nothing could be found it wont touch the model. In this case is up to - the kernel to establish a default component activator for components. - - - - - Searches for the component activator in the configuration and, if unsuccessful - look for the component activator attribute in the implementation type. - - The kernel instance - The model instance - - - - Reads the attribute "componentActivatorType" associated with the - component configuration and verifies it implements the - interface. - - - If the type does not implement the proper interface - - - - - - - Check if the type expose one of the component activator attributes - defined in Castle.Core namespace. - - - - - - Validates that the provide type implements IComponentActivator - - The custom component activator. - - - - Inspects the component configuration and type looking for information - that can influence the generation of a proxy for that component. - - We specifically look for additionalInterfaces and marshalByRefProxy - on the component configuration or the - attribute. - - - - - - Searches for proxy behavior in the configuration and, if unsuccessful - look for the attribute in - the implementation type. - - - - - Returns a instance if the type - uses the attribute. Otherwise returns null. - - - - - - Reads the proxy behavior associated with the - component configuration/type and applies it to the model. - - - If the conversion fails - - - - - - - Uses the ConfigurationStore registered in the kernel to obtain - an associated with the component. - - - - - Queries the kernel's ConfigurationStore for a configuration - associated with the component name. - - - - - - - Check for a node 'parameters' within the component - configuration. For each child it, a ParameterModel is created - and added to ComponentModel's Parameters collection - - - - - Inspect the configuration associated with the component - and populates the parameter model collection accordingly - - - - - - - This implementation of - collects all available constructors and populates them in the model - as candidates. The Kernel will pick up one of the candidates - according to a heuristic. - - - - - Only to hold internal constants and get rid of - magic numbers and hardcode names. - - - - - Inspect the component for InterceptorAttribute and - the configuration for the interceptors node - - - - - Inspects the type looking for interfaces that constitutes - lifecycle interfaces, defined in the Castle.Model namespace. - - - - - Checks if the type implements and or - interfaces. - - - - - - Inspects the component configuration and the type looking for a definition of lifestyle type. The configuration preceeds whatever is defined in the component. - - This inspector is not guarantee to always set up an lifestyle type. If nothing could be found it wont touch the model. In this case is up to the kernel to establish a default lifestyle for - components. - - - - Searches for the lifestyle in the configuration and, if unsuccessful look for the lifestyle attribute in the implementation type. - - - - Reads the attribute "lifestyle" associated with the component configuration and tries to convert to - enum type. - - - - Check if the type expose one of the lifestyle attributes defined in Castle.Model namespace. - - - - Base for inspectors that want configuration associated with methods. - For each child a is created - and added to ComponentModel's methods collection - - - Implementors should override the return - the name of the node to be inspected. For example: - - - - - ]]> - - - - - - This implementation of - collects all potential writable public properties exposed by the component - implementation and populates the model with them. - The Kernel might be able to set some of these properties when the component - is requested. - - - - - Adds the properties as optional dependencies of this component. - - - - - - - Represents the collection of information and meta information collected about a component. - - - - - Dependencies the kernel must resolve - - - - - Interceptors associated - - - - - External parameters - - - - - All potential properties that can be setted by the kernel - - - - - Constructs a ComponentModel - - - - - Adds constructor dependency to this - - - - - - Adds property dependency to this - - - - - - Add service to be exposed by this - - - - - - Requires the selected property dependencies. - - The property selector. - - - - Requires the property dependencies of type . - - The dependency type. - - - - Gets or sets the configuration. - - The configuration. - - - - Gets the constructors candidates. - - The constructors. - - - - Gets or sets the custom component activator. - - The custom component activator. - - - - Gets the custom dependencies. - - The custom dependencies. - - - - Gets or sets the custom lifestyle. - - The custom lifestyle. - - - - Dependencies are kept within constructors and properties. Others dependencies must be registered here, so the kernel (as a matter of fact the handler) can check them - - - - - Gets or sets the extended properties. - - The extended properties. - - - - Gets or sets the component implementation. - - The implementation. - - - - Gets or sets the strategy for inspecting public properties on the components - - - - - Gets the interceptors. - - The interceptors. - - - - Gets the lifecycle steps. - - The lifecycle steps. - - - - Gets or sets the lifestyle type. - - The type of the lifestyle. - - - - Sets or returns the component key - - - - - Gets the parameter collection. - - The parameters. - - - - Gets the properties set. - - The properties. - - - - Gets or sets a value indicating whether the component requires generic arguments. - - true if generic arguments are required; otherwise, false . - - - - Represents a constructor of the component - that the container can use to initialize it properly. - - - - - Initializes a new instance of the class. - - The constructor info. - The dependencies. - - - - Gets the ConstructorInfo (from reflection). - - The constructor. - - - - Gets the dependencies this constructor candidate exposes. - - The dependencies. - - - - Collection of - - - - - Collection of . - - - - - Represents an reference to a Interceptor component. - - - - - Represents obtained just in time object. - - - - - - If the reference introduces dependency on a component, should return for that dependency, otherwise null. - - - - - - - Resolves object referenced by this reference, optionally using provided . - If object is resolved from the kernel, the should be used to guard - against against cyclic dependencies. - - - - - - - - Initializes a new instance of the class. - - The component key. - - - - Initializes a new instance of the class. - - Type of the interceptor to use. This will reference the default component (ie. one with no explicitly assigned name) implemented by given type. - - - - Gets an for the component key. - - The component key. - The - - - - Gets an for the service. - - The service. - The - - - - Gets an for the service. - - The service type. - The - - - - Collection of - - - - Adds the specified interceptor as the first. - The interceptor. - - - Adds the interceptor to the end of the interceptors list if it does not exist already. - The interceptor reference. - - - Adds the specified interceptor as the last. - The interceptor. - - - Inserts the specified interceptor at the specified index. - The index. - The interceptor. - - - Returns an enumerator that can iterate through a collection. - - An - that can be used to iterate through the collection. - - - - Adds the specified item. - The interceptor. - - - Gets a value indicating whether this instance has interceptors. - - true if this instance has interceptors; otherwise, false. - - - - - Represents a collection of ordered lifecycle concerns. - - - - - Returns all concerns for the commission phase - - - - - - Returns all concerns for the decommission phase - - - - - - Gets a value indicating whether this instance has commission steps. - - - true if this instance has commission steps; otherwise, false. - - - - - Gets a value indicating whether this instance has decommission steps. - - - true if this instance has decommission steps; otherwise, false. - - - - - Represents meta information associated with a method - (not yet defined) - - - - - Initializes a new instance of the class. - - The config node. - - - - Gets the config node. - - The config node. - - - - Collection of - - - - - Gets the method info2 model. - - The method info2 model. - - - - Represents a parameter. Usually the parameter - comes from the external world, ie, an external configuration. - - - - - Initializes a new instance of the class. - - The name. - The value. - - - - Initializes a new instance of the class. - - The name. - The value. - - - - Gets the config value. - - The config value. - - - - Gets the name. - - The name. - - - - Gets the value. - - The value. - - - - Collection of - - - - - Adds the specified name. - - The name. - The value. - - - - Adds the specified name. - - The name. - The config node. - - - - Adds the specified key. - - - Not implemented - - The key. - The value. - - - - Returns an enumerator that can iterate through a collection. - - - An - that can be used to iterate through the collection. - - - - - Gets the count. - - The count. - - - - Gets the with the specified key. - - - - - - Represents a property and the respective dependency. - - TODO: remove this class and instead create PropertyDependencyModel like we do for constructors - - - - Initializes a new instance of the class. - - The property info. - The dependency. - - - - Gets the dependency. - - The dependency. - - - - Gets the property. - - The property. - - - - Collection of - - - - Finds a PropertySet the by PropertyInfo. - The info. - - - - - Reference to component obtained from the container. - - - - - - Creates a new instance of referencing default component implemented by - - - - - - Creates a new instance of referencing component - - - - - - Select the appropriate interceptors based on the application specific - business logic - - - - - Determine whatever the specified has interceptors. - The selector should only return true from this method if it has determined that is - a model that it would likely add interceptors to. - - The model - Whatever this selector is likely to add interceptors to the specified model - - - - Select the appropriate interceptor references. - The interceptor references aren't necessarily registered in the model.Intereceptors - - The model to select the interceptors for - The interceptors selected by previous selectors in the pipeline or if this is the first interceptor in the pipeline. - The interceptor for this model (in the current context) or a null reference - - If the selector is not interested in modifying the interceptors for this model, it - should return and the next selector in line would be executed. - If the selector wants no interceptors to be used it can either return null or empty array. - However next interceptor in line is free to override this choice. - - - - - Represents a reference to an existing object. - - - - - - Defines the contract used by the kernel - to obtain proxies for components. The implementor - must return a proxied instance that dispatch - the invocation to the registered interceptors in the model - - - - - Add the selector to the list of selectors that can affect interceptor's decisions - in the container. - - - - - Implementors must create a proxy based on - the information exposed by ComponentModel - - The kernel instance - The component model - The component instance to be proxy (only required in some cases) - array of parameters to the constructor (if any) - The creation context - proxy instance - - - - Implementor should check the component model - and determine if the caller must pass on the component - instance to the proxy - - The kernel instance - The component model - true if an instance must be passed to - - - - Determines whatever we need to create a proxy for this model - - - - - - - This is a placeholder implementation of . - - - The decision to supply no implementation for - is supported by the fact that the MicroKernel should be a thin - assembly with the minimal set of features, although extensible. - Providing the support for this interface would obligate - the user to import another assembly, even if the large majority of - simple cases, no use use of interceptors will take place. - If you want to use however, see the Windsor container. - - - - - Holds the keys used by the proxy factories. - - - - - Key used to supply custom proxy options. - - - - - Represents options to configure proxies. - - - - - Initializes a new instance of the class. - - - - - Adds the additional interfaces to proxy. - - The interfaces. - - - - Adds the additional mix ins to integrate. - - The mix ins. - - - - Adds the additional mix in to integrate. - - The mix in. - - - - Equals the specified obj. - - The obj. - true if equal. - - - - Gets the hash code. - - - - - - Gets the additional interfaces to proxy. - - The interfaces. - - - - Determines if the proxied component can change targets. - - - - - Gets or sets the proxy hook. - - - - - Gets the mix ins to integrate. - - The interfaces. - - - - Determines if the proxied component uses a target. - - - - - Gets or sets the interceptor selector. - - - - - Helper support for proxy configuration. - - - - - Obtains the associated with the . - - The component model. - true if the options should be created if not present. - The associated proxy options for the component model. - - - - Constructs the descriptor with name and value. - - The attribute name. - The attribute value. - - - - Constructs the descriptor with name. - - The component. - The attribute name. - - - - Builds the with value. - - The attribute value. - The - - - - Factory for creating objects. Use static methods on the class to fluently build registration. - - - - - Creates a component registration for the - - Type of the service. - The component registration. - - - - Creates a component registration for the - - Types of the service. - The component registration. - B - - - - Creates a component registration for the - - Types of the service. - The component registration. - - - - Creates a component registration for the service type. - - The service type. - The component registration. - - - - Creates a component registration for the service types. - - The primary service type. - The forwarded type. - The component registration. - - - - Creates a component registration for the service types. - - The primary service type. - The first forwarded type. - The second forwarded type. - The component registration. - - - - Creates a component registration for the service types. - - The primary service type. - The first forwarded type. - The second forwarded type. - The third forwarded type. - The component registration. - - - - Creates a component registration for the service types. - - The primary service type. - The first forwarded type. - The second forwarded type. - The third forwarded type. - The fourth forwarded type. - The component registration. - - - - Helper method for filtering components based on presence of an Attribute. - - - - - - container.Register( - Classes.FromThisAssembly() - .Where(Component.HasAttribute<UserAttribute>) ); - - - - - Helper method for filtering components based on presence of an Attribute and value of predicate on that attribute. - - - - - - container.Register( - Classes.FromThisAssembly() - .Where(Component.HasAttribute<UserAttribute>(u => u.SomeFlag)) ); - - - - - Determines if the component is a Castle component, that is - if it has a . - - true if the service is a Castle Component. - - This method is usually used as argument for method. - - - - - Creates a predicate to check if a component is in a namespace. - - The namespace. - true if the component type is in the namespace. - - - - Creates a predicate to check if a component is in a namespace. - - The namespace. - If set to true, will also include types from subnamespaces. - true if the component type is in the namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - true if the component is in the same namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - If set to true, will also include types from subnamespaces. - true if the component is in the same namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - true if the component is in the same namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - If set to true, will also include types from subnamespaces. - true if the component is in the same namespace. - - - - Inserts a new named argument with given key. If an argument for this name already exists, it will be overwritten. - - - - - Inserts a new typed argument with given type. If an argument for this type already exists, it will be overwritten. - - - - - Inserts a set of typed arguments. Property names of the anonymous type will be used as key. - - - - - Inserts a new typed argument with given type. If an argument for this type already exists, it will be overwritten. - - - - - Inserts a set of typed arguments. Actual type of the arguments will be used as key. - - - - - Registration for a single type as a component with the kernel. - - You can create a new registration with the factory. - - The service type - - - - The contract for all registrations with the kernel. - - - - - Performs the registration in the . - - The kernel. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Marks the components with one or more actors. - - The component actors. - - - - - Set a custom which creates and destroys the component. - - - - - - Adds the attribute descriptor. - - The key. - The value. - - - - - Adds the descriptor. - - The descriptor. - - - - - Creates an attribute descriptor. - - The attribute key. - - - - - Apply more complex configuration to this component registration. - - The config nodes. - - - - - Apply more complex configuration to this component registration. - - The configuration . - - - - - Defines additional dependencies for the component. Those can be any of , and . Use the static methods on - class to define the dependencies. See the example attached. - - The dependency. - - - Artificial example showing how to specify a service override. See other methods on class for more options. - DependsOn(Dependency.OnComponent(typeof(IRepository), typeof(IntranetRepository))); - - - - - Defines additional dependencies for the component. Those can be any combibation of , and . Use the static methods - on class to define the dependencies. See the example attached. - - The dependencies. - - - Artificial example showing how to specify three different dependencies. If any of the methods shown is not self explanatory consult its documentation. - DependsOn(Dependency.OnAppSettingsValue("connectionString", "intranet-connection-string"), - Dependency.OnComponent(typeof(IRepository), typeof(IntranetRepository)), - Dependency.OnValue("applicationName", "My Application")); - - - - - Uses a dictionary of key/value pairs, to specify custom dependencies. - - - The dependencies. - - - - - Uses an (anonymous) object as a dictionary, to specify custom dependencies. - - - The dependencies. - - - - - Allows custom dependencies to by defined dyncamically. Calling this overload is synonymous to using - - The delegate used for providing dynamic parameters. - - - - - Allows custom dependencies to by defined dynamically with releasing capability. Calling this overload is synonymous to using - - - The delegate used for providing dynamic parameters. - - - - - Allows custom dependencies to by defined dynamically with releasing capability. Calling this overload is synonymous to using - - - The delegate used for providing dynamic parameters. - - - Use when resolving components from in order to detect cycles. - - - - - Allows custom dependencies to by defined dyncamically. - - The delegate used for providing dynamic parameters. - - - - - Allows custom dependencies to by defined dynamically with releasing capability. - - The delegate used for providing dynamic parameters. - - - - - Allows custom dependencies to by defined dynamically with releasing capability. - - The delegate used for providing dynamic parameters. - - - Use when resolving components from in order to detect cycles. - - - - - Sets for this component. - - The extended properties. - - - - - Sets for this component. - - The extended properties. - - - - - Sets for this component. - - The extendend properties as key/value pairs. - - - - - Adds as additional services to be exposed by this component. - - The types to forward. - - - - - Adds as additional service to be exposed by this component. - - The forwarded type. - The component registration. - - - - Adds and as additional services to be exposed by this component. - - The first forwarded type. - The second forwarded type. - The component registration. - - - - Adds , and as additional services to be exposed by this component. - - The first forwarded type. - The second forwarded type. - The third forwarded type. - The component registration. - - - - Adds , , and as additional services to be exposed by - this component. - - The first forwarded type. - The second forwarded type. - The third forwarded type. - The fourth forwarded type. - The component registration. - - - - Adds as additional services to be exposed by this component. - - The types to forward. - - - - - Sets the concrete type that implements the service to . - - If not set, the class service type or first registered interface will be used as the implementation for this component. - - The type that is the implementation for the service. - - - - - Sets the concrete type that implements the service to . - - If not set, the class service type or first registered interface will be used as the implementation for this component. - - The type that is the implementation for the service. - - - - - Sets the concrete type that implements the service to . - - If not set, the class service type or first registered interface will be used as the implementation for this component. - - The type that is the implementation for the service. - Provides ability to close open generic service. Ignored when registering closed or non-generic component. - - - - - Sets the concrete type that implements the service to . - - If not set, the class service type or first registered interface will be used as the implementation for this component. - - The type that is the implementation for the service. - Provides ability to select if open generic component supports particular closed version of a service. - - - - - Sets the concrete type that implements the service to . - - If not set, the class service type or first registered interface will be used as the implementation for this component. - - The type that is the implementation for the service. - Provides ability to close open generic service. Ignored when registering closed or non-generic component. - Provides ability to select if open generic component supports particular closed version of a service. - - - - - Assigns an existing instance as the component for this registration. - - The component instance. - - - - - Set the interceptors for this component. - - The interceptors. - - - - - Set the interceptors for this component. - - The interceptors. - - - - - Set the interceptor for this component. - - - - - - Set the interceptor for this component. - - - - - - Set the interceptor for this component. - - - - - - Sets component lifestyle to specified one. - - - - - - Sets component lifestyle to specified one. - - - - - - Sets component lifestyle to per thread. - - - - - - Sets component lifestyle to scoped per explicit scope. If is provided, it will be used to access scope for the component. Otherwise the default scope accessor - will be used. - - - - - - Sets component lifestyle to scoped per explicit scope. - - - - - - Sets component lifestyle to scoped per farthest component on the resolution stack where implementation type is assignable to . - - - - - - Sets component lifestyle to scoped per nearest component on the resolution stack where implementation type is assignable to . - - - - - - Sets component lifestyle to scoped per scope determined by - - Custom algorithm for selection which component higher up the resolution stack should be the root of the lifetime scope for current component's instances. The delegate - will be invoked when current component is about to be resolved and will be passed set of handlers to components higher up the resolution stack. It ought to return one which it designages as the root - which shall scope the lifetime of current component's instance, or null - - - - - Sets component lifestyle to pooled. If or are not set default values will be used. - - - - - - Sets component lifestyle to singleton. - - - - - - Sets component lifestyle to transient. - - - - - - Set a name of this registration. This is required if you have multiple components for a given service and want to be able to resolve some specific ones. Then you'd provide the name so that Windsor - knows which one of the bunch you know. Otherwise don't bother setting the name. - - If not set, the of the will be used as the key to register the component. - - The name of this registration. - - - Names have to be globally unique in the scope of the container. - - - - - This method as opposed to should be used by tools like facilities when the name is not provided by the user, but autogenerated and user has no interest in seing this name, for - example in diagnostics reports. Set a name of this registration. This is required if you have multiple components for a given service and want to be able to resolve some specific ones. Then you'd - provide the name so that Windsor knows which one of the bunch you know. Otherwise don't bother setting the name. - - If not set, the of the will be used as the key to register the component. - - The name of this registration. - - - Names have to be globally unique in the scope of the container. - - - - - Stores a set of which will be invoked when the component is created and before it's returned from the container. - - A set of actions to be executed right after the component is created and before it's returned from the container. - - - - Stores a set of which will be invoked when the component is created and before it's returned from the container. - - A set of actions to be executed right after the component is created and before it's returned from the container. - - - - Stores a set of which will be invoked when the component is created and before it's returned from the container. - - A set of actions to be executed right after the component is created and before it's returned from the container. - - - - Stores a set of which will be invoked when the component is destroyed which means when it's released or it's lifetime scope ends. Notice that usage of this - method will cause instsances of the component to be tracked, even if they wouldn't be otherwise. - - A set of actions to be executed when the component is destroyed. - - - - Services that are already present in the container will be skipped. If no new service is left the registration will not happen at all. - - - - - - With the overwrite. - - - - - - Set configuration parameters with string or values. - - The parameters. - - - - - Sets the interceptor selector for this component. - - - - - - - Sets the interceptor selector for this component. - - - - - - - Override (some of) the services that this component needs. Use to create an override. - - Each key represents the service dependency of this component, for example the name of a constructor argument or a property. The corresponding value is the key of an other component registered to the - kernel, and is used to resolve the dependency. - - To specify dependencies which are not services, use - - The service overrides. - - - - - Override (some of) the services that this component needs, using a dictionary. - - Each key represents the service dependency of this component, for example the name of a constructor argument or a property. The corresponding value is the key of an other component registered to the - kernel, and is used to resolve the dependency. - - To specify dependencies which are not services, use - - The service overrides. - - - - - Override (some of) the services that this component needs, using an (anonymous) object as a dictionary. - - Each key represents the service dependency of this component, for example the name of a constructor argument or a property. The corresponding value is the key of an other component registered to the - kernel, and is used to resolve the dependency. - - To specify dependencies which are not services, use - - The service overrides. - - - - - Uses a factory to instantiate the component - - Factory type. This factory has to be registered in the kernel. - Implementation type. - Factory invocation - - - - - Uses a factory method to instantiate the component. - - Implementation type - Factory method - When set to true container will not assume ownership of this component, will not track it not apply and lifecycle concerns to it. - - - - - Uses a factory method to instantiate the component. - - Implementation type - Factory method - When set to true container will not assume ownership of this component, will not track it not apply and lifecycle concerns to it. - - - - - Uses a factory method to instantiate the component. - - Implementation type - Factory method - When set to true container will not assume ownership of this component, will not track it not apply and lifecycle concerns to it. - - - - - Uses a factory method to instantiate the component. - - Implementation type - Factory method - - - - - Registers this component with the . - - The kernel. - - - - Overrides default behavior by making the current component the default for every service it exposes. The allows user to narrow down the number of services which - should be make defaults. - - Invoked for each service exposed by given component if returns true this component will be the default for that service. - - - When specified for multiple components for any given service the one registered after will override the one selected before. - - - - - Overrides default behavior by making the current component the default for every service it exposes. - - - - When specified for multiple components for any given service the one registered after will override the one selected before. - - - - - Overrides default behavior by making the current component the fallback for every service it exposes that returns true for. That is if another, - non-fallback, component will be registered exposing any of these same services as this component, that other component will take precedence over this one, regardless of order in which they are - registered. - - Invoked for each service exposed by given component if returns true this component will be the fallback for that service. - - - - Overrides default behavior by making the current component the fallback for every service it exposes. That is if another, non-fallback, component will be registered exposing any of the same services - as this component, that other component will take precedence over this one, regardless of order in which they are registered - - - - - - Filters (settable) properties of the component's implementation type to expose in the container. - - Predicate deciding whether a property is settable or not. If it returns false the property will not be added to collection - and Windsor will never try to set it. - - - Matched properties will be considered optional. Windsor will resolve the component even if it cannot provide value for those properties. If you want to make them mandatory use a different overload. - - - - - Filters (settable) properties of the component's implementation type to expose in the container and specifies if matched properties are considered mandatory. - - Predicate deciding whether a property is settable or not. If it returns false the property will not be added to collection - and Windsor will never try to set it. - if true the properties matched by will be considered mandatory dependencies. Windsor will only successfully resole the component if it - can provide value for all of these properties. If false Windsor will still try to provide values for these properties, but if it can't it will not stop the component from being successfully - resolved. - - - - - Filters (settable) properties of the component's implementation type to expose in the container and specifies if matched properties are considered mandatory. - - Predicate deciding whether a property is settable or not. If it returns false the property will not be added to collection - and Windsor will never try to set it. - if true the properties matched by will be considered mandatory dependencies. Windsor will only successfully resole the component if it - can provide value for all of these properties. If false Windsor will still try to provide values for these properties, but if it can't it will not stop the component from being successfully - resolved. - - - - - Filters (settable) properties of the component's implementation type to ignore. - - Predicate finding properties to ignore. If it returns true the property will not be added to collection and Windsor - will never try to set it. - - - - Filters (settable) properties of the component's implementation type to expose in the container as mandatory dependencies - - Predicate finding properties. If it returns true the property will be added to collection and Windsor will make it - a mandatory dependency. - - - - Filters (settable) properties of the component's implementation type to ignore. - - Predicate finding properties to ignore. If it returns true the property will not be added to collection and Windsor - will never try to set it. - - - - Filters (settable) properties of the component's implementation type to expose in the container as mandatory dependencies - - Predicate finding properties. If it returns true the property will be added to collection and Windsor will make it - a mandatory dependency. - - - - Filters (settable) properties of the component's implementation type to expose in the container and specifies if matched properties are considered mandatory. - - Rules for deciding whether given properties are exposed in the container or ignored and if they are mandatory, that is Windsor will only successfully resole the component if - it can provide value for all of these properties. - - - - - The concrete type that implements the service. - - To set the implementation, use . - - The implementation of the service. - - - - Set the lifestyle of this component. For example singleton and transient (also known as 'factory'). - - The with lifestyle. - - - - The name of the component. Will become the key for the component in the kernel. - - To set the name, use . - - If not set, the of the will be used as the key to register the component. - - The name. - - - - Set proxy for this component. - - The proxy. - - - - A non-generic . - - You can create a new registration with the factory. - - - - - Represents a configuration child. - - - - - Applies the configuration node. - - The configuration. - - - - Represents a configuration attribute. - - - - - Applies the configuration node. - - The configuration. - - - - Create a with name. - - The attribute name. - The new - - - - Represents a named attribute. - - - - - Builds the with name/value. - - The attribute value. - The new - - - - Builds the with name/value. - - The attribute value. - The new - - - - Represents a configuration child. - - - - - Create a with name. - - The child name. - The new - - - - Represents a named child. - - - - - Applies the configuration node. - - The configuration. - - - - Builds the with name/value. - - The child value. - The new - - - - Builds the with name/value. - - The child value. - The new - - - - Builds the with name/config. - - The child configuration. - The new - - - - Builds the with name/config. - - The child nodes. - The new - - - - Represents a simple child node. - - - - - Applies the configuration node. - - The configuration. - - - - Represents a complex child node. - - - - - Applies the configuration node. - - The configuration. - - - - Represents a compound child node. - - - - - Applies the configuration node. - - The configuration. - - - - Specifies that value should be used to satisfy dependencies matched by . The value is provided as a string and will be - converted to appropriate type when resolving. - - - - - - - - Specifies that value should be used to satisfy dependencies matched by . The value is provided as a string and will be converted to - appropriate type when resolving. - - - - - - - - Specifies that component registered with should be used to satisfy dependencies matched by - - - - - Specifies that component registered with should be used to satisfy dependencies matched by - - - - - Specifies that component registered with should be used to satisfy dependencies matched by - - - - - Specifies that component registered with should be used to satisfy dependencies matched by - - - - - Specifies that component registered with should be used to satisfy dependencies matched by - - - - - Specifies that components registered with should be used to satisfy collection dependencies matched by - - - - - Specifies that components registered with should be used to satisfy collection dependencies matched by - - - - - Specifies that components registered with should be used to satisfy collection dependencies matched by - - - - - Specifies that components registered with should be used to satisfy collection dependencies matched by - - - - - Specifies that components registered with should be used to satisfy collection dependencies matched by - - - - - Specifies that components registered with should be used to satisfy collection dependencies matched by - - - - - Specifies that value should be used to satisfy dependencies matched by - - - - - Specifies that value should be used to satisfy dependencies matched by - - - - - Specifies that value should be used to satisfy dependencies matched by - - - - - The contract to install components in the container. - - - - - Performs the installation in the . - - The container. - The configuration store. - - - - Adds the actions to ExtendedProperties. - - - - - - Sets the lifestyle to the specified - - . - - The type. - - - - - Assigns scoped lifestyle with scope accessed via - - instances. - - - - - - - Assigns scoped lifestyle with scope accessed via - - instances if provided, or default accessor otherwise. - - - - - - Assigns scoped lifestyle with scope accessed via default accessor. - - - - - - Assign a custom lifestyle type, that implements - - . - - Type of the custom lifestyle. - - - - - Assign a custom lifestyle type, that implements - - . - - The type of the custom lifestyle - - - - - Represents a configuration parameter. - - - - - Create a with key. - - The parameter key. - The new - - - - Gets the parameter configuration. - - - - - Gets the parameter key. - - - - - Gets the parameter value. - - - - - Represents a parameter key. - - - - - Builds the with key/value. - - The parameter value. - The new - - - - Builds the with key/config. - - The parameter configuration. - The new - - - - The parameter key name. - - - - - Represents a key/value pair. - - - - - Create a with key. - - The property key. - The new - - - - Create a with key. - - The property key. - The new - - - - Create a with key. - - The property key. - The new - - - - Gets the property key. - - - - - Gets the property value. - - - - - Represents a property key. - - - - - Builds the with key/value. - - The property value. - The new - - - - Builds a service override using other component registered with given as value for dependency with given . - - - - - - - Builds a service override using other component registered with given and no explicit name, as value for dependency with given . - - - - - - Builds a service override using other component registered with given and no explicit name, as value for dependency with given . - - - - - - The property key key. - - - - - Represents a service override. - - - - - Creates a with key. - - The service override key. - The new - - - - Creates a with key. - - The service override key. - The new - - - - Creates a with key. - - The service override key. - The new - - - - Implicitly converts service override to dependency. This is a API trick to keep the API clean and focused. - - - - - - - Gets the optional value type specifier. - - - - - Represents a service override key. - - - - - Builds the with key/value. - - The service override value. - The new - - - - Builds the with key/values. - - The service override values. - The new - - - - Builds the with key/values. - - The service override values. - The new - The value type. - - - - Builds the with key/values. - - The service override values. - The new - - - - Builds the with key/values. - - The service override values. - The new - The value type. - - - - Describes a set of components to register in the kernel. Use static methods on the class to fluently build registration. - - - - - Prepares to register types from a list of types. - - The list of types. - The corresponding - - - - Prepares to register types from a list of types. - - The list of types. - The corresponding - - - - Prepares to register types from an assembly. - - The assembly. - The corresponding - - - - Prepares to register types from an assembly containing the type. - - The type belonging to the assembly. - The corresponding - - - - Prepares to register types from an assembly containing the type. - - The type belonging to the assembly. - The corresponding - - - - Prepares to register types from an assembly. - - The assembly name. - The corresponding - - - - Prepares to register types from the assembly containing the code invoking this method. - - The corresponding - - - - Describes all the types based on basedOn. - - The base type. - - - - - Describes all the types based on type T. - - The base type. - - - - - Describes any types that are supplied. - - - - - - Prepares to register types from a list of types. - - The list of types. - The corresponding - - - - Describes a related group of components to register in the kernel. - - - - - Prepares to register types from a list of types. - - The list of types. - The corresponding - - - - Prepares to register types from a list of types. - - The list of types. - The corresponding - - - - Prepares to register types from an assembly. - - The assembly. - The corresponding - - - - Prepares to register types from an assembly. - - The assembly name. - The corresponding - - - - Prepares to register types from a list of types. - - The list of types. - The corresponding - - - - Selects a set of types from an assembly. - - - - - Describes the source of types to register. - - - - - Allows a type to be registered multiple times. - - - - - Returns the descriptor for accepting a type. - - The base type. - The descriptor for the type. - - - - Returns the descriptor for accepting a type. - - The base type. - The descriptor for the type. - - - - Returns the descriptor for accepting a type. - - One or more base types. To be accepted a type must implement at least one of the given base types. - The descriptor for the type. - - - - Returns the descriptor for accepting a type. - - One or more base types. To be accepted a type must implement at least one of the given base types. - The descriptor for the type. - - - - Creates a predicate to check if a component is in a namespace. - - The namespace. - true if the component type is in the namespace. - - - - Creates a predicate to check if a component is in a namespace. - - The namespace. - If set to true, will also include types from subnamespaces. - true if the component type is in the namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - true if the component is in the same namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - If set to true, will also include types from subnamespaces. - true if the component is in the same namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - true if the component is in the same namespace. - - - - Creates a predicate to check if a component shares a namespace with another. - - The component type to test namespace against. - If set to true, will also include types from subnamespaces. - true if the component is in the same namespace. - - - - Returns the descriptor for accepting any type from given solutions. - - - - - - Returns the descriptor for accepting a type based on a condition. - - The accepting condition. - The descriptor for the type. - - - - When called also non-public types will be scanned. - - - Usually it is not recommended to register non-public types in the container so think twice before using this option. - - - - - Selects an existing set of types to register. - - - - - Describes how to select a types service. - - - - - Uses all interfaces implemented by the type (or its base types) as well as their base interfaces. - - - - - - Uses the base type matched on. - - - - - - Uses all interfaces that have names matched by implementation type name. - Matches Foo to IFoo, SuperFooExtended to IFoo and IFooExtended etc - - - - - - Uses the first interface of a type. This method has non-deterministic behavior when type implements more than one interface! - - - - - - Uses to lookup the sub interface. - For example: if you have IService and - IProductService : ISomeInterface, IService, ISomeOtherInterface. - When you call FromInterface(typeof(IService)) then IProductService - will be used. Useful when you want to register _all_ your services - and but not want to specify all of them. - - - - - - - Uses base type to lookup the sub interface. - - - - - - Assigns a custom service selection strategy. - - - - - - - Assigns the supplied service types. - - - - - - - Uses the type itself. - - - - - - This is a workaround for a CLR bug in - which GetInterfaces() returns interfaces - with no implementations. - - Type of the service. - - - - - Describes how to register a group of related types. - - - - - Initializes a new instance of the BasedOnDescriptor. - - - - - Allows a type to be registered multiple times. - - - - - Returns the descriptor for accepting a new type. - - The base type. - The descriptor for the type. - - - - Returns the descriptor for accepting a new type. - - The base type. - The descriptor for the type. - - - - Adds another type to be accepted as base. - - The base type. - The descriptor for the type. - - - - Allows customized configurations of each matching type. - - The configuration action. - - - - - Allows customized configurations of each matching component with implementation type that is - assignable to - - . - - The type assignable from. - The configuration action. - - - - - Allows customized configurations of each matching component that satisfies supplied . - - Condition to satisfy - The configuration action, executed only for components for which evaluates to true . - - - - - Allows customized configurations of each matching component that satisfies supplied and alternative configuration for the rest of components. - - Condition to satisfy - The configuration action, executed only for components for which evaluates to true . - The configuration action, executed only for components for which evaluates to false . - - - - - Assigns a conditional predication which must be satisfied. - - The predicate to satisfy. - - - - - Assigns a conditional predication which must not be satisfied. - - The predicate not to satisify. - - - - - Returns the descriptor for accepting a type based on a condition. - - The accepting condition. - The descriptor for the type. - - - - Uses all interfaces implemented by the type (or its base types) as well as their base interfaces. - - - - - - Uses the base type matched on. - - - - - - Uses all interfaces that have names matched by implementation type name. - Matches Foo to IFoo, SuperFooExtended to IFoo and IFooExtended etc - - - - - - Uses the first interface of a type. This method has non-deterministic behavior when type implements more than one interface! - - - - - - Uses to lookup the sub interface. - For example: if you have IService and - IProductService : ISomeInterface, IService, ISomeOtherInterface. - When you call FromInterface(typeof(IService)) then IProductService - will be used. Useful when you want to register _all_ your services - and but not want to specify all of them. - - - - - - - Uses base type to lookup the sub interface. - - - - - - Assigns a custom service selection strategy. - - - - - - - Uses the type itself. - - - - - - Sets component lifestyle to specified one. - - - - - - Sets component lifestyle to specified one. - - - - - - Sets component lifestyle to per thread. - - - - - - Sets component lifestyle to scoped per explicit scope. - - - - - - Sets component lifestyle to scoped per explicit scope. - - - - - - Sets component lifestyle to scoped per explicit scope. - - - - - - Sets component lifestyle to scoped per component . - - - - - - Sets component lifestyle to scoped per nearest component on the resolution stack where implementation type is assignable to . - - - - - - Sets component lifestyle to pooled. If or are not set default values will be used. - - - - - - Sets component lifestyle to singleton. - - - - - - Sets component lifestyle to transient. - - - - - - Assigns the supplied service types. - - - - - - - Assigns the supplied service types. - - - - - - - Gets the service descriptor. - - - - - Tracks all components requiring decomission () - - - - - Policy managing lifetime of components, and in particular their release process. - - - - - Creates nested policy for scoped object tracking. - - - - - - Returns true if is being tracked by this release policy, false otherwise. - - - - - - - Releases if it's being tracked by this release policy, invoking its s and stops tracking it so that it can be claimed by the Garbage Collector. - - - - - - Asks the policy to track given object. The object will be released when a call to is made. - - - - Thrown when does NOT have its flag set. - - - - Used to obtain if present. - - - - - Creates new policy which publishes its tracking components count to - - and exposes diagnostics into - - . - - - - - - - Obtains from given if present. - - - - - - - Creates new from given . - - - - - - - No tracking of component instances are made. - - - - - Default implementation for . - This implementation is quite simple, but still should be useful - for 99% of situations. - - - - - Implementors should use a strategy to obtain - valid references to properties and/or services - requested in the dependency model. - - - - - Registers a sub resolver instance - - The subresolver instance - - - - This method is called with a delegate for firing the - IKernelEvents.DependencyResolving event. - - kernel - The delegate used to fire the event - - - - Unregisters a sub resolver instance previously registered - - The subresolver instance - - - - Registers a sub resolver instance - - The subresolver instance - - - - Initializes this instance with the specified dependency delegate. - - kernel - The dependency delegate. - - - - Unregisters a sub resolver instance previously registered - - The subresolver instance - - - - Returns true if the resolver is able to satisfy the specified dependency. - - Creation context, which is a resolver itself - Parent resolver - Model of the component that is requesting the dependency - The dependency model - - true - if the dependency can be satisfied - - - - Try to resolve the dependency by checking the parameters in - the model or checking the Kernel for the requested service. - - - The dependency resolver has the following precedence order: - - - The dependency is checked within the - - - - - The dependency is checked within the - - instance for the component - - - The dependency is checked within the registered - - s - - - Finally the resolver tries the normal flow - which is using the configuration - or other component to satisfy the dependency - - - - Creation context, which is a resolver itself - Parent resolver - Model of the component that is requesting the dependency - The dependency model - The dependency resolved value or null - - - - This method rebuild the context for the parameter type. - Naive implementation. - - - - - Initializes a new instance of the class. - - The message. - The inner exception. - - - - Initializes a new instance of the class. - - The message. - - - - Lazily adds component for . - - - - - Handle dependencies of services in the format of typed arrays. - - - This is a complimentary implementation - that is capable of satisfying dependencies of services as typed arrays. - - Note that it will take precedence over service override for arrays defined - on the configuration. - - - - In order to install the resolver: - - var kernel = new DefaultKernel(); - kernel.Resolver.AddSubResolver(new ArrayResolver(kernel)); - - - - To use it, assuming that IService is on the container: - - - - public class Component - { - public Component(IService[] services) - { - } - } - - - - - - More generic alternative to and . - It supports arrays as well as any generic interface type assignable from arrays. - - - The collection instance that is provided is read only, even for interfaces like - - - - - Handle dependencies of services in the format of generic IList. - - - This is a complimentary implementation - that is capable of satisfying dependencies of services generic IList. - - Note that it will take precedence over service override for lists defined - on the configuration. - - - - In order to install the resolver: - - var kernel = new DefaultKernel(); - kernel.Resolver.AddSubResolver(new ListResolver(kernel)); - - - - To use it, assuming that IService is on the container: - - - - public class Component - { - public Component(IList<IService> services) - { - } - } - - - - - - A subsystem is used by the MicroKernel to deal - with a specific concern. - - - - - Initializes the subsystem - - - - - - Should perform the termination - of the subsystem instance. - - - - - This implementation of - does not try to obtain an external configuration by any means. - Its only purpose is to serve as a base class for subclasses - that might obtain the configuration node from anywhere. - - - - - The contract used by the kernel to obtain - external configuration for the components and - facilities. - - - - - Adds the child container configuration. - - The container's name. - The config. - - - - Associates a configuration node with a component key - - item key - Configuration node - - - - Associates a configuration node with a facility key - - item key - Configuration node - - - - Returns the configuration node associated with - the specified child container key. Should return null - if no association exists. - - item key - - - - - Returns the configuration node associated with - the specified component key. Should return null - if no association exists. - - item key - - - - - Returns all configuration nodes for components - - - - - - Gets the child containers configuration nodes. - - - - - - Returns all configuration nodes for facilities - - - - - - Returns the configuration node associated with - the specified facility key. Should return null - if no association exists. - - item key - - - - - Returns all configuration nodes for installers - - - - - - - - - - - - - Adds the child container configuration. - - The key. - The config. - - - - Associates a configuration node with a component key - - item key - Configuration node - - - - Associates a configuration node with a facility key - - item key - Configuration node - - - - Returns the configuration node associated with - the specified child container key. Should return null - if no association exists. - - item key - - - - - Returns the configuration node associated with - the specified component key. Should return null - if no association exists. - - item key - - - - - Returns all configuration nodes for components - - - - - - Returns all configuration nodes for child containers - - - - - - Returns all configuration nodes for facilities - - - - - - Returns the configuration node associated with - the specified facility key. Should return null - if no association exists. - - item key - - - - - Base implementation of - - - - - Implements a conversion logic to a type of a - set of types. - - - - - Returns true if this instance of ITypeConverter - is able to handle the specified type. - - - - - - - Returns true if this instance of ITypeConverter - is able to handle the specified type with the specified - configuration - - - - - - - - Should perform the conversion from the - string representation specified to the type - specified. - - - - - - - - Should perform the conversion from the - configuration node specified to the type - specified. - - - - - - - - Returns true if this instance of ITypeConverter - is able to handle the specified type with the specified - configuration - - - - - - The default behavior is to just pass it to the normal CanHadnleType - peeking into the configuration is used for some advanced functionality - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The message. - The inner exception. - - - - Looks for a on the type to be converted. - If found, the TypeConverter defined by the attribute is used to perform the conversion. - - - - - Marker interface that signals that a converter - depends on IKernel to be able to perform - the conversion. - - - - - Attempts to utilize an existing for conversion - - - - - Creates the target type instance. - - The type. - The configuration. - - - - - Chooses the first non default constructor. Throws an exception if more than - one non default constructor is found - - - The chosen constructor, or null if none was found - - - - Converts the constructor parameters. - - The constructor. - The configuration. - - - - - Converts the property values. - - The instance. - The type. - The configuration. - - - - Finds the child (case insensitive). - - The config. - The name. - - - - - Gets the conversion manager. - - The conversion manager. - - - - Converts a string representation to an enum value - - - - - This interface is needed because we want to isolate ourself from - the generic parameters, so we can work type safe inside the implementations, - and still call from non generic types outside. - - - - - Implements all standard conversions. - - - - - Our own minimalistic implementation of TypeDescriptor class, which does not exist in Silverlight. - It exists solely to support functionality of and does not provide - full functionality of the actually thing from the full .NET framework. - - - - - Convert a type name to a Type instance. - - - - - Declares a type as being convertible by a and optionally defines the converter to be used - - - - - Defines the to be used to convert the type - - - - - Defines the to be used to convert the type - - - - - - Composition of all available conversion managers - - - - - Establish a composition interface and a subsystem. - Implementors should delegate the conversion to - a instance of a type converter. - - - - - Register a type converter instance. - - - - - - Contract for SubSystem that wishes to keep and coordinate - component registration. - - - - - Register a new component resolver that can take part in the decision - making about which handler to resolve - - - - - Register a new component resolver that can take part in the decision - making about which handler(s) to resolve and in which order - - - - - Returns true if there is a component registered - for the specified name - - - - - - - Returns true if there is a component registered - for the specified service - - - - - - - Returns all registered. - - - - - - Return s where components are compatible - with the specified service. - - - - - - - Returns the associated with - the specified name. - - - - - - - Returns the associated with - the specified service. - - - - - Returns an array of associated with - the specified service. - - - - - - - Implementors should register the with all its exposes. - The handler should also be accessible via unique of its . - - - Thrown if the of 's is not unique and a handler with the same name has already been registered. - - - - Returns the number of components registered. - - - - - Map(String, IHandler) to map component names to Items in this dictionary are sorted in insertion order. - - - - - Map(Type, IHandler) to map a service to . If there is more than a single service of the type, only the first registered services is stored in this dictionary. It serve as a fast lookup for the common case of having a single handler for a type. - - - - - Implementors of this interface allow to extend the way the container perform - component resolution based on some application specific business logic. - - - This is the sibling interface to . - This is dealing strictly with root components, while the is dealing with - dependent components. - - - - - Whatever the selector has an opinion about resolving a component with the - specified service and key. - - The service key - can be null - The service interface that we want to resolve - - - - Select the appropriate handler from the list of defined handlers. - The returned handler should be a member from the array. - - The service key - can be null - The service interface that we want to resolve - The defined handlers - The selected handler, or null - - - - Pendent - - - - - An implementation of a should - be able to return instances of - for a given resource identifier. - - - - - Holds the keys used by Kernel to register/request - a subsystem. - - - - - Key used for the configuration store subsystem - - - - - Key used for the conversion manager - - - - - Key used for the diagnostics subsystem - - - - - Key used for the naming subsystem - - - - - Key used for the resource subsystem - - - - - Interpreter of a specific language to describe - configuration nodes in a hierarchical manner. - - - - - Should obtain the contents from the resource, - interpret it and populate the - accordingly. - - - - - - - - Gets or sets the name of the environment. - - The name of the environment. - - - - Exposes the reference to - which the interpreter is likely to hold - - - - - Provides common methods for those who wants - to implement - - - - - Should obtain the contents from the resource, - interpret it and populate the - accordingly. - - - - - - - - Exposes the reference to - which the interpreter is likely to hold - - - - - - Gets or sets the name of the environment. - - The name of the environment. - - - - Collects all handlers for components in hosting container. - - - - - Base inteface for exposing diagnostic information about container, its components and extensions - - - - - - Collects specified diagnostic information. - - - - - - Collects all handlers for components in hosting container grouped by services they expose. - Within the service group, first one would be the default (the one obtained when callling for the service type) - - - - - Collects dependencies that are duplicated between constructors and properties. - - - - - Detects components that are not extending Windsor's infrastructure yet depend on the container which usually means they use the container as service locator - which is a bad practice and should be avoided. Consult the documentation for more details: http://j.mp/WindsorSL - - - - - Hosts different diagnostics available in the container. - - - - - Adds and makes it available as . - - - Thrown when a diagnostic for - - has already been added. - - - - - Returns diagnostic registered with or null if not present. - - - - - - - Exposes diagnostics about itself to the . - - Usually simple type containing information provided to the . - - Can be implemented by any type constituting part of container infrastructure. Should have a matching registred in the container that knows - how to find it and that prepares information from it for consumption. - - - - - Collects for the and calls if any data available. - - - pass-through context. Used by the inspector. - - - - Gets the environment information (name). Implementors should - use to define their environments and how those affect the configuration. - - - - - Gets the name of the environment. - - - - - - Delegate to provide environment name. - - The environment name. - - - - Initializes a new instance of the ConfigurationInstaller class. - - - - - Sets the configuration environment name. - - The environment name. - - - - - Set the configuration environment strategy. - - The environment strategy. - - - - - Default implementation. - - - - - Installs the components and facilities based on the - information on the configuration store. - - - - - Perform installation. - - Target container - Configuration store - - - - Perform installation. - - Target container - Configuration store - - - - Scans the assembly containing specified type for types implementing , instantiates them and returns so that can - install them. - - - - - - Scans the assembly containing specified type for types implementing , instantiates using given and returns so that - can install them. - - - - - - Scans the assembly containing specified type for types implementing , instantiates them and returns so that can - install them. - - - - - - Scans the assembly containing specified type for types implementing , instantiates using given and returns so that - can install them. - - - - - - Scans current assembly and all refernced assemblies with the same first part of the name for types implementing , instantiates and returns so that - can install them. - - - - Assemblies are considered to belong to the same application based on the first part of the name. For example if the method is called from within MyApp.exe and MyApp.exe references - MyApp.SuperFeatures.dll, mscorlib.dll and ThirdPartyCompany.UberControls.dll the MyApp.exe and MyApp.SuperFeatures.dll will be scanned for installers, and other - assemblies will be ignored. - - - - - Scans current assembly and all refernced assemblies with the same first part of the name for types implementing , instantiates using given - and returns so that can install them. - - - - - Assemblies are considered to belong to the same application based on the first part of the name. For example if the method is called from within MyApp.exe and MyApp.exe references - MyApp.SuperFeatures.dll, mscorlib.dll and ThirdPartyCompany.UberControls.dll the MyApp.exe and MyApp.SuperFeatures.dll will be scanned for installers, and other - assemblies will be ignored. - - - - - Scans the specified assembly with specified name for types implementing , instantiates them and returns so that can - install them. - - - - - - Scans the specified assembly with specified name for types implementing , instantiates using given and returns so that - can install them. - - - - - - Scans the assembly with specified name for types implementing , instantiates them and returns so that can install - them. - - - - - - Scans the assembly with specified name for types implementing , instantiates using given and returns so that - can install them. - - - - - - Scans assembly that contains code calling this method for types implementing , instantiates them and returns so that - can install them. - - - - - - Scans assembly that contains code calling this method for types implementing , instantiates using given and returns so that - can install them. - - - - - - Helper class used by to filter/order and instantiate implementations - - - - - Performs custom instantiation of given - - - Default implementation uses public parameterless constructor to create the instance. - - - - - Performs custom filtering/ordering of given set of types. - - Set of concrete class types implementing interface. - Transformed . - - Default implementation simply returns types passed into it. - - - - - The IWindsorContainer interface exposes all the - functionality the Windsor implements. - - - - - Registers a subcontainer. The components exposed - by this container will be accessible from subcontainers. - - - - - - Registers a facility within the container. - - The to add to the container. - - - - Creates and adds an facility to the container. - - The facility type. - - - - - Creates and adds an facility to the container. - - The facility type. - The callback for creation. - - - - - Gets a child container instance by name. - - The container's name. - The child container instance or null - - - - Runs the so that they can register components in the container. For details see the documentation at http://j.mp/WindsorInstall - - - In addition to instantiating and passing every installer inline you can use helper methods on class to automatically instantiate and run your installers. - You can also use class to install components and/or run aditional installers specofied in a configuration file. - - The container. - - - container.Install(new YourInstaller1(), new YourInstaller2(), new YourInstaller3()); - - - - - container.Install(FromAssembly.This(), Configuration.FromAppConfig(), new SomeOtherInstaller()); - - - - - - Registers the components with the . The instances of are produced by fluent registration API. - Most common entry points are method to register a single type or (recommended in most cases) - . - Let the Intellisense drive you through the fluent API past those entry points. For details see the documentation at http://j.mp/WindsorApi - - - - container.Register(Component.For<IService>().ImplementedBy<DefaultService>().LifestyleTransient()); - - - - - container.Register(Classes.FromThisAssembly().BasedOn<IService>().WithServiceDefaultInterfaces().Configure(c => c.LifestyleTransient())); - - - The component registrations created by , or different entry method to the fluent API. - The container. - - - - Releases a component instance - - - - - - Remove a child container - - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the service - - - - - - - Returns a component instance by the service - - - - - - - - Returns a component instance by the service - - - - - - - - Returns a component instance by the service - - Service type - The component instance - - - - Returns a component instance by the service - - Service type - - The component instance - - - - Returns a component instance by the service - - Service type - - The component instance - - - - Returns a component instance by the key - - Component's key - Service type - The Component instance - - - - Returns a component instance by the key - - Service type - Component's key - - The Component instance - - - - Returns a component instance by the key - - Service type - Component's key - - The Component instance - - - - Returns a component instance by the key - - - - - - - - - Returns a component instance by the key - - - - - - - - - Resolve all valid components that match this type. - - The service type - - - - Resolve all valid components that match this service - the service to match - - - - - Resolve all valid components that match this service - the service to match - Arguments to resolve the service - - - - - Resolve all valid components that match this service - the service to match - Arguments to resolve the service - - - - - Resolve all valid components that match this type. - The service type - Arguments to resolve the service - - - - - Resolve all valid components that match this type. - The service type - Arguments to resolve the service - - - - - Registers a facility within the container. - - The key by which the gets indexed. - The to add to the container. - - - - Creates and adds an facility to the container. - - The facility type. - - - - - - Creates and adds an facility to the container. - - The facility type. - - The callback for creation. - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the key - - - - - - - - Returns the inner instance of the MicroKernel - - - - - Gets the container's name - - - Only useful when child containers are being used - - The container's name. - - - - Gets or sets the parent container if this instance - is a sub container. - - - - - This interface should be implemented by classes - that are available in a bigger context, exposing - the container to different areas in the same application. - - For example, in Web application, the (global) HttpApplication - subclasses should implement this interface to expose - the configured container - - - - - - Obtains the interceptors associated with the component. - - The kernel instance - The component model - The creation context - interceptors array - - - - This implementation of relies - on DynamicProxy to expose proxy capabilities. - - - Note that only virtual methods can be intercepted in a - concrete class. However, if the component - was registered with a service interface, we proxy - the interface and the methods don't need to be virtual, - - - - - Constructs a DefaultProxyFactory - - - - - Creates the proxy for the supplied component. - - The kernel. - The target. - The model. - The constructor arguments. - The creation context - The component proxy. - - - - Determines if the component requires a target instance for proxying. - - The kernel. - The model. - true if an instance is required. - - - - Implementation of - which delegates to implementation. - - - - - Constructs a container without any external - configuration reference - - - - - Constructs a container using the specified - implementation. - - The instance of an implementation. - - - - Constructs a container using the specified - implementation. - - The instance of an implementation. - - - - Initializes a new instance of the class. - - The interpreter. - The environment info. - - - - Constructs a container using the specified - implementation. Rarely used. - - - This constructs sets the Kernel.ProxyFactory property to - Proxy.DefaultProxyFactory - - Kernel instance - Installer instance - - - - Constructs a container using the specified - implementation. Rarely used. - - - This constructs sets the Kernel.ProxyFactory property to - Proxy.DefaultProxyFactory - - Container's name - Kernel instance - Installer instance - - - - Constructs with a given . - - A instance of an . - - - - Constructs a container assigning a parent container - before starting the dependency resolution. - - The instance of an - The instance of an implementation - - - - Initializes a new instance of the class. - - The container's name. - The parent. - The interpreter. - - - - Executes Dispose on underlying - - - - - Registers a subcontainer. The components exposed - by this container will be accessible from subcontainers. - - - - - - Registers a facility within the container. - - - - - - Creates and adds an facility to the container. - - The facility type. - - - - - Creates and adds an facility to the container. - - The facility type. - The callback for creation. - - - - - Gets a child container instance by name. - - The container's name. - The child container instance or null - - - - Runs the so that they can register components in the container. For details see the documentation at http://j.mp/WindsorInstall - - - In addition to instantiating and passing every installer inline you can use helper methods on class to automatically instantiate and run your installers. - You can also use class to install components and/or run aditional installers specofied in a configuration file. - - The container. - - - container.Install(new YourInstaller1(), new YourInstaller2(), new YourInstaller3()); - - - - - container.Install(FromAssembly.This(), Configuration.FromAppConfig(), new SomeOtherInstaller()); - - - - - - Registers the components with the . The instances of are produced by fluent registration API. - Most common entry points are method to register a single type or (recommended in most cases) - . - Let the Intellisense drive you through the fluent API past those entry points. For details see the documentation at http://j.mp/WindsorApi - - - - container.Register(Component.For<IService>().ImplementedBy<DefaultService>().LifestyleTransient()); - - - - - container.Register(Classes.FromThisAssembly().BasedOn<IService>().WithServiceDefaultInterfaces().Configure(c => c.LifestyleTransient())); - - - The component registrations created by , or different entry method to the fluent API. - The container. - - - - Releases a component instance - - - - - - Removes (unregisters) a subcontainer. The components exposed by this container - will no longer be accessible to the child container. - - - - - - Returns a component instance by the service - - - - - - - - Returns a component instance by the service - - - - - - - - Returns a component instance by the service - - - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the key - - - - - - - - - Returns a component instance by the key - - - - - - - - - Returns a component instance by the service - - - - - - - - Returns a component instance by the service - - - - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the service - - - - - - - Returns a component instance by the key - - - - - - - Resolve all valid components that match this type. - - The service type - - - - Resolve all valid components that match this type. - The service type - Arguments to resolve the service - - - - - Resolve all valid components that match this type. - The service type - Arguments to resolve the service - - - - - Registers a facility within the container. - - - - - - - Creates and adds an facility to the container. - - The facility type. - - - - - - Creates and adds an facility to the container. - - The facility type. - - The callback for creation. - - - - - Returns a component instance by the key - - - - - - - - Returns a component instance by the key - - - - - - - - Returns the inner instance of the MicroKernel - - - - - Gets the container's name - - - Only useful when child containers are being used - - The container's name. - - - - Gets or sets the parent container if this instance - is a sub container. - - - - - Implementation of and that uses a or as its component's source. - - - - diff --git a/packages/Castle.Windsor.3.2.0/readme.txt b/packages/Castle.Windsor.3.2.0/readme.txt deleted file mode 100644 index fca971f..0000000 --- a/packages/Castle.Windsor.3.2.0/readme.txt +++ /dev/null @@ -1,8 +0,0 @@ -Thanks for downloading this Castle Windsor package. -You can find full list of changes in changes.txt - -Documentation: - http://docs.castleproject.org/Windsor.MainPage.ashx -Discusssion group: - http://groups.google.com/group/castle-project-users -StackOverflow tags: - castle-windsor, castle - -Issue tracker: - http://issues.castleproject.org/dashboard \ No newline at end of file diff --git a/packages/GitFlowVersionTask.0.2.0/GitFlowVersion.exe b/packages/GitFlowVersionTask.0.2.0/GitFlowVersion.exe deleted file mode 100644 index 21e9e38..0000000 Binary files a/packages/GitFlowVersionTask.0.2.0/GitFlowVersion.exe and /dev/null differ diff --git a/packages/GitFlowVersionTask.0.2.0/GitFlowVersionTask.dll b/packages/GitFlowVersionTask.0.2.0/GitFlowVersionTask.dll deleted file mode 100644 index c5fc58b..0000000 Binary files a/packages/GitFlowVersionTask.0.2.0/GitFlowVersionTask.dll and /dev/null differ diff --git a/packages/GitFlowVersionTask.0.2.0/LibGit2Sharp.dll b/packages/GitFlowVersionTask.0.2.0/LibGit2Sharp.dll deleted file mode 100644 index e557c4e..0000000 Binary files a/packages/GitFlowVersionTask.0.2.0/LibGit2Sharp.dll and /dev/null differ diff --git a/packages/GitFlowVersionTask.0.2.0/NativeBinaries/x86/git2-32e4992.dll b/packages/GitFlowVersionTask.0.2.0/NativeBinaries/x86/git2-32e4992.dll deleted file mode 100644 index aef5e59..0000000 Binary files a/packages/GitFlowVersionTask.0.2.0/NativeBinaries/x86/git2-32e4992.dll and /dev/null differ diff --git a/packages/Microsoft.AspNet.WebApi.4.0.30506.0/Microsoft.AspNet.WebApi.4.0.30506.0.nupkg b/packages/Microsoft.AspNet.WebApi.4.0.30506.0/Microsoft.AspNet.WebApi.4.0.30506.0.nupkg deleted file mode 100644 index 3c21fd3..0000000 Binary files a/packages/Microsoft.AspNet.WebApi.4.0.30506.0/Microsoft.AspNet.WebApi.4.0.30506.0.nupkg and /dev/null differ diff --git a/packages/Microsoft.AspNet.WebApi.4.0.30506.0/Microsoft.AspNet.WebApi.4.0.30506.0.nuspec b/packages/Microsoft.AspNet.WebApi.4.0.30506.0/Microsoft.AspNet.WebApi.4.0.30506.0.nuspec deleted file mode 100644 index 7cfe017..0000000 --- a/packages/Microsoft.AspNet.WebApi.4.0.30506.0/Microsoft.AspNet.WebApi.4.0.30506.0.nuspec +++ /dev/null @@ -1,21 +0,0 @@ - - - - Microsoft.AspNet.WebApi - 4.0.30506.0 - Microsoft ASP.NET Web API - Microsoft - Microsoft - http://www.microsoft.com/web/webpi/eula/mvc_4_eula_enu.htm - http://www.asp.net/web-api - true - This package contains everything you need to host ASP.NET Web API on IIS. ASP.NET Web API is a framework that makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices. ASP.NET Web API is an ideal platform for building RESTful applications on the .NET Framework. - - - en-US - Microsoft AspNet WebApi AspNetWebApi - - - - - \ No newline at end of file diff --git a/packages/Microsoft.AspNet.WebApi.WebHost.4.0.30506.0/Microsoft.AspNet.WebApi.WebHost.4.0.30506.0.nupkg b/packages/Microsoft.AspNet.WebApi.WebHost.4.0.30506.0/Microsoft.AspNet.WebApi.WebHost.4.0.30506.0.nupkg deleted file mode 100644 index 8d99761..0000000 Binary files a/packages/Microsoft.AspNet.WebApi.WebHost.4.0.30506.0/Microsoft.AspNet.WebApi.WebHost.4.0.30506.0.nupkg and /dev/null differ diff --git a/packages/Microsoft.AspNet.WebApi.WebHost.4.0.30506.0/Microsoft.AspNet.WebApi.WebHost.4.0.30506.0.nuspec b/packages/Microsoft.AspNet.WebApi.WebHost.4.0.30506.0/Microsoft.AspNet.WebApi.WebHost.4.0.30506.0.nuspec deleted file mode 100644 index 038c930..0000000 --- a/packages/Microsoft.AspNet.WebApi.WebHost.4.0.30506.0/Microsoft.AspNet.WebApi.WebHost.4.0.30506.0.nuspec +++ /dev/null @@ -1,20 +0,0 @@ - - - - Microsoft.AspNet.WebApi.WebHost - 4.0.30506.0 - Microsoft ASP.NET Web API Web Host - Microsoft - Microsoft - http://www.microsoft.com/web/webpi/eula/mvc_4_eula_enu.htm - http://www.asp.net/web-api - true - This package contains everything you need to host ASP.NET Web API on IIS. ASP.NET Web API is a framework that makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices. ASP.NET Web API is an ideal platform for building RESTful applications on the .NET Framework. - en-US - Microsoft AspNet WebApi AspNetWebApi WebHost - - - - - - \ No newline at end of file diff --git a/packages/Microsoft.AspNet.WebApi.WebHost.4.0.30506.0/lib/net40/System.Web.Http.WebHost.dll b/packages/Microsoft.AspNet.WebApi.WebHost.4.0.30506.0/lib/net40/System.Web.Http.WebHost.dll deleted file mode 100644 index 1dfa8d2..0000000 Binary files a/packages/Microsoft.AspNet.WebApi.WebHost.4.0.30506.0/lib/net40/System.Web.Http.WebHost.dll and /dev/null differ diff --git a/packages/Microsoft.AspNet.WebApi.WebHost.4.0.30506.0/lib/net40/System.Web.Http.WebHost.xml b/packages/Microsoft.AspNet.WebApi.WebHost.4.0.30506.0/lib/net40/System.Web.Http.WebHost.xml deleted file mode 100644 index b2cafc2..0000000 --- a/packages/Microsoft.AspNet.WebApi.WebHost.4.0.30506.0/lib/net40/System.Web.Http.WebHost.xml +++ /dev/null @@ -1,136 +0,0 @@ - - - - System.Web.Http.WebHost - - - - Provides a global for ASP.NET applications. - - - - Gets the default message handler that will be called for all requests. - - - Extension methods for - - - Maps the specified route template. - A reference to the mapped route. - A collection of routes for the application. - The name of the route to map. - The route template for the route. - - - Maps the specified route template and sets default route. - A reference to the mapped route. - A collection of routes for the application. - The name of the route to map. - The route template for the route. - An object that contains default route values. - - - Maps the specified route template and sets default route values and constraints. - A reference to the mapped route. - A collection of routes for the application. - The name of the route to map. - The route template for the route. - An object that contains default route values. - A set of expressions that specify values for routeTemplate. - - - Maps the specified route template and sets default route values, constraints, and end-point message handler. - A reference to the mapped route. - A collection of routes for the application. - The name of the route to map. - The route template for the route. - An object that contains default route values. - A set of expressions that specify values for routeTemplate. - The handler to which the request will be dispatched. - - - A that passes ASP.NET requests into the pipeline and write the result back. - - - Initializes a new instance of the class. - The route data. - - - Begins the process request. - An that contains information about the status of the process. - The HTTP context base. - The callback. - The state. - - - Provides an asynchronous process End method when the process ends. - An that contains information about the status of the process. - - - Gets a value indicating whether another request can use the instance. - - - Processes the request. - The HTTP context base. - - - Begins processing the request. - An that contains information about the status of the process. - The HTTP context. - The callback. - The state. - - - Provides an asynchronous process End method when the process ends. - An that contains information about the status of the process. - - - Gets a value indicating whether another request can use the instance. - - - Processes the request. - The HTTP context base. - - - A that returns instances of that can pass requests to a given instance. - - - Initializes a new instance of the class. - - - Provides the object that processes the request. - An object that processes the request. - An object that encapsulates information about the request. - - - Gets the singleton instance. - - - Provides the object that processes the request. - An object that processes the request. - An object that encapsulates information about the request. - - - Provides a registration point for the simple membership pre-application start code. - - - Registers the simple membership pre-application start code. - - - Represents the web host buffer policy selector. - - - Initializes a new instance of the class. - - - Gets a value that indicates whether the host should buffer the entity body of the HTTP request. - true if buffering should be used; otherwise a streamed request should be used. - The host context. - - - Uses a buffered output stream for the web host. - A buffered output stream. - The response. - - - \ No newline at end of file diff --git a/packages/NUnit.Runners.2.6.2/NUnit.Runners.2.6.2.nupkg b/packages/NUnit.Runners.2.6.2/NUnit.Runners.2.6.2.nupkg deleted file mode 100644 index eaaa711..0000000 Binary files a/packages/NUnit.Runners.2.6.2/NUnit.Runners.2.6.2.nupkg and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/NUnit.Runners.2.6.2.nuspec b/packages/NUnit.Runners.2.6.2/NUnit.Runners.2.6.2.nuspec deleted file mode 100644 index 4954927..0000000 --- a/packages/NUnit.Runners.2.6.2/NUnit.Runners.2.6.2.nuspec +++ /dev/null @@ -1,24 +0,0 @@ - - - - NUnit.Runners - 2.6.2 - NUnit.Runners - Charlie Poole - Charlie Poole - http://nunit.org/nuget/license.html - http://nunit.org/ - http://nunit.org/nuget/nunit_32x32.png - false - NUnit features a fluent assert syntax, parameterized, generic and theory tests and is user-extensible. A number of runners, both from the NUnit project and by third parties, are able to execute NUnit tests. - -Version 2.6 is the seventh major release of this well-known and well-tested programming tool. - -This package includes the NUnit console, gui and pnunit runners and is compatible with all NUnit framework versions 2.0 through 2.6. The NUnit project editor is also included. - NUnit is a unit-testing framework for all .Net languages with a strong TDD focus. - - - en-US - test testing tdd runner - - \ No newline at end of file diff --git a/packages/NUnit.Runners.2.6.2/license.txt b/packages/NUnit.Runners.2.6.2/license.txt deleted file mode 100644 index 724e465..0000000 --- a/packages/NUnit.Runners.2.6.2/license.txt +++ /dev/null @@ -1,15 +0,0 @@ -Copyright 2002-2012 Charlie Poole -Copyright 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov -Copyright 2000-2002 Philip A. Craig - -This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment (see the following) in the product documentation is required. - -Portions Copyright 2002-2012 Charlie Poole or Copyright 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov or Copyright 2000-2002 Philip A. Craig - -2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. - -3. This notice may not be removed or altered from any source distribution. diff --git a/packages/NUnit.Runners.2.6.2/tools/agent.conf b/packages/NUnit.Runners.2.6.2/tools/agent.conf deleted file mode 100644 index b4cf550..0000000 --- a/packages/NUnit.Runners.2.6.2/tools/agent.conf +++ /dev/null @@ -1,4 +0,0 @@ - - 8080 - . - \ No newline at end of file diff --git a/packages/NUnit.Runners.2.6.2/tools/agent.log.conf b/packages/NUnit.Runners.2.6.2/tools/agent.log.conf deleted file mode 100644 index 6a9ced8..0000000 --- a/packages/NUnit.Runners.2.6.2/tools/agent.log.conf +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/packages/NUnit.Runners.2.6.2/tools/launcher.log.conf b/packages/NUnit.Runners.2.6.2/tools/launcher.log.conf deleted file mode 100644 index 6a9ced8..0000000 --- a/packages/NUnit.Runners.2.6.2/tools/launcher.log.conf +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Circles/Failure.jpg b/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Circles/Failure.jpg deleted file mode 100644 index c245548..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Circles/Failure.jpg and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Circles/Ignored.jpg b/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Circles/Ignored.jpg deleted file mode 100644 index 0549b70..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Circles/Ignored.jpg and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Circles/Inconclusive.jpg b/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Circles/Inconclusive.jpg deleted file mode 100644 index 8d36153..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Circles/Inconclusive.jpg and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Circles/Skipped.jpg b/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Circles/Skipped.jpg deleted file mode 100644 index 3d84255..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Circles/Skipped.jpg and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Circles/Success.jpg b/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Circles/Success.jpg deleted file mode 100644 index 15ec1b7..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Circles/Success.jpg and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Classic/Failure.jpg b/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Classic/Failure.jpg deleted file mode 100644 index 658905f..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Classic/Failure.jpg and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Classic/Ignored.jpg b/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Classic/Ignored.jpg deleted file mode 100644 index 95b7fdb..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Classic/Ignored.jpg and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Classic/Inconclusive.jpg b/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Classic/Inconclusive.jpg deleted file mode 100644 index 32a0ff7..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Classic/Inconclusive.jpg and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Classic/Skipped.jpg b/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Classic/Skipped.jpg deleted file mode 100644 index 3d84255..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Classic/Skipped.jpg and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Classic/Success.jpg b/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Classic/Success.jpg deleted file mode 100644 index 3d8e760..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Classic/Success.jpg and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Default/Failure.png b/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Default/Failure.png deleted file mode 100644 index 2e400b2..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Default/Failure.png and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Default/Ignored.png b/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Default/Ignored.png deleted file mode 100644 index 05715cb..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Default/Ignored.png and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Default/Inconclusive.png b/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Default/Inconclusive.png deleted file mode 100644 index 4807b7c..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Default/Inconclusive.png and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Default/Skipped.png b/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Default/Skipped.png deleted file mode 100644 index 7c9fc64..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Default/Skipped.png and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Default/Success.png b/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Default/Success.png deleted file mode 100644 index 2a30150..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Default/Success.png and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Visual Studio/Failure.png b/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Visual Studio/Failure.png deleted file mode 100644 index ba03e84..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Visual Studio/Failure.png and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Visual Studio/Ignored.png b/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Visual Studio/Ignored.png deleted file mode 100644 index 9271d6e..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Visual Studio/Ignored.png and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Visual Studio/Inconclusive.png b/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Visual Studio/Inconclusive.png deleted file mode 100644 index 76219b5..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Visual Studio/Inconclusive.png and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Visual Studio/SeriousWarning.png b/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Visual Studio/SeriousWarning.png deleted file mode 100644 index 6a578cc..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Visual Studio/SeriousWarning.png and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Visual Studio/Skipped.png b/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Visual Studio/Skipped.png deleted file mode 100644 index 7c9fc64..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Visual Studio/Skipped.png and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Visual Studio/Success.png b/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Visual Studio/Success.png deleted file mode 100644 index 346fe8f..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/lib/Images/Tree/Visual Studio/Success.png and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/lib/log4net.dll b/packages/NUnit.Runners.2.6.2/tools/lib/log4net.dll deleted file mode 100644 index 20a2e1c..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/lib/log4net.dll and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/lib/nunit-console-runner.dll b/packages/NUnit.Runners.2.6.2/tools/lib/nunit-console-runner.dll deleted file mode 100644 index 85f3dfa..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/lib/nunit-console-runner.dll and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/lib/nunit-gui-runner.dll b/packages/NUnit.Runners.2.6.2/tools/lib/nunit-gui-runner.dll deleted file mode 100644 index 2a22088..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/lib/nunit-gui-runner.dll and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/lib/nunit.core.dll b/packages/NUnit.Runners.2.6.2/tools/lib/nunit.core.dll deleted file mode 100644 index 8e6d956..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/lib/nunit.core.dll and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/lib/nunit.core.interfaces.dll b/packages/NUnit.Runners.2.6.2/tools/lib/nunit.core.interfaces.dll deleted file mode 100644 index a966ad5..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/lib/nunit.core.interfaces.dll and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/lib/nunit.uiexception.dll b/packages/NUnit.Runners.2.6.2/tools/lib/nunit.uiexception.dll deleted file mode 100644 index 39b60bf..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/lib/nunit.uiexception.dll and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/lib/nunit.uikit.dll b/packages/NUnit.Runners.2.6.2/tools/lib/nunit.uikit.dll deleted file mode 100644 index 315542a..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/lib/nunit.uikit.dll and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/lib/nunit.util.dll b/packages/NUnit.Runners.2.6.2/tools/lib/nunit.util.dll deleted file mode 100644 index 88aee95..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/lib/nunit.util.dll and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/nunit-agent-x86.exe b/packages/NUnit.Runners.2.6.2/tools/nunit-agent-x86.exe deleted file mode 100644 index 5547d07..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/nunit-agent-x86.exe and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/nunit-agent-x86.exe.config b/packages/NUnit.Runners.2.6.2/tools/nunit-agent-x86.exe.config deleted file mode 100644 index de2caf6..0000000 --- a/packages/NUnit.Runners.2.6.2/tools/nunit-agent-x86.exe.config +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/packages/NUnit.Runners.2.6.2/tools/nunit-agent.exe b/packages/NUnit.Runners.2.6.2/tools/nunit-agent.exe deleted file mode 100644 index 637b256..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/nunit-agent.exe and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/nunit-agent.exe.config b/packages/NUnit.Runners.2.6.2/tools/nunit-agent.exe.config deleted file mode 100644 index de2caf6..0000000 --- a/packages/NUnit.Runners.2.6.2/tools/nunit-agent.exe.config +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/packages/NUnit.Runners.2.6.2/tools/nunit-console-x86.exe b/packages/NUnit.Runners.2.6.2/tools/nunit-console-x86.exe deleted file mode 100644 index 672a80e..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/nunit-console-x86.exe and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/nunit-console-x86.exe.config b/packages/NUnit.Runners.2.6.2/tools/nunit-console-x86.exe.config deleted file mode 100644 index 81e5346..0000000 --- a/packages/NUnit.Runners.2.6.2/tools/nunit-console-x86.exe.config +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/packages/NUnit.Runners.2.6.2/tools/nunit-console.exe b/packages/NUnit.Runners.2.6.2/tools/nunit-console.exe deleted file mode 100644 index 28734cb..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/nunit-console.exe and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/nunit-console.exe.config b/packages/NUnit.Runners.2.6.2/tools/nunit-console.exe.config deleted file mode 100644 index 81e5346..0000000 --- a/packages/NUnit.Runners.2.6.2/tools/nunit-console.exe.config +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/packages/NUnit.Runners.2.6.2/tools/nunit-editor.exe b/packages/NUnit.Runners.2.6.2/tools/nunit-editor.exe deleted file mode 100644 index 342174c..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/nunit-editor.exe and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/nunit-x86.exe b/packages/NUnit.Runners.2.6.2/tools/nunit-x86.exe deleted file mode 100644 index 9c8147f..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/nunit-x86.exe and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/nunit-x86.exe.config b/packages/NUnit.Runners.2.6.2/tools/nunit-x86.exe.config deleted file mode 100644 index 9301f94..0000000 --- a/packages/NUnit.Runners.2.6.2/tools/nunit-x86.exe.config +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/packages/NUnit.Runners.2.6.2/tools/nunit.exe b/packages/NUnit.Runners.2.6.2/tools/nunit.exe deleted file mode 100644 index 6d24caf..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/nunit.exe and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/nunit.exe.config b/packages/NUnit.Runners.2.6.2/tools/nunit.exe.config deleted file mode 100644 index 9301f94..0000000 --- a/packages/NUnit.Runners.2.6.2/tools/nunit.exe.config +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/packages/NUnit.Runners.2.6.2/tools/nunit.framework.dll b/packages/NUnit.Runners.2.6.2/tools/nunit.framework.dll deleted file mode 100644 index 3e24ba1..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/nunit.framework.dll and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/pnunit-agent.exe b/packages/NUnit.Runners.2.6.2/tools/pnunit-agent.exe deleted file mode 100644 index ac7ca49..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/pnunit-agent.exe and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/pnunit-agent.exe.config b/packages/NUnit.Runners.2.6.2/tools/pnunit-agent.exe.config deleted file mode 100644 index c1516ef..0000000 --- a/packages/NUnit.Runners.2.6.2/tools/pnunit-agent.exe.config +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/packages/NUnit.Runners.2.6.2/tools/pnunit-launcher.exe b/packages/NUnit.Runners.2.6.2/tools/pnunit-launcher.exe deleted file mode 100644 index 1aedff3..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/pnunit-launcher.exe and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/pnunit-launcher.exe.config b/packages/NUnit.Runners.2.6.2/tools/pnunit-launcher.exe.config deleted file mode 100644 index c1516ef..0000000 --- a/packages/NUnit.Runners.2.6.2/tools/pnunit-launcher.exe.config +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/packages/NUnit.Runners.2.6.2/tools/pnunit.framework.dll b/packages/NUnit.Runners.2.6.2/tools/pnunit.framework.dll deleted file mode 100644 index ae07067..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/pnunit.framework.dll and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/pnunit.tests.dll b/packages/NUnit.Runners.2.6.2/tools/pnunit.tests.dll deleted file mode 100644 index 1bb788e..0000000 Binary files a/packages/NUnit.Runners.2.6.2/tools/pnunit.tests.dll and /dev/null differ diff --git a/packages/NUnit.Runners.2.6.2/tools/runpnunit.bat b/packages/NUnit.Runners.2.6.2/tools/runpnunit.bat deleted file mode 100644 index 43b3a69..0000000 --- a/packages/NUnit.Runners.2.6.2/tools/runpnunit.bat +++ /dev/null @@ -1,3 +0,0 @@ -start pnunit-agent 8080 . -start pnunit-agent 8081 . -pnunit-launcher test.conf diff --git a/packages/NUnit.Runners.2.6.2/tools/test.conf b/packages/NUnit.Runners.2.6.2/tools/test.conf deleted file mode 100644 index ce825eb..0000000 --- a/packages/NUnit.Runners.2.6.2/tools/test.conf +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - Testing - - - Testing - pnunit.tests.dll - TestLibraries.Testing.EqualTo19 - $agent_host:8080 - - - - - - - Parallel_Tests - - - ParallelTest_A_Test - pnunit.tests.dll - TestLibraries.ParallelExample.ParallelTest_A - $agent_host:8080 - - - 2 - - - - ParallelTest_B_Test - pnunit.tests.dll - TestLibraries.ParallelExample.ParallelTest_B - $agent_host:8080 - - 1 - - - - - - - - - Parallel_Barriers - - - Parallel_Barriers_TestA - pnunit.tests.dll - TestLibraries.ParallelExampleWithBarriers.ParallelTestWithBarriersA - $agent_host:8080 - - - - START_BARRIER - WAIT_BARRIER - - - - Parallel_Barriers_TestB - pnunit.tests.dll - TestLibraries.ParallelExampleWithBarriers.ParallelTestWithBarriersB - $agent_host:8081 - - - - START_BARRIER - WAIT_BARRIER - - - - - - - - \ No newline at end of file diff --git a/packages/NuGet.CommandLine.2.6.1/NuGet.CommandLine.2.6.1.nupkg b/packages/NuGet.CommandLine.2.6.1/NuGet.CommandLine.2.6.1.nupkg deleted file mode 100644 index 4767833..0000000 Binary files a/packages/NuGet.CommandLine.2.6.1/NuGet.CommandLine.2.6.1.nupkg and /dev/null differ diff --git a/packages/NuGet.CommandLine.2.6.1/NuGet.CommandLine.2.6.1.nuspec b/packages/NuGet.CommandLine.2.6.1/NuGet.CommandLine.2.6.1.nuspec deleted file mode 100644 index 3392498..0000000 --- a/packages/NuGet.CommandLine.2.6.1/NuGet.CommandLine.2.6.1.nuspec +++ /dev/null @@ -1,17 +0,0 @@ - - - - NuGet.CommandLine - 2.6.1 - NuGet.CommandLine - Outercurve Foundation - Outercurve Foundation - http://nuget.codeplex.com/license - http://nuget.codeplex.com/ - false - NuGet Command Line Tool - - Copyright 2013 Microsoft. NuGet is made possible by the Outercurve Foundation’s open source project. - - - \ No newline at end of file diff --git a/packages/NuGet.CommandLine.2.6.1/tools/NuGet.exe b/packages/NuGet.CommandLine.2.6.1/tools/NuGet.exe deleted file mode 100644 index c296edf..0000000 Binary files a/packages/NuGet.CommandLine.2.6.1/tools/NuGet.exe and /dev/null differ diff --git a/packages/repositories.config b/packages/repositories.config deleted file mode 100644 index 1fd674d..0000000 --- a/packages/repositories.config +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/params.json b/params.json new file mode 100644 index 0000000..a2ef60a --- /dev/null +++ b/params.json @@ -0,0 +1 @@ +{"body":"### What is ConventionTests?\r\nConvention over Configuration is a great way to cut down repetitive boilerplate code. But how do you validate that your code adheres to your conventions? Convention Tests is a code-only NuGet that provides a simple API to build validation rules for convention validation tests.\r\n\r\n### Using Con­ven­tion­Tests\r\nCon­ven­tion­Tests is a sim­ple code-only Nuget that pro­vides a min­i­mal­is­tic and lim­ited API enforc­ing cer­tain struc­ture when writ­ing con­ven­tion tests and inte­grat­ing with NUnit. Installing it will add two .cs files to the project and a few depen­den­cies ([NUnit](http://www.nunit.org/), [Castle Wind­sor](http://stw.castleproject.org/Windsor.MainPage.ashx) and [ApprovalTests](http://approvaltests.sourceforge.net/)).\r\n\r\nConventionTests.NUnit file is where all the rel­e­vant code is located and __Run file is the file that runs your tests. The approach is to cre­ate a file per con­ven­tion and name them in a descrip­tive man­ner, so that you can learn what the con­ven­tions you have in the project are by just look­ing at the files in your Con­ven­tions folder, with­out hav­ing to open them.\r\n\r\nEach con­ven­tion test inher­its (directly or indi­rectly) from the ICon­ven­tion­Test inter­face. There’s an abstract imple­men­ta­tion of the inter­face, Con­ven­tion­Test­Base and a few spe­cial­ized imple­men­ta­tions for com­mon sce­nar­ios pro­vided out of the box: Type-based one (Con­ven­tion­Test) and two for Wind­sor (Wind­sor­Con­ven­tion­Test, non-generic and generic for diagnostics-based tests).\r\n\r\n#### Type-based con­ven­tion tests\r\nThe most com­mon and most generic group of con­ven­tions are ones based around types and type infor­ma­tion. Con­ven­tions like “every controller’s name ends with ‘Con­troller’”, or “Every method on WCF ser­vice con­tracts must have Oper­a­tionCon­trac­tAt­tribute” are exam­ples of such conventions.\r\n\r\nYou write them by cre­at­ing a class inher­it­ing Con­ven­tion­Test, which forces you to over­ride one method. Here’s a min­i­mal example\r\n\r\n public class Controllers_have_Controller_suffix_in_type_name : ConventionTest\r\n {\r\n protected override ConventionData SetUp()\r\n {\r\n return new ConventionData\r\n {\r\n Types = t => t.IsConcrete(),\r\n Must = t => t.Name.EndsWith(\"Controller\")\r\n };\r\n }\r\n }\r\n\r\n#### Windsor-based con­ven­tion tests\r\nAnother com­mon set of con­ven­tion tests are tests regard­ing an IoC con­tainer. Cas­tle Wind­sor is sup­ported out of the box. The struc­ture of the tests and API is sim­i­lar, with the dif­fer­ence being that instead of types we’re deal­ing with Windsor’s com­po­nent Han­dlers.\r\n\r\n public class List_classes_registered_in_Windsor : WindsorConventionTest\r\n {\r\n protected override WindsorConventionData SetUp()\r\n {\r\n return new WindsorConventionData(new WindsorContainer()\r\n .Install(FromAssembly.Containing()))\r\n {\r\n FailDescription = \"All Windsor components\",\r\n FailItemDescription = h => BuildDetailedHandlerDescription(h)+\" | \"+\r\n h.ComponentModel.GetLifestyleDescription(),\r\n }.WithApprovedExceptions(\"We just list all of them.\");\r\n \r\n }\r\n }\r\n\r\n#### Cus­tom con­ven­tion tests\r\nSay we wanted to cre­ate a con­ven­tion test that lists all of our NHibernate col­lec­tions where we do cas­cade deletes, so that when we add a new col­lec­tion the test would fail remind­ing us of the issue, and force us to pay atten­tion to how we struc­ture rela­tion­ships in the appli­ca­tion. To do this we could cre­ate a base NHiber­nate­Con­ven­tion­Test and NHi­iber­nate­Con­ven­tion­Data to cre­ate sim­i­lar struc­ture, or just build a sim­ple one-class con­ven­tion like that:\r\n\r\n public class List_collection_that_cascade_deletes:ConventionTestBase\r\n {\r\n public override void Execute()\r\n {\r\n // NH Bootstrapper is our custom class to set up NH\r\n var bootstrapper = new NHibernateBootstrapper();\r\n var configuration = bootstrapper.BuildConfiguration();\r\n \r\n var message = new StringBuilder(\"Collections with cascade delete orphan\");\r\n foreach (var @class in configuration.ClassMappings)\r\n {\r\n foreach (var property in @class.PropertyIterator)\r\n {\r\n if(property.CascadeStyle.HasOrphanDelete)\r\n {\r\n message.AppendLine(@class.NodeName + \".\" + property.Name);\r\n }\r\n }\r\n }\r\n Approve(message.ToString());\r\n }\r\n }\r\n\r\n### Where to find out more\r\n[Krzysztof Koźmic](https://github.com/kkozmic) spoke about ConventionTests at NDC 2012. You can find the video of that talk [here](http://vimeo.com/43676874), slides [here](http://kozmic.pl/presentations/) and the introductory blog post [here](http://kozmic.pl/2012/06/14/using-conventiontests/).","name":"ConventionTests","note":"Don't delete this file! It's used internally to help with page regeneration.","tagline":"ConventionTests help you go beyond the compiler with conventions!","google":""} \ No newline at end of file diff --git a/stylesheets/pygment_trac.css b/stylesheets/pygment_trac.css new file mode 100644 index 0000000..e65cedf --- /dev/null +++ b/stylesheets/pygment_trac.css @@ -0,0 +1,70 @@ +.highlight .hll { background-color: #ffffcc } +.highlight { background: #f0f3f3; } +.highlight .c { color: #0099FF; font-style: italic } /* Comment */ +.highlight .err { color: #AA0000; background-color: #FFAAAA } /* Error */ +.highlight .k { color: #006699; font-weight: bold } /* Keyword */ +.highlight .o { color: #555555 } /* Operator */ +.highlight .cm { color: #0099FF; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #009999 } /* Comment.Preproc */ +.highlight .c1 { color: #0099FF; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #0099FF; font-weight: bold; font-style: italic } /* Comment.Special */ +.highlight .gd { background-color: #FFCCCC; border: 1px solid #CC0000 } /* Generic.Deleted */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .gr { color: #FF0000 } /* Generic.Error */ +.highlight .gh { color: #003300; font-weight: bold } /* Generic.Heading */ +.highlight .gi { background-color: #CCFFCC; border: 1px solid #00CC00 } /* Generic.Inserted */ +.highlight .go { color: #AAAAAA } /* Generic.Output */ +.highlight .gp { color: #000099; font-weight: bold } /* Generic.Prompt */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #003300; font-weight: bold } /* Generic.Subheading */ +.highlight .gt { color: #99CC66 } /* Generic.Traceback */ +.highlight .kc { color: #006699; font-weight: bold } /* Keyword.Constant */ +.highlight .kd { color: #006699; font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { color: #006699; font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { color: #006699 } /* Keyword.Pseudo */ +.highlight .kr { color: #006699; font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #007788; font-weight: bold } /* Keyword.Type */ +.highlight .m { color: #FF6600 } /* Literal.Number */ +.highlight .s { color: #CC3300 } /* Literal.String */ +.highlight .na { color: #330099 } /* Name.Attribute */ +.highlight .nb { color: #336666 } /* Name.Builtin */ +.highlight .nc { color: #00AA88; font-weight: bold } /* Name.Class */ +.highlight .no { color: #336600 } /* Name.Constant */ +.highlight .nd { color: #9999FF } /* Name.Decorator */ +.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ +.highlight .ne { color: #CC0000; font-weight: bold } /* Name.Exception */ +.highlight .nf { color: #CC00FF } /* Name.Function */ +.highlight .nl { color: #9999FF } /* Name.Label */ +.highlight .nn { color: #00CCFF; font-weight: bold } /* Name.Namespace */ +.highlight .nt { color: #330099; font-weight: bold } /* Name.Tag */ +.highlight .nv { color: #003333 } /* Name.Variable */ +.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */ +.highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.highlight .mf { color: #FF6600 } /* Literal.Number.Float */ +.highlight .mh { color: #FF6600 } /* Literal.Number.Hex */ +.highlight .mi { color: #FF6600 } /* Literal.Number.Integer */ +.highlight .mo { color: #FF6600 } /* Literal.Number.Oct */ +.highlight .sb { color: #CC3300 } /* Literal.String.Backtick */ +.highlight .sc { color: #CC3300 } /* Literal.String.Char */ +.highlight .sd { color: #CC3300; font-style: italic } /* Literal.String.Doc */ +.highlight .s2 { color: #CC3300 } /* Literal.String.Double */ +.highlight .se { color: #CC3300; font-weight: bold } /* Literal.String.Escape */ +.highlight .sh { color: #CC3300 } /* Literal.String.Heredoc */ +.highlight .si { color: #AA0000 } /* Literal.String.Interpol */ +.highlight .sx { color: #CC3300 } /* Literal.String.Other */ +.highlight .sr { color: #33AAAA } /* Literal.String.Regex */ +.highlight .s1 { color: #CC3300 } /* Literal.String.Single */ +.highlight .ss { color: #FFCC33 } /* Literal.String.Symbol */ +.highlight .bp { color: #336666 } /* Name.Builtin.Pseudo */ +.highlight .vc { color: #003333 } /* Name.Variable.Class */ +.highlight .vg { color: #003333 } /* Name.Variable.Global */ +.highlight .vi { color: #003333 } /* Name.Variable.Instance */ +.highlight .il { color: #FF6600 } /* Literal.Number.Integer.Long */ + +.type-csharp .highlight .k { color: #0000FF } +.type-csharp .highlight .kt { color: #0000FF } +.type-csharp .highlight .nf { color: #000000; font-weight: normal } +.type-csharp .highlight .nc { color: #2B91AF } +.type-csharp .highlight .nn { color: #000000 } +.type-csharp .highlight .s { color: #A31515 } +.type-csharp .highlight .sc { color: #A31515 } diff --git a/stylesheets/stylesheet.css b/stylesheets/stylesheet.css new file mode 100644 index 0000000..4189751 --- /dev/null +++ b/stylesheets/stylesheet.css @@ -0,0 +1,431 @@ +/******************************************************************************* +Slate Theme for Github Pages +by Jason Costello, @jsncostello +*******************************************************************************/ + +@import url(pygment_trac.css); + +/******************************************************************************* +MeyerWeb Reset +*******************************************************************************/ + +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td, +article, aside, canvas, details, embed, +figure, figcaption, footer, header, hgroup, +menu, nav, output, ruby, section, summary, +time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + font: inherit; + vertical-align: baseline; +} + +/* HTML5 display-role reset for older browsers */ +article, aside, details, figcaption, figure, +footer, header, hgroup, menu, nav, section { + display: block; +} + +ol, ul { + list-style: none; +} + +blockquote, q { +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +a:focus { + outline: none; +} + +/******************************************************************************* +Theme Styles +*******************************************************************************/ + +body { + box-sizing: border-box; + color:#373737; + background: #212121; + font-size: 16px; + font-family: 'Myriad Pro', Calibri, Helvetica, Arial, sans-serif; + line-height: 1.5; + -webkit-font-smoothing: antialiased; +} + +h1, h2, h3, h4, h5, h6 { + margin: 10px 0; + font-weight: 700; + color:#222222; + font-family: 'Lucida Grande', 'Calibri', Helvetica, Arial, sans-serif; + letter-spacing: -1px; +} + +h1 { + font-size: 36px; + font-weight: 700; +} + +h2 { + padding-bottom: 10px; + font-size: 32px; + background: url('../images/bg_hr.png') repeat-x bottom; +} + +h3 { + font-size: 24px; +} + +h4 { + font-size: 21px; +} + +h5 { + font-size: 18px; +} + +h6 { + font-size: 16px; +} + +p { + margin: 10px 0 15px 0; +} + +footer p { + color: #f2f2f2; +} + +a { + text-decoration: none; + color: #007edf; + text-shadow: none; + + transition: color 0.5s ease; + transition: text-shadow 0.5s ease; + -webkit-transition: color 0.5s ease; + -webkit-transition: text-shadow 0.5s ease; + -moz-transition: color 0.5s ease; + -moz-transition: text-shadow 0.5s ease; + -o-transition: color 0.5s ease; + -o-transition: text-shadow 0.5s ease; + -ms-transition: color 0.5s ease; + -ms-transition: text-shadow 0.5s ease; +} + +#main_content a:hover { + color: #0069ba; + text-shadow: #0090ff 0px 0px 2px; +} + +footer a:hover { + color: #43adff; + text-shadow: #0090ff 0px 0px 2px; +} + +em { + font-style: italic; +} + +strong { + font-weight: bold; +} + +img { + position: relative; + margin: 0 auto; + max-width: 739px; + padding: 5px; + margin: 10px 0 10px 0; + border: 1px solid #ebebeb; + + box-shadow: 0 0 5px #ebebeb; + -webkit-box-shadow: 0 0 5px #ebebeb; + -moz-box-shadow: 0 0 5px #ebebeb; + -o-box-shadow: 0 0 5px #ebebeb; + -ms-box-shadow: 0 0 5px #ebebeb; +} + +pre, code { + width: 100%; + color: #222; + background-color: #fff; + + font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; + font-size: 14px; + + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + + + +} + +pre { + width: 100%; + padding: 10px; + box-shadow: 0 0 10px rgba(0,0,0,.1); + overflow: auto; +} + +code { + padding: 3px; + margin: 0 3px; + box-shadow: 0 0 10px rgba(0,0,0,.1); +} + +pre code { + display: block; + box-shadow: none; +} + +blockquote { + color: #666; + margin-bottom: 20px; + padding: 0 0 0 20px; + border-left: 3px solid #bbb; +} + +ul, ol, dl { + margin-bottom: 15px +} + +ul li { + list-style: inside; + padding-left: 20px; +} + +ol li { + list-style: decimal inside; + padding-left: 20px; +} + +dl dt { + font-weight: bold; +} + +dl dd { + padding-left: 20px; + font-style: italic; +} + +dl p { + padding-left: 20px; + font-style: italic; +} + +hr { + height: 1px; + margin-bottom: 5px; + border: none; + background: url('../images/bg_hr.png') repeat-x center; +} + +table { + border: 1px solid #373737; + margin-bottom: 20px; + text-align: left; + } + +th { + font-family: 'Lucida Grande', 'Helvetica Neue', Helvetica, Arial, sans-serif; + padding: 10px; + background: #373737; + color: #fff; + } + +td { + padding: 10px; + border: 1px solid #373737; + } + +form { + background: #f2f2f2; + padding: 20px; +} + +img { + width: 100%; + max-width: 100%; +} + +/******************************************************************************* +Full-Width Styles +*******************************************************************************/ + +.outer { + width: 100%; +} + +.inner { + position: relative; + max-width: 640px; + padding: 20px 10px; + margin: 0 auto; +} + +#forkme_banner { + display: block; + position: absolute; + top:0; + right: 10px; + z-index: 10; + padding: 10px 50px 10px 10px; + color: #fff; + background: url('../images/blacktocat.png') #0090ff no-repeat 95% 50%; + font-weight: 700; + box-shadow: 0 0 10px rgba(0,0,0,.5); + border-bottom-left-radius: 2px; + border-bottom-right-radius: 2px; +} + +#header_wrap { + background: #212121; + background: -moz-linear-gradient(top, #373737, #212121); + background: -webkit-linear-gradient(top, #373737, #212121); + background: -ms-linear-gradient(top, #373737, #212121); + background: -o-linear-gradient(top, #373737, #212121); + background: linear-gradient(top, #373737, #212121); +} + +#header_wrap .inner { + padding: 50px 10px 30px 10px; +} + +#project_title { + margin: 0; + color: #fff; + font-size: 42px; + font-weight: 700; + text-shadow: #111 0px 0px 10px; +} + +#project_tagline { + color: #fff; + font-size: 24px; + font-weight: 300; + background: none; + text-shadow: #111 0px 0px 10px; +} + +#downloads { + position: absolute; + width: 210px; + z-index: 10; + bottom: -40px; + right: 0; + height: 70px; + background: url('../images/icon_download.png') no-repeat 0% 90%; +} + +.zip_download_link { + display: block; + float: right; + width: 90px; + height:70px; + text-indent: -5000px; + overflow: hidden; + background: url(../images/sprite_download.png) no-repeat bottom left; +} + +.tar_download_link { + display: block; + float: right; + width: 90px; + height:70px; + text-indent: -5000px; + overflow: hidden; + background: url(../images/sprite_download.png) no-repeat bottom right; + margin-left: 10px; +} + +.zip_download_link:hover { + background: url(../images/sprite_download.png) no-repeat top left; +} + +.tar_download_link:hover { + background: url(../images/sprite_download.png) no-repeat top right; +} + +#main_content_wrap { + background: #f2f2f2; + border-top: 1px solid #111; + border-bottom: 1px solid #111; +} + +#main_content { + padding-top: 40px; +} + +#footer_wrap { + background: #212121; +} + + + +/******************************************************************************* +Small Device Styles +*******************************************************************************/ + +@media screen and (max-width: 480px) { + body { + font-size:14px; + } + + #downloads { + display: none; + } + + .inner { + min-width: 320px; + max-width: 480px; + } + + #project_title { + font-size: 32px; + } + + h1 { + font-size: 28px; + } + + h2 { + font-size: 24px; + } + + h3 { + font-size: 21px; + } + + h4 { + font-size: 18px; + } + + h5 { + font-size: 14px; + } + + h6 { + font-size: 12px; + } + + code, pre { + min-width: 320px; + max-width: 480px; + font-size: 11px; + } + +}