0

ジェネリック インターフェイスの特定の実装を検証するために CodeContracts を使用したいと思います。私は基本的な汎用インターフェースを持っていました

 public interface IEnityMap<in TSource,out TDest>
 {
  TDest Map(TSource);
 }

いくつかの特定のインターフェイスの CodeContracts を決定したいと考えています。私はこのようなことをしようとしています:

[ContractClass(typeof(ContractClass))]
public interface ISpecific: IEntityMap<SourceClass,DestClass>{}

[ContractClassFor(typeof(ISpecific))]
public abstract class ContractClass: ISpecific
{
public DestClass Map(SourceClass source)
{
  Contract.Requires(source.SomeProperty!= null);
  //Other checks
  return default(DestClass);
}
}

私の Mapping クラスはジェネリック インターフェイス - IEntityMap<,> (ISpecific ではない) を実装していますが、このコントラクトは機能しません。

4

1 に答える 1