Reputation: 700
I'm sure I've done this before, but can't find any example of it! Grrr...
For example, I want to convert an IList<T>
into a 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;
}
}
Upvotes: 22
Views: 25720
Reputation: 26374
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;
}
}
Upvotes: 35
Reputation: 48255
Wouldn't this be simpler?
public static class Extensions
{
public static BindingList<T> ToBindingList<T>(this IList<T> list)
{
return new BindingList<T>(list);
}
}
It's so simple that we don't need an extension method ...
Am I missing something?
Upvotes: 11
Reputation: 16086
You can do this by extension method and it would be better.
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;
}
}
Upvotes: 7