У меня есть проблема. Я делаю класс расширения для коллекции, и он является общим .. как
public static class ListExtensions
{
public static ICollection<T> Search<T>(this ICollection<T> collection, string stringToSearch)
{
ICollection<T> t1=null;
foreach (T t in collection)
{
Type k = t.GetType();
PropertyInfo pi = k.GetProperty("Name");
if (pi.GetValue(t,null).Equals(stringToSearch))
{
t1.Add(t);
}
}
return t1;
}
}
Но я не могу добавить элементы в t1, так как он объявлен нулевым.
Ошибка: ссылка на объект не установлена для экземпляра объекта.
Я вызываю метод как
List<TestClass> listTC = new List<TestClass>();
listTC.Add(new TestClass { Name = "Ishu", Age = 21 });
listTC.Add(new TestClass { Name = "Vivek", Age = 40 });
listTC.Add(new TestClass { Name = "some one else", Age = 12 });
listTC.Search("Ishu");
И тестовый класс
public class TestClass
{
public string Name { get; set; }
public int Age { get; set; }
}
Использование: (C # 3.0) & Framework - 3.5
Спасибо