下面的方法调用RetrieveRecords方法,该方法是异步的,返回类型为Task<DataView
>。调用方法接受datatype作为DataView。现在我得到一个错误“不能从System.Data.DataView转换到System.Task.DataView。我知道这个错误是由于类型转换不匹配造成的。我如何将任务<DataView
>转换到DataView。这对我来说是非常必要的。我做了很多研究,但没有找到解决方案。
public DataView endresult()
{
DataView result = RetrieveRecords(sqlCommand)
}
返回类型为Task<DataView
>的异步方法
public async Task<DataView> RetrieveRecords(SqlCommand sqlCommand)
{
return await ExecuteDV(sqlCommand);
}
public DataView ExecuteDV(SqlCommand sqlCommand)
{
exceptionMessage = string.Empty;
resultType = (int)Helper.ServiceActionType.Success;
var table = new DataTable();
DataView dv = null;
try
{
using (SqlConnection con = new SqlConnection(DBAccess.ConnString))
{
sqlCommand.Connection = con;
con.Open();
SqlDataReader dr = sqlCommand.ExecuteReader();
table.Load(dr);
if (table.Rows != null && table.Rows.Count > 0)
{
dv = table.DefaultView;
}
else
{
resultType = (int)Helper.ServiceActionType.DataNotFound;
}
con.Close();
}
}
return dv;
}
您的代码目前无法编译。我假设这个方法签名是正确的:
public DataView ExecuteDV(SqlCommand sqlCommand);
在这种情况下,RetrieveRecords
不能Await
结果,因此:
public DataView RetrieveRecords(SqlCommand sqlCommand)
{
return ExecuteDV(sqlCommand);
}
你的“最终结果”当然是:
public DataView endresult()
{
DataView result = RetrieveRecords(sqlCommand);
return result;
}
public async Task<DataView> ExecuteDVAsync(SqlCommand sqlCommand);
public async Task<DataView> RetrieveRecordsAsync(SqlCommand sqlCommand)
{
return await ExecuteDVAsync(sqlCommand);
}
public async Task<DataView> endresultAsync()
{
DataView result = await RetrieveRecordsAsync(sqlCommand);
return result;
}
我有一个函数从服务器获取一个文件并解析了该文件,我正在使用一个具有如下完成处理程序的函数来获取该文件 但是,当我尝试使用该函数时 我得到无法将类型“()”的返回表达式转换为返回类型“String”的错误。 知道我做错了什么吗?
我想创建一个任务来运行串行命令。此时,我不需要从正在进行工作的方法返回任何内容。这可能会在以后发生变化,但我现在很好奇这是如何发生的。 这就是我所拥有的。我想为任务使用单独的方法,而不是创建匿名操作。我尝试返回void,结果是“void不能显式转换为任务”。我也试过了<代码>任务 在此过程中,我使用了一个线程来完成这项任务,但这次我想使用任务。 预计到达时间: 最后,这是我的完整解决方案
我一直在使用异步任务来访问web服务器,并使用结果更新控件。这有缺点,即它使异步方法特定于控件,并阻止我再次使用返回的字符串。 我的典型asyncTask代码如下
我试图弄清楚如何处理从返回的数据。 我有一个活动,我正在调用异步Firebase get操作(存在于其他类中的操作),并且我想使用检索到的ArrayList的大小更新活动中存在的。以下是我在活动创建中获取的 Firebase 调用: 这是我的Firebase操作: 在Android中,最好的方法是什么?是否有可能实现各种适配器或完成处理程序?
问题内容: 我有一个想要表示为C#类的复杂JSON对象。我在名为“ Form”的父类上有一个良好的开端,但是如何代表不同类型的集合(请参见下面的“ elements”对象)? 这是JSON对象: 我开始的课程看起来像这样: 如何处理“ elements”属性以获得所需的JSON输出? 我正在WCF 4.0和web.config中的以下属性一起使用:automaticFormatSelectionE
问题内容: 有没有一种方法可以将对象强制转换为方法的返回值?我尝试过这种方式,但在“ instanceof”部分给出了编译时异常: 我也尝试过这个,但是它给出了运行时异常ClassCastException: 有没有一种简便的方法可以做到这一点: 编辑:我写了正确答案的工作副本: 问题答案: 您必须使用实例,因为在编译过程中会擦除通用类型。 该方法的声明是: 这也可以用于数组类型。它看起来像这样: