2016-04-23 23 views
-3

"在庫はスーツ"と言われる部分のスーツ(子クラスの在庫)に下線が引かれる理由は誰にも分かりますか? SuitC#親クラスと子クラス - 親クラスから子を選ぶ

//Picking Suit out of the Stock 
     public System.Collections.ArrayList Suit() 
     { 
      System.Collections.ArrayList array = new System.Collections.ArrayList(); //looping through Persons array 
      foreach (Stock stock in allStock)//using code snippets 
      { 
       if (stock is Suit) //if it is a customer, display value, if not, return to the array list 
       { 
        array.Add(stock); 
       } 
      } 
      return array; 
     } 
+2

それは示してエラーとは何ですか? – Shaharyar

+1

なぜArrayListを使用していますか?それはとてもそうです。コレクションは今よりはるかに優れています。 'List 'を試してみてください。 – Enigmativity

答えて

1

あなたの方法はあなたの子供のクラスと同じ名前を持っています。これがエラーです。

このメソッドは、名前を変更しなければならない(とLINQを使用してリファクタリングすることができます)このように:

public List<Suit> GetSuits() 
{ 
    return 
     allStock 
      .Select(stock => stock as Suit) 
      .Where(suit => suit != null) 
      .ToList(); 
} 

またはLINQなし:

public List<Suit> GetSuits() 
{ 
    var result = new List<Suit>(); 

    foreach (Stock stock in allStock) 
    { 
     var suit = stock as Suit; 
     if (suit != null) 
     { 
      result.Add(suit); 
     } 
    } 

    return result; 
} 
関連する問題