Подскажите, может ли хост при загрузке плагина передать в него какую-то информацию или при создании используется только конструктор по умолчанию?
Если нельзя, то какие есть альтернативы?
Можно пометить нужный конструктор атрибутом ImportingConstructor. Только контейнер должен содержать и аргумент и сам плагин.
Например:
[Export(typeof(ILogger))]
class Logger : ILogger {}
[Export(typeof(IPlugin))]
class Plugin : IPlugin
{
[ImportingConstructor]
public Plugin(ILogger logger)
{
}
}
Каталог:
var catalog = new TypeCatalog(typeof(Plugin), typeof(Logger));
Продвижение своими сайтами как стратегия роста и независимости