как реализовать объект Collection - PullRequest
0 голосов
/ 07 декабря 2011

как реализовать объекты коллекции моего класса?

что-то вроде MatchCollection или CookieCollection

Например:

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

public class theParserClass 
{
    public theParserClass(string baa)
    { 
      //..
    }

    public string pro1 
   {
     get { /* etc */ } 
   }
}

и коллекция, которую я хочу реализовать:

 public class theParserClassResultCollection
    {
       private ParserResultCollection result; 
       public theParserClassResultCollection(string[] baa)
       { 

         foreach(string foo in baa)
         {
           var data = new theParserClass(foo);
           result.Add(data);
         }
       }

       public ParserResultCollection() 
       {
        return result;            
       }

    }

Надеюсь, это понятно.Заранее спасибо

Ответы [ 3 ]

1 голос
/ 07 декабря 2011

вы можете использовать ObservableCollection следующим образом:

public ObservableCollection<ParserClass> GetCollection(string[] baa)
{
  var result = new ObservableCollection<ParserClass>();
  foreach(string foo in baa)
  {
    var data = new ParserClass(foo);
    result.Add(data);
  }
  return result;
}

public class ParserClass 
{
  public ParserClass (string baa)
  { 
    //..
  }

  public string pro1 
  {
    get { /* etc */ } 
  }
}

msdn: http://msdn.microsoft.com/en-us/library/ms668604.aspx

надеюсь, это поможет

0 голосов
/ 08 декабря 2011

Вы можете попробовать это:

  public class Collection<T> : IList<T>, 
        ICollection<T>, IEnumerable<T>, IList, ICollection, IEnumerable

http://msdn.microsoft.com/en-us/library/ms132397.aspx

0 голосов
/ 07 декабря 2011

Во-первых, вы объявляете то, что представляется конструктором ParserResultCollection внутри класса theParserResultCollection.Не знаю точно, что это должно означать.

Общая идея, которую вы можете использовать, - создать класс-оболочку для существующей коллекции (наследование по составу) и предоставить методы, которые вам нужны, используя внутреннюю коллекциюобъект.Например:

public class ParserResultCollection
{
    private List<ParserClass> collection;

    public ParserResultCollection(string[] param)
    {
        collection = new List<ParserClass>(param);            
    }

    public void Add(ParserClass item)
    {
        collection.Add(item);
    }

    // whatever else you need.
}

Конечно, если вам не нужны какие-либо другие специальные функции в отношении существующих коллекций, просто используйте их вместо этого.

И отбросьте "the", простоParserResultCollection.Это чище.

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