0

私はほくろの初心者なので、簡単な質問を許してくださいが、ドキュメントによると、これはうまくいくはずだと思います:

        MDataServiceCollection<string> dataServiceCollectionMock = new
            MDataServiceCollection<string>();

        new MCollection<string>(dataServiceCollectionMock)
        {
            SystemCollectionsIEnumerableGetEnumerator = () =>
            {
                return new List<string>(new string[] { "a", "b", "c" }).GetEnumerator();
            }
        };

        string result = string.Empty;
        foreach (string s in dataServiceCollectionMock.Instance)
        {
            result += s;
        }

GetEnumerator を独自の実装に置き換えて、DataServiceCollection のインスタンスを使用するときに反復処理する値を挿入できるようにします。s が「abc」を返すことを期待しています。ただし、次の例外がスローされます。

Microsoft.Moles.Framework.Moles.MoleNotImplementedException: Collection`1.GetEnumerator() はモール化されませんでした。

どんな助けでも大歓迎です。

よろしく、クリス。

4

1 に答える 1

0

解決策を見つけました-モルに間違ったメソッドを呼び出します。

それよりも:

SystemCollectionsIEnumerableGetEnumerator = () =>
        {
            return new List<string>(new string[] { "a", "b", "c" }).GetEnumerator();
        }

する必要があります:

GetEnumerator = () =>
        {
            return new List<string>(new string[] { "a", "b", "c" }).GetEnumerator();
        }
于 2012-04-25T08:06:03.433 に答える