0

異なるタイプの 2 つのリストを比較する方法はあるのだろうか。私はこの方法を見つけました:

        public AndConstraint<TAssertions> Equal(IEnumerable<T> expectation, Func<T, T, bool> predicate, string because = "", params object[] reasonArgs)
        {
          this.AssertSubjectEquality<T>((IEnumerable) expectation, predicate, because, reasonArgs);
          return new AndConstraint<TAssertions>((TAssertions) this);
        }

私は次のようなものを探しています:

    public AndConstraint<TAssertions> Equal<U>(IEnumerable<T> expectation, Func<T, U, bool> predicate, string because = "", params object[] reasonArgs)
    {
      this.AssertSubjectEquality<T,U>((IEnumerable) expectation, predicate, because, reasonArgs);
      return new AndConstraint<TAssertions>((TAssertions) this);
    }

拡張メソッドを作成しようとしましたが、メソッドAssertSubjectEqualityは保護されており、2 番目のタイプをサポートしていません。

4

1 に答える 1

1

AssertSubjectEqualityクラスのメソッドとAssertCollectionsHaveSameCountメソッドをCollectionAssertions一緒にコピーしないと、それを行うことはできません。

<T>代わりに、レポジトリをフォークして、これら 2 つのメソッドの汎用パラメーターを から に変更し、メソッドを<T, U>に追加するプル リクエストを私に送信することをお勧めしますGenericCollectionAssertions。v3.3 の一部にします。

于 2014-09-19T06:40:41.200 に答える