Managed Extensibility Framework
suggest changeVersions
[{“Name”:“4.0”,“GroupName”:”.NET”},{“Name”:“4.5”,“GroupName”:”.NET”},{“Name”:“4.5.1”,“GroupName”:”.NET”},{“Name”:“4.5.2”,“GroupName”:”.NET”},{“Name”:“4.6”,“GroupName”:”.NET”},{“Name”:“4.6.1”,“GroupName”:”.NET”},{“Name”:“4.6.2”,“GroupName”:”.NET”}]
Remarks
One of MEF’s big advantages over other technologies that support the inversion-of-control pattern is that it supports resolving dependencies that are not known at design-time, without needing much (if any) configuration.
All examples require a reference to the System.ComponentModel.Composition assembly.
Also, all the (Basic) examples use these as their sample business objects:
using System.Collections.ObjectModel; namespace Demo { public sealed class User { public User(int id, string name) { this.Id = id; this.Name = name; } public int Id { get; } public string Name { get; } public override string ToString() => $"User[Id: {this.Id}, Name={this.Name}]"; } public interface IUserProvider { ReadOnlyCollection<User> GetAllUsers(); } }
Found a mistake? Have a question or improvement idea?
Let me know.
Table Of Contents