方法可以';t返回值,错误:无法在C#、ASP.NET中转换类型
本文关键字:ASP NET 类型 转换 错误 返回值 方法 | 更新日期: 2023-09-27 17:59:53
我有一个应该返回一组数据的方法。但最后当返回数据时,错误显示为:"无法将类型'WebApplication1.Webreference13.DT_value[]'转换为'WebApplication1.Webreference 13.DT_value"
public class InputHelp
{
public DT_Value Priority()
{
WebReference13.DT_SM_InputHelp_Request IncomingtypeReq = new WebReference13.DT_SM_InputHelp_Request();
WebReference13.DT_SM_InputHelp IncomingTypeResp;
WebReference13.SI_CreateSM_OBService _proxy1 = new WebReference13.SI_CreateSM_OBService();
CookieContainer cookie = new CookieContainer();
_proxy1.Credentials = new NetworkCredential("xxxx", "xxxxx"); // use credential to acess to the SAP system
_proxy1.CookieContainer = cookie;
IncomingtypeReq.Mode = "Create";
IncomingtypeReq.Language = "EN";
IncomingtypeReq.OptionalText1 = "ZLFN";
IncomingtypeReq.OptionalText2 = "";
IncomingtypeReq.WSCallID = "223424dgdf";
IncomingTypeResp = _proxy1.SI_GetInputHelp(IncomingtypeReq);
DT_Value[] ab=new DT_Value[10];
ab= IncomingTypeResp.Priority;
return ab; // error is here
}
如果你能在这个问题上帮助我,我将不胜感激。
将方法签名更改为
public DT_Value[] Priority(){...}
还有
DT_Value[] ab=new DT_Value[10];
ab = IncomingTypeResp.Priority; //<-- something doesn't look right here.
如果IncomingTypeResp.Priority
是DT_Value[]
类型,那么你可以只做
DT_Value[] ab = IncomingTypeResp.Priority;
您已经将ab
声明为DT_Value
的数组,但该方法返回DT_Value
(单个DT_Value
实例)。
如果您希望Priority
返回一个数组,您应该将声明更改为:
public DT_Value[] Priority()
您将ab定义为DT_Value的数组,但方法约定只返回一个DT_Value。如果您只想返回第一个值(如果存在),请将最后一行设置为
return ab[0];
像下面这样声明,可能会对您有所帮助:
DT_Value ab=new DT_Value;