метод не может вернуть значение, ошибка: не может преобразовать тип в C #, ASP.NET - PullRequest
0 голосов
/ 22 июня 2011

У меня есть метод, который должен вернуть набор данных.Но, наконец, при возврате данных появляется сообщение об ошибке: «невозможно преобразовать тип« WebApplication1.Webrefernce13.DT_value [] »в« WebApplication1.Webrefernce13.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
    }

Буду благодарен, если вы поможетемне по этому вопросу.

Ответы [ 4 ]

0 голосов
/ 22 июня 2011

Объявите, как показано ниже, и, возможно, вам помогут:

DT_Value ab=new DT_Value;
0 голосов
/ 22 июня 2011

Вы определяете ab как массив DT_Value, но контракт метода должен возвращать только одно DT_Value.Если вы хотите вернуть только первое значение (если оно существует), сделайте вашу последнюю строку

return ab[0];
0 голосов
/ 22 июня 2011

изменить подпись вашего метода на

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;
0 голосов
/ 22 июня 2011

Вы объявили ab как массив DT_Value, но метод возвращает DT_Value (один DT_Value экземпляр).

Если вы хотите Priority вернуть массиввы должны изменить объявление на это:

public DT_Value[] Priority()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...