Only two APIs are provided: the IAdapterService and its facade extension method As in the Adapters type.
You can chose to use the former service directly instead of the convenience extension method. You don't
lose any testability in doing either way, although you do need to pass around the adapter service in one
======= Example =======
// Calling code assumes there is a service always setup before invoking.
// If there isn't, an InvalidOperationException is thrown automatically.
// 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.
Install-Package Adapter.Interfaces.Source -Version 1.1.1301.1418
dotnet add package Adapter.Interfaces.Source --version 1.1.1301.1418
<PackageReference Include="Adapter.Interfaces.Source" Version="1.1.1301.1418" />
paket add Adapter.Interfaces.Source --version 1.1.1301.1418
* Additional support for source packages, like Adapter.Interfaces.Source,
which also use token replacement and adopt the containing project
* Initial version, with support for flexible matching of from and to types
* Support for MEF in separate Adapter.Composition package
* Proper split of: Adapter.Interfaces, Adapter.Sdk and Adapter (implementation).
This package is not used by any popular GitHub repositories.