.NET FrameworkManaged Extensibility Framework

Osservazioni

Uno dei grandi vantaggi del MEF rispetto ad altre tecnologie che supportano il pattern di inversione di controllo è che supporta la risoluzione di dipendenze non note in fase di progettazione, senza la necessità di una configurazione (se non nulla).

Tutti gli esempi richiedono un riferimento all'assembly System.ComponentModel.Composition.

Inoltre, tutti gli esempi (di base) li utilizzano come oggetti di business di esempio:

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();
    }
}

Managed Extensibility Framework Esempi correlati