これによりコンパイル時エラーが発生するのはなぜですかCannot convert 'ListCompetitions' to 'TOperation'
。
public class ListCompetitions : IOperation
{
}
public TOperation GetOperation<TOperation>() where TOperation : IOperation
{
return (TOperation)new ListCompetitions();
}
しかし、これは完全に合法です:
public TOperation GetOperation<TOperation>() where TOperation : IOperation
{
return (TOperation)(IOperation)new ListCompetitions();
}