System.Composition.TypedParts 10.0.0-rc.2.25502.107
About
System.Composition.TypedParts
is part of the Managed Extensibility Framework (MEF) 2.0, a composition library for .NET that enables dependency injection through attributes or conventions.
Provides ContainerConfiguration
and some extension methods for the Managed Extensibility Framework (MEF).
Key Features
- Provides container configuration.
How to Use
Register parts from an entire assembly.
using System.Composition;
using System.Composition.Hosting;
using System.Reflection;
// Register all parts from the current assembly
var configuration = new ContainerConfiguration()
.WithAssembly(Assembly.GetExecutingAssembly());
using CompositionHost container = configuration.CreateContainer();
var handlers = container.GetExports<IHandler>();
foreach (var handler in handlers)
{
handler.Handle();
}
// HandlerA is handling.
// HandlerB is handling.
public interface IHandler
{
void Handle();
}
[Export(typeof(IHandler))]
public class HandlerA : IHandler
{
public void Handle() => Console.WriteLine("HandlerA is handling.");
}
[Export(typeof(IHandler))]
public class HandlerB : IHandler
{
public void Handle() => Console.WriteLine("HandlerB is handling.");
}
Main Types
The main types provided by this library are:
System.Composition.Hosting.ContainerConfiguration
System.Composition.CompositionContextExtensions
Additional Documentation
Related Packages
- System.Composition
- System.Composition.AttributedModel
- System.Composition.Convention
- System.Composition.Hosting
- System.Composition.Runtime
Feedback & Contributing
System.Composition.TypedParts is released as open source under the MIT license. Bug reports and contributions are welcome at the GitHub repository.
No packages depend on System.Composition.TypedParts.
.NET Framework 4.6.2
- System.Composition.AttributedModel (>= 10.0.0-rc.2.25502.107)
- System.Composition.Hosting (>= 10.0.0-rc.2.25502.107)
- System.Composition.Runtime (>= 10.0.0-rc.2.25502.107)
.NET 8.0
- System.Composition.AttributedModel (>= 10.0.0-rc.2.25502.107)
- System.Composition.Hosting (>= 10.0.0-rc.2.25502.107)
- System.Composition.Runtime (>= 10.0.0-rc.2.25502.107)
.NET 9.0
- System.Composition.AttributedModel (>= 10.0.0-rc.2.25502.107)
- System.Composition.Hosting (>= 10.0.0-rc.2.25502.107)
- System.Composition.Runtime (>= 10.0.0-rc.2.25502.107)
.NET 10.0
- System.Composition.AttributedModel (>= 10.0.0-rc.2.25502.107)
- System.Composition.Hosting (>= 10.0.0-rc.2.25502.107)
- System.Composition.Runtime (>= 10.0.0-rc.2.25502.107)
.NET Standard 2.0
- System.Composition.AttributedModel (>= 10.0.0-rc.2.25502.107)
- System.Composition.Hosting (>= 10.0.0-rc.2.25502.107)
- System.Composition.Runtime (>= 10.0.0-rc.2.25502.107)