如何将类对象列表从Web服务传递到Windows窗体应用程序

时间:2015-07-30 07:21:44

标签: c# web-services list return

我将问题列表从WebService传递到WinForms应用时出现问题。 我在Osoba中创建了一个类 WebService ,其方法是返回类对象列表。

这个方法的代码现在看起来像这样:

public List<Osoba> ListaOsoba()
{
    Osoba nr1 = new Osoba(1,"Name1","Surname1",Uprawnienia.Administrator);
    Osoba nr2 = new Osoba(2,"Name2","Surname2",Uprawnienia.Uzytkownik);
    Osoba nr3 = new Osoba(3,"Name3","Surname3",Uprawnienia.Uzytkownik);

    listaOsób.Add(nr1);
    listaOsób.Add(nr2);
    listaOsób.Add(nr3);

    return listaOsób;
}

在应用中,我添加了WebService的引用,其中包含Osoba类。

我的应用代码看起来像这样( localhost 是我的WebService对象):

public void SprawdzUprawnienie()
{
    foreach (var item in webServiceComarch.ListaOsoba())
    {
       localhost.Osoba nowaOsoba = new localhost.Osoba();
       nowaOsoba(item.indentyfikator, item.imie, item.nazwisko, item.Uprawnienia);
       listaOsob.Add(nowaOsoba);
    }
}

我收到错误

  

nowaOsoba是一个“变量”,但用作“方法”。

nowaOsoba(item.indentyfikator, item.imie, item.nazwisko, item.Uprawnienia);

我在网上搜索了很多关于这类问题的信息,但没有什么对我有帮助。

任何人都可以帮我解决这个问题吗?任何提示都会非常有用。

3 个答案:

答案 0 :(得分:1)

试试这个

foreach (var item in webServiceComarch.ListaOsoba())
{
  nowaOsoba.indentyfikator = item.indentyfikator;
  nowaOsoba.imie = item.imie;
  ....
  ....
  ....
  listaOsob.Add(nowaOsoba);
}

答案 1 :(得分:0)

尝试这个

var data= nowaOsoba.nowaOsoba(item.indentyfikator, item.imie, item.nazwisko, item.Uprawnienia);
listaOsob.Add(data);

答案 2 :(得分:0)

您需要为WebService创建一个ServiceClient,并使用该客户端调用ListaOsoba()方法。这应该是这样的:

var client = new YourWebServiceClient();
var list = client.ListaOsoba();

YourWebServiceClient是一个占位符,根据您为实际WebService选择的名称而有所不同。