gpt4 book ai didi

c# - 如何将扩展方法应用于数据行列?

转载 作者:行者123 更新时间:2023-12-01 18:54:07 27 4
gpt4 key购买 nike

我有一个数据行,其中填充了存储为字符串int。我可以像这样解析每个: Convert.ToInt32(row[1].ToString())

它可以工作,但有点难看。我想到也许我可以使用扩展类来尝试创建 .ToInt 方法。稍微简化了事情。经过一番研究,我写下了这个:

static class DataRowHelper
{
public static int ToInt(this DataRow row)
{
return Convert.ToInt32( row.ToString());
}
}

这几乎让我到达那里,但问题是它将新方法附加到行,如下所示:row.ToInt(),而不是这样附加:row[ 1].ToInt()

我在这里缺少什么?

最佳答案

我觉得其他答案提供了解决方案,但没有提供答案。

您的扩展方法不起作用的原因是因为 indexer 的返回类型您的 DataRow - row[1] 不是 DataRow,它是一个 string

您应该增强您的扩展方法以允许此索引器:

public static class DataRowExtensions
{
public static int ToInt(this DataRow row, int index)
{
return Convert.ToInt32(row[index].ToString());
}
}

关于c# - 如何将扩展方法应用于数据行列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24541127/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com