首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以将基于类型化DataRow的泛型DataRow使用其属性转换回类型化datarow?

是否可以将基于类型化DataRow的泛型DataRow使用其属性转换回类型化datarow?
EN

Stack Overflow用户
提问于 2016-11-10 02:24:40
回答 1查看 167关注 0票数 1

我有一个Oracle数据库,其中充满了类似的表(许多公共列),我使用dataSet来处理这些表。每个表都有一个用于访问数据库的类,其中包括扩展方法updateInDatabase()

我想创建一些方法来修改DataRows的公共列并返回一个通用的DataRow。有没有可能根据它的属性将它转换回一个类型化的DataRow?我可以看到DataRow仍然保存着与其原始类型和表相关的信息。

我猜它应该是这样的:

代码语言:javascript
复制
var typedDataRow = (genericDataRow.GetType())genericDataRow;

我希望得到与以下相同的结果,但不知道运行时的类型:

代码语言:javascript
复制
TypedDataRow typedDataRow = (TypedDataRow)genericDataRow;

当我尝试上面的操作时,错误是';expected‘

EN

回答 1

Stack Overflow用户

发布于 2019-11-06 03:51:58

像这样的扩展方法会很有帮助

代码语言:javascript
复制
    public static T ConvertRow<T>(this DataRow row)
    {
        var obj = Convert.ChangeType(row, typeof(T));
        return (T)obj;                
    }

你可以在你想要的任何地方使用它;

代码语言:javascript
复制
    TypedDataRow typedDataRow = genericDataRow<TypedDataRow>.ConvertRow()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40513603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档