Im avendo qualche problema a far funzionare questo vincolo generico.Definizione del vincolo del tipo di interfaccia generico per i tipi di valore e di riferimento
Ho due interfacce di seguito.
Desidero essere in grado di vincolare il tipo TResult ICommandHandlers per utilizzare solo i tipi che implementano ICommandResult, ma ICommandResult ha i propri vincoli che devono essere forniti. ICommandResult potrebbe potenzialmente restituire un valore o un tipo di riferimento dalla sua proprietà Result. Mi manca qualcosa di ovvio? Grazie.
public interface ICommandResult<out TResult>
{
TResult Result { get; }
}
public interface ICommandHandler<in TCommand, TResult> where TCommand : ICommand
where TResult : ICommandResult<????>
{
TResult Execute(TCommand command);
}
Non vedo cosa questo abbia a che fare con tipi di riferimento e tipi di valore –
La proprietà Result di ICommandResult può essere un valore o un tipo di riferimento .. – Matt
Così può qualsiasi altro tipo generico se non vincolato con "dove T: class/struct" ? –