【问题标题】:How to cast type object to type datatable如何将类型对象转换为类型数据表
【发布时间】:2019-08-04 16:04:00
【问题描述】:

我有这个对象,我用它来处理我的所有 sql 查询,方法是将它们作为对象返回。在下面列出的方法中,我可以传递 3 个参数,sql 查询,我想要返回的数据类型以及 sql 是查询还是非查询

它返回一个数据表,但它作为一个对象返回。所以我很好奇是否有一种简单的方法一旦返回就可以将其转换为数据表。

我能够成功地将列表转换为 Ilist,然后再转换回列表,但这似乎没有任何可能的从对象转换为数据表的方法。

非常感谢任何帮助,如果我没有提供任何帮助,请随时告诉我。

【问题讨论】:

  • 您需要发布完整的代码示例。也不推荐使用字符串来确定逻辑流程。尝试使用枚举。
  • 与您投射其他任何内容的方式相同:(DataTable)myObject。但是以这种方式投射并不是解决问题的好方法。尝试改用generic return type

标签: c#


【解决方案1】:

看起来类似于this question。不幸的是,你不能在 C# 中做这样的事情,但是有一些变通方法。

调用方法时,尝试:

DataTable newDT = (DataTable)QuerySql();

在调用对象时强制转换。

您可以尝试的另一件事是为每种返回类型创建相同的方法。例如:

private DataTable DTQuerySql(string QueryString, string QueryType = "select")
{
    return (DataTable)QuerySql(QueryString, "datatable", QueryType)
}

【讨论】:

    猜你喜欢
    • 2019-07-20
    • 2017-05-02
    • 1970-01-01
    • 2016-04-28
    • 1970-01-01
    • 2021-08-11
    • 2012-05-09
    • 2010-11-15
    • 2018-11-27
    相关资源
    最近更新 更多