-1

IEnumerable<datatype>メソッドがない場合、データ型を返すにはどうすればよいですかAsEnumerable()。例えば:

FarPointSpread1.ActiveSheet.Rows[e.Row]

含まれていないAsEnumerable()ので、これを行うことはできません

FarPointSpread1.ActiveSheet.Rows[e.Row].AsEnumerable()

e.Rowスプレッドのアクティブシートの現在の行であり、次のようなことができると期待しています:

IEnumerable<FarPoint.Win.Spread.Row> = FarPointSpread1.ActiveSheet.Rows[e.Row].AsEnumerable();

行内のすべてのフィールドを反復処理し、実行時に値を設定したい-これはデータベースから取得されます。これを達成する方法はありますか?回避策がある場合は、いくつかの例を教えてください。Farpoint を使用して例を表示できない場合でも、他の種類の例を歓迎します。前もって感謝します。

4

1 に答える 1

1

拡張メソッドを作成できます。FarPoint を使用しない例は次のとおりです。

public class TestClass
{
    public IReadOnlyCollection<int> Values { get; set; }
}

public static class TestClassExtensions
{
    public static IEnumerable<int> AsEnumerable(this TestClass cls)
    {
        return cls.Values.AsEnumerable();
    }
}

// Call
var cls = new TestClass();
var enum = cls.AsEnumerable();

このサンプルは、拡張メソッドの一般的な構造を示しています。もちろん、TestClass にはすでに一致する形式の値が含まれているため、非常に単純化されています。FarPoint の行を列挙するためのロジックが含まれるように、拡張メソッドを実装します。
私があなたの質問を理解している限り、単一の行を拡張してフィールドの値を列挙したいと考えています。行のデータ型を使用し、拡張メソッドでフィールドを列挙します。

于 2013-12-02T09:34:11.547 に答える