MEFはGenericsをサポートしない?

案外Genericsって使われていない?でも書いたけどDIでGenericsをサポートする要望は多いはずなのに。残念。回避方法はあるのかな。

元ねたは以下です。MEFはタイプベースじゃないんですね

Why doesn’t MEF support open-generics for exports? Because MEF is not type based.

最新版Preview6で以下のテストコードを試しましたがやはり通りません。

public interface IMessageSender<T>
{
    void Send(T message);
}

[Export(typeof(IMessageSender<>))]
public class EmailSender<T> : IMessageSender<T>
{
    public void Send(T message)
    {
        Console.WriteLine(message.ToString());
    }
}

[TestMethod]
public void TestMethod1()
{
    AssemblyCatalog catalog = new AssemblyCatalog(Assembly.GetExecutingAssembly());
    var container = new CompositionContainer(catalog);
    var val = container.GetExportedValue<IMessageSender<string>>();
    Assert.IsTrue(val.GetType().Name.StartsWith("EmailSender")); 
}

追記

何とかできなくはなさそうです

Open-generic support in MEF Contrib