public interface IAccountContract { string Login(string account, string password); } [Export(typeof(IAccountContract))] public class AccountRealize : IAccountContract { public string Message; public AccountRealize(string message) { Message = message; } public string Login(string account, string password) { return string.Format("账户{0}通过密码{1}登陆成功!附加信息:{2}。", account, password, Message); } } [Export] public class MEFController : Controller { [Import] public IAccountContract AccountRealize { get; set; } // // GET: /MEF/ public ActionResult Index() { string result = AccountRealize.Login("AAA", "123123"); return Content(result); } }
如上述代码所示,我在MEFController调用类中,如何通过MEF调用到AccountRealize(string message)这个构造函数的实现,并传递参数?
ImportingConstructor
这个没用的。
http://stackoverflow.com/questions/2008133/mef-constructor-injection
使用带有[import]的参数