gpt4 book ai didi

c# - 无法将源类型转换为目标类型

转载 作者:太空宇宙 更新时间:2023-11-03 14:34:45 25 4
gpt4 key购买 nike

在我的一个测试 Web 项目中的 .aspx 代码隐藏中,我试图将此变量设置为返回的对象。我在我的 Web 项目中获得了对 Web 服务的引用,这很好。

我正在调用我们的一种网络服务方法:

CompanyName.CC.DebitResponse debitRespnose = CCService.IssueDebit(...);

在 .asmx IssueDebit 中返回类型 CompanyName.CC.DebitResponse。

但是我得到这个错误:

"Cannot convert source type MyWebTestProject.CCService.DebitResponse to target type CompanyName.CC.DebitResponse"

我的意思是我设置的变量和我服务中方法中定义的返回类型是完全一样的。那么它为什么会提示呢?

在我的网络服务中,这是 IssueDebit:

public DebitResponse IssueDebit(...)
{
...
}

我确定 IssueDebit 中的 DebitResponse 是 CompanyName.CC.DebitResponse 类型

已更新。

好吧,我被困住了。这是实际代码(在我出于隐私目的更改名称之前)。请不要重新粘贴其中的任何内容(或者如果您确实彻底更改名称,因为这是敏感的)

http://www.elbalazo.net/post/codebehind.txthttp://www.elbalazo.net/post/webservice.txt

这是真正的代码。查看后面代码中的 IssueDebit。

我在测试 Web 项目中的 Web 服务引用名为 LitleService。

当我在对象资源管理器中查看该服务时,我注意到它的类型存在冲突。那么,如果我的 .asax 中甚至都没有定义该类,为什么该类型会出现在我的服务中呢?

http://www.elbalazo.net/post/webservice_objectexplorer.jpg

在我的代码隐藏中删除的另一种方法中,我在这里的参数上得到了不明确的引用:

    private void SetIssueDebitResults(ServiceAuthResponse response)
{
//not implemented
}

Ambiguous Reference:
xxx.Litle.ServiceAuthResponse
WebServiceTesting.LitleService.ServiceAuthResponse

那么当实际的 ServiceAuthResponse 类起源和定义在 xxx.Litle.ServiceAuthResponse 中时,为什么我会像这样在我的 Litle 服务中获得 ServiceAuthResponse 对象...一个完全不同的项目?我在两个 Web 项目(测试项目和我的包含实际 .asmx 的 Web 项目)中都引用了该程序集。

最佳答案

我敢打赌您的网络服务方法有意或无意地返回了错误的类型。

试着把它放在你的网络服务类的顶部:

using DebitResponse = CompanyName.CC.DebitResponse;

然后将您的方法调用更改为:

public DebitResponse IssueDebit(variable)
{
// stuff...
}

如果您发布 IssueDebit() 方法的代码,它会有所帮助。

关于c# - 无法将源类型转换为目标类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1498951/

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