я следующий метод:Создать T с двумя различными конструкторами
public void Add<T>() where T : ISetup, new() {
new T().Run();
} // Add
Это может быть использована следующим образом:
Add<SettingsSetup>()
Где SettingsSetup находится:
public class SettingsSetup : ISetup {
private Func<String, String> _resolver;
public SettingsSetup(Func<String, String> resolver) {
_resolver = resolver;
}
public void Run() { }
}
Я хотел бы для использования Добавить следующим образом:
Add<SettingsSetup>()
Или передать параметр для использования на SettingsSetup:
Add<SettingsSetup>(Func<String, String>)
Возможно ли это?
Что заставляет вас думать, что это не так? Вы пытались просто написать другой метод перегрузки? –
Да, я не смог выполнить новый T (Func resolver) в методе добавления –
Помните, что ISetup - это интерфейс ... Я мог бы сделать его базовым классом. В основном SettingsSetup или любая другая настройка должна позволять использоваться с помощью Func или ничего ... –