I want to export a generic class to a generic interface via MEF. My objects are:
public interface IService<T> { }
[Export(typeof(IService<T>))] // error!!!!!!
public class Service<T> { }
public class Client<T> {
[Import]
private IService<T> _service;
}
But when I try to export IService<T>
, I get this error:
Attribute argument cannot use type parameters
Can anybody guide me to do this please?
Try
[Export(typeof(IService<>))]
To get a generic type definition from the typeof
operator, you omit type arguments. For types with more than one type parameter, use commas to indicate the "arity" of the type. For example:
typeof(List<>) // not: typeof(List<T>)
typeof(IDictionary<,>) // not: typeof(IDictionary<K, V>)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With