que tiene la siguiente función en C#:azúcar Sintaxis para la función de doble genérica
bool Handle<TCommandHandler, TModel>(TModel model) where TCommandHandler : ICommandHandler<TModel> {
// ...
_container.Resolve<TCommandHandler>();
// ...
}
Desde TModel
se desprende de un parámetro de función Quiero un poco de manera de no especificar su tipo cuando se llama a una función. Lo ideal es que quiero llamar así:
Handle<MyCommandHandler>(model);
Dado que este es probablemente imposible, me ocurrió lo siguiente:
HandleTemp<TModel> Handle<TModel>(TModel model) {
return new HandleTemp<TModel>(model);
}
public class HandleTemp<TModel> {
private TModel _model;
public HandleTemp(TModel model) { _model = model;}
public bool With<TCommandHandler>() where TCommandHandler : ICommandHandler<TModel> {
}
}
Así que ahora estoy llamándolo como:
Handle(model).With<MyCommandHandler>();
¿Hay otras posibilidades? ¿Hice algo completamente incorrecto con mi solución?
Si el método fuera estática, entonces esto se podría haber hecho mejor en un '' clase estática. –
nawfal