Нет, вы не можете - единственным доступным общим ограничением, связанным с конструктором, является new()
, для которого требуется конструктор без параметров.
Один из вариантов - вместо этого требовать фабричный делегат:
public T Create<T>(Func<EntityConnection, T> factory)
{
return factory(CreateEntityConnection());
}
Тогда вы можете использовать:
Create(connection => new Whatever(connection))
или что-либо еще, что создаст соответствующий объект .Он более гибкий, безопасный и работает лучше.(Последнее, вероятно, не имеет значения, по общему признанию ...)