Я пытался заставить мои общие методы расширения работать, но они просто отказываются, и я не могу понять , почему . Эта цепочка мне не помогла, хотя должна.
Конечно, я искал, как это сделать, везде, где я вижу, говорят, что это просто, и это должно быть в таком синтаксисе:
(В некоторых местах я читал, что мне нужно добавить «where T: [type]» после удаления параметра, но мой VS2010 просто говорит, что это синтаксическая ошибка.)
using System.Collections.Generic;
using System.ComponentModel;
public static class TExtensions
{
public static List ToList(this IEnumerable collection)
{
return new List(collection);
}
public static BindingList ToBindingList(this IEnumerable collection)
{
return new BindingList(collection.ToList());
}
}
Но это просто не работает, я получить эту ошибку:
Тип или имя пространства имен 'T' могло не найдены (вам не хватает использования директива или ссылка на сборку?)
Если я затем заменю
public static class TExtensions
на
public static class TExtensions
, это даст следующую ошибку:
Метод расширения должен быть определен в неуниверсальный статический класс
Мы будем благодарны за любую помощь, я действительно застрял здесь.