我有一个Oracle数据库,其中充满了类似的表(许多公共列),我使用dataSet来处理这些表。每个表都有一个用于访问数据库的类,其中包括扩展方法updateInDatabase()
我想创建一些方法来修改DataRows的公共列并返回一个通用的DataRow。有没有可能根据它的属性将它转换回一个类型化的DataRow?我可以看到DataRow仍然保存着与其原始类型和表相关的信息。
我猜它应该是这样的:
var typedDataRow = (genericDataRow.GetType())genericDataRow;我希望得到与以下相同的结果,但不知道运行时的类型:
TypedDataRow typedDataRow = (TypedDataRow)genericDataRow;当我尝试上面的操作时,错误是';expected‘
发布于 2019-11-06 03:51:58
像这样的扩展方法会很有帮助
public static T ConvertRow<T>(this DataRow row)
{
var obj = Convert.ChangeType(row, typeof(T));
return (T)obj;
}你可以在你想要的任何地方使用它;
TypedDataRow typedDataRow = genericDataRow<TypedDataRow>.ConvertRow()https://stackoverflow.com/questions/40513603
复制相似问题