이 일반 제약 조건이 작동하는 데 약간의 문제가 있습니다.값 및 참조 유형에 대한 일반 인터페이스 유형 제약 조건 정의
아래에는 두 개의 인터페이스가 있습니다.
ICommandHandlers TResult 형식을 ICommandResult를 구현하는 형식 만 사용하도록 제한 할 수는 있지만 ICommandResult에는 제공해야 할 자체 제약 조건이 있습니다. ICommandResult는 잠재적으로 Result 속성에서 값 또는 참조 형식을 반환 할 수 있습니다. 나는 명백한 것을 놓치고 있는가? 감사.
public interface ICommandResult<out TResult>
{
TResult Result { get; }
}
public interface ICommandHandler<in TCommand, TResult> where TCommand : ICommand
where TResult : ICommandResult<????>
{
TResult Execute(TCommand command);
}
참조 유형 및 값 유형과 관련이 무엇인지 알 수 없음 –
ICommandResult Result 등록 정보는 값 또는 참조 유형이 될 수 있습니다. – Matt
"T : class/struct"로 제한되지 않는 한 다른 일반 유형도 가능합니다 ? –