using System;
using System.ComponentModel.Composition;
namespace Demo
{
public sealed class UserWriter
{
[Import(typeof(IUserProvider))]
private IUserProvider userProvider;
public void PrintAllUsers()
{
foreach (User user in this.userProvider.GetAllUsers())
{
Console.WriteLine(user);
}
}
}
}这是一种依赖于的类型,IUserProvider可以在任何地方定义。像前面的示例一样,重要的是应用程序知道要在哪里寻找匹配的导出(通过它创建的ComposablePartCatalogs)。