Конвертировать список <Cookie>в CookieCollection в C # - PullRequest
3 голосов
/ 06 января 2010

Допустим, у меня есть List<Cookie>, и я хочу преобразовать его в CookieCollection. Какой самый простой способ сделать это?

Я знаю, что могу использовать цикл foreach, но нет ли способа создать его с помощью кода, подобного этому?

List<Cookie> l = ...;
var c = new CookieCollection() { l };

Когда я пытаюсь это скомпилировать, я получаю сообщение об ошибке:

Лучший перегруженный метод Add 'System.Net.CookieCollection.Add (System.Net.CookieCollection)' для инициализатора коллекции есть некоторые неверные аргументы

Кстати, есть два Add метода, которые CookieCollection поддерживает:

public void Add(Cookie cookie);
public void Add(CookieCollection cookies);

Ответы [ 4 ]

8 голосов
/ 06 января 2010

Учитывая c и l, как в вашем первом примере, это будет делать:

l.ForEach(c.Add);
4 голосов
/ 06 января 2010

CookieCollection была написана до .Net 2 (до Generics). Поэтому на самом деле нет быстрого и приятного способа сделать это, кроме как вручную с помощью цикла foreach.

1 голос
/ 06 января 2010

Вы можете передать лямбду методу ForEach в List. Это будет работать независимо от конструкторов CookieCollection.

List<Cookie> l = ...;
var c = new CookieCollection();
l.ForEach(tempCookie => c.Add(tempCookie));
0 голосов
/ 06 января 2010
List<Cookie> l = ...;
var c = new CookieCollection();
l.ForEach(x => c.Add(x));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...