2015-11-26 4 views
0

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

Ошибка:

Там не аргумент, учитывая, что соответствует требуемой формальной параметр 'myArticleID' из 'MainPage.GetTileDetails.GetTileDetails (строка, строка INT)'

Вот мой код:

Web Service:

[OperationContract] 
List<ViewDetails> ViewDetails(); 

[DataContract] 
public class ViewDetails 
{ 
    [DataMember] 
    public string TitleView { get; set; } 

    [DataMember] 
    public string BodyView { get; set; } 

    [DataMember] 
    public int ArticleID { get; set; } 

    public ViewDetails() { } 
    public ViewDetails(string myTitleView, string myBodyView, int myArticleID) 
    { 
     this.TitleView = myTitleView; 
     this.BodyView = myBodyView; 
     this.ArticleID = myArticleID; 
    } 
} 

проекта, в котором я использую веб-службы

public async void ViewData() 
    { 
     ServiceReference1.Service1Client client = new ServiceReference1.Service1Client(); 
     List<GetTileDetails> tileList = new List<GetTileDetails>(); 

     var res = await client.ViewDetailsAsync(); 
     for (int i = 0; i < res.Count; i++) 
     { 
      tileList.Add(new GetTileDetails(res[i].TitleView, res[i].BodyView.Substring(0, 170) + " ..."), res[i].ArticleID); 
     } 
     tileGridView.ItemsSource = tileList; 
    } 

public class GetTileDetails 
    { 
     public string TitleView { get; set; } 
     public string BodyView { get; set; } 
     public int ArticleID { get; set; } 

     public GetTileDetails() { } 
     public GetTileDetails(string myTitleView, string myBodyView, int myArticleID) 
     { 
      this.TitleView = myTitleView; 
      this.BodyView = myBodyView; 
      this.ArticleID = myArticleID; 
     } 
    } 

Может кто-нибудь сказать мне, почему я получаю эту ошибку? Я передаю в (String, String, Int) ....

+1

у вас, кажется, есть дополнительная запятая в 'GetTileArticleDetails'. – jsanalytics

+0

Возможный дубликат [Наследование с помощью конструктора базового класса с параметрами] (http://stackoverflow.com/questions/30696006/inheritance-with-base-class-constructor-with-parameters) – tarzanbappa

+0

@jstreet где дополнительная запятая? – Code

ответ

0

Замените эту строку:

tileList.Add(new GetTileDetails(res[i].TitleView, res[i].BodyView.Substring(0, 170) + " ..."), res[i].ArticleID); 

с этим одним:

tileList.Add(new GetTileDetails(res[i].TitleView, res[i].BodyView.Substring(0, 170) + " ...", res[i].ArticleID)); 

Примечание У вас есть неуместны ) сразу после " ...") ,

Смежные вопросы