2010-10-06 2 views
0

Я сделал свой обычай в метод расширения, как показано ниже:Использование пользовательских методов расширения Внутри Linq запрос

public static class ExtensionMethods 
    { 
     public static bool In(this string str, IEnumerable<String> list) 
     { 
      foreach (var s in list) 
      { 
       if (s.Equals(str)) return true; 
      } 

      return false; 
     } 
    } 

А теперь я хотел бы использовать его с моим запросом LINQ. Что я могу сделать и как его использовать?

ответ

4

Я думаю, что ваш метод очень похож на Enumerable.Contains. Возможно, вы могли бы просто использовать это вместо этого.

Если вы действительно хотите использовать свой метод, то он будет работать нормально в запросе LINQ to Objects, но его невозможно будет использовать в запросе базы данных.

0

Вы должны быть в состоянии сказать

if (stringName.In(listVariableName)){....} 

если ExtensionMethods класс не находится на другом пространстве имен.

Смежные вопросы