Info
Version: | 1.1.1301.1418 |
Author(s): | Daniel Cazzulino |
Last Update: | Monday, January 14, 2013 |
.NET Fiddle: | Create the first Fiddle |
Project Url: | https://github.org/clariuslabs/adapter |
NuGet Url: | https://www.nuget.org/packages/Adapter.Composition |
Install
Install-Package Adapter.Composition
dotnet add package Adapter.Composition
paket add Adapter.Composition
Adapter.Composition Download (Unzip the "nupkg" after downloading)
Dependencies
Tags
Initialize your composition container so that it contains both the exported adapters and the adapter service, and it
will be initialized automatically for use.
======= Example =======
// Initialize container with your assemblies/types/catalogs
CompositionContainer container = new CompositionContainer(catalog);
// Retrieve initialized adapter service
IAdapterService service = container.GetExportedValue<IAdapterService>();
// Initialize the adapter facade with the service
Adapters.SetService(service);
// Use adapter extension method As as needed, i.e.
// say we need to use it as an MSBuild project, if possible
IMSBuildProject msbuild = project.As<IMSBuildProject>();
if (msbuild != null)
// do MSBuild stuff with it.
======= Adapters =======
[Export(typeof(IAdapter))]
public class ProjectToMsBuildAdapter : IAdapter<IProject, IMSBuildProject>
{
// Implement actual conversion.
}
Simply by exporting the right contract, the adapter service will locate it.
Note that to create adapter implementations, you need to install the Adapter.Sdk package.