Отсутствует ссылка на сборку? - PullRequest
4 голосов
/ 21 февраля 2011

У меня есть следующий пример метода:

namespace Postcode_webservice
{    
    public class Business
    {
      public string getBusinessDossierno(string KVKnr)
        {
              StringBuilder resultaat = new StringBuilder();
              result = myserviceBusiness.businessGetDossierV3(KVKnr);

              string city = result.results[0].CorrespondenceCity;
              string postcode = result.results[0].CorrespondencePostcode;

              resultaat.Append(city);
              resultaat.Append(postcode);
              return resultaat.ToString();
        }
    }

    public class BusinessInfo
    {
    public string City { get; set; }
    public string PostCode { get; set; }
    public string bedrijfsNaam { get; set; }
    public string adres { get; set; }
    public int huisnr { get; set; }
    }
}

Это приводит к ошибке ссылки на сборку.(с использованием System.Collections.Generic уже добавлено)

Ответы [ 2 ]

3 голосов
/ 21 февраля 2011

Лучше зависит от того, для чего вам нужно его использовать. Если вы передаете эту клиентскую часть для заполнения списка, то я бы предпочел json. Однако, если он будет использоваться на стороне сервера, я бы придерживался объектов .Net.

В качестве дополнительного примечания, чтобы исключить необходимость объединения строк для хранения данных, я бы определил тип, который содержит как город, так и почтовый индекс, например:

public class MyAddressInfo
{
    public string City { get; set; }
    public string PostCode {get; set; }
}

и затем использовать массив (или список) из них:

List<MyAddressInfo> myList = new List<MyAddressInfo>();
foreach(var res in result.results)
{
    myList.Add(new MyAddressInfo
    {
        City = res.CorrespondenceCity,
        PostCode = res.CorrespondencePostcode
    });
}

А затем верните список, как описано выше. Если вам нужно вернуть массив, вы можете сделать это:

return myList.ToArray();

, который будет типом возврата MyAddressInfo[]

@ Томас: Согласно вашему комментарию, объявление вашего метода должно выглядеть так:

public MyAddressInfo[] getBusinessDossierno(string KVKnr)
{
   // etc.
   return myList.ToArray();
}

Какие другие ошибки вы видите, когда вы его так компилируете?

1 голос
/ 21 февраля 2011

Почему бы не вернуть список KeyValuePair<string, string> (или какую-то более подходящую структуру данных) из метода?

Возврат одной объединенной строки названий городов и почтовых индексов является своего рода грязным решением, и это не таксобирается получить любой аккуратнее, возвращая массив соединенных значений.

return result.results.Select(r => new KeyValuePair<string, string>(r. CorrespondenceCity, r.CorrespondencePostcode));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...