-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 回答