Bu genel kısıtlamayı işe almakta zorluk çekiyorum.Değer ve başvuru türleri için genel arabirim türü kısıtlaması tanımlama
Aşağıda iki arabirim var.
ICommandHandlers TResult türünü yalnızca ICommandResult kullanan türleri kullanmak için kısıtlayabilmek istiyorum ancak ICommandResult'un sağlanması gereken kendi kısıtlamaları vardır. ICommandResult, Sonuç özelliğinden potansiyel olarak bir değer veya referans türü verebilir. Belli bir şey eksik miyim? Teşekkürler.
public interface ICommandResult<out TResult>
{
TResult Result { get; }
}
public interface ICommandHandler<in TCommand, TResult> where TCommand : ICommand
where TResult : ICommandResult<????>
{
TResult Execute(TCommand command);
}
Bunun ne tür referans türleri ve –
değer türleri ile ilgisi olduğunu görmüyorum ICommandResult Sonuç niteliği bir değer veya referans türü olabilir .. – Matt
"T: class/struct" ile sınırlandırılmadıkça başka bir jenerik tür olabilir. ? –