0

誰でもこの問題を解決するのを手伝ってもらえますか?

私は基本クラスを持っています:

public class BaseShowFilter {
    public int    TotalCount { get; set; }  
    public int    FromNo { get; set; }
    public int    ShowCount { get; set; }
    public string SortFieldName { get; set; }
    public bool   SortAsc { get; set; }
}

そして、この基本クラスのいくつかの ChildClasses です。次に、格納する他のクラスがいくつかあります(たとえば)

IEnumerable<OtherClassXXX> = ....

そして、BaseShowFilter に実装されている同じメソッドを使用して、それらすべてにフィルターを適用したいと考えています。

たとえば、私は必要です

dstList = srcList.Skip(this.FromNo-1).Take(this.ShowCount);

したがって、パラメーター IEnumerable で受け入れられ、IEnumerable も返す 1 つの関数を BaseShowFilter に実装する必要があります。

どうすれば書けるでしょうか?純粋な C++ では、1,2,3 のように単純になりますが、ここではどうすればよいかわかりません。結果は次のようになります。

public class BaseShowFilter {
    public int    TotalCount { get; set; }  
    public int    FromNo { get; set; }
    public int    ShowCount { get; set; }
    public string SortFieldName { get; set; }
    public bool   SortAsc { get; set; }

    public T FilterList<T>(T SrcList) where T :IEnumerable<> {
        return srcList.Skip(this.FromNo-1).Take(this.ShowCount);
    }
}
4

1 に答える 1

1

これは通常の方法です:

public IEnumerable<T> FilterList<T>(IEnumerable<T> source)
{
    return source.Skip(this.FromNo - 1).Take(this.ShowCount);
}
于 2013-01-03T09:19:07.347 に答える