Общий метод в не-общий класс?
Я уверен, что сделал это раньше, но не могу найти ни одного примера! Хмм...
Например, я хочу преобразовать IList<T>
в BindingList<T>
:
public class ListHelper
{
public static BindingList<T> ToBindingList(IList<T> data)
{
BindingList<T> output = new BindingList<T>();
foreach (T item in data)
output.Add(item);
return output;
}
}
Ответы
Ответ 1
ToBindingList <T> (...)
public class ListHelper
{
public static BindingList<T> ToBindingList<T>(IList<T> data)
{
BindingList<T> output = new BindingList<T>();
foreach (T item in data)
{
output.Add(item);
}
return output;
}
}
Ответ 2
Разве это не было бы проще?
public static class Extensions
{
public static BindingList<T> ToBindingList<T>(this IList<T> list)
{
return new BindingList<T>(list);
}
}
Это так просто, что нам не нужен метод расширения...
Я что-то пропустил?
Ответ 3
Вы можете сделать это по методу расширения, и было бы лучше.
public static class Extensions
{
public static BindingList<T> ToBindingList<T>(this IList<T> list)
{
BindingList<T> bindingList = new BindingList<T>();
foreach (var item in list)
{
bindingList.Add(item);
}
return bindingList;
}
}