Вы можете импортировать функции как делегат Func <> или Action <>, в зависимости от сигнатуры функции.Для первой функции вы можете импортировать ее в IEnumerable<Lazy<Action>>
.Вторым будет IEnumerable<Lazy<Func<string, string>>>
.
Возможно, вы захотите включить название контракта, чтобы различать разные функции с одной и той же подписью.Пример экспорта:
[Export("FunctionType")]
public string Function(string value)
{
return value;
}
и соответствующий импорт:
[ImportMany("FunctionType")]
public IEnumerable<Lazy<Func<string, string>>> ImportedFunctions { get; set; }