Расширение linq (где разместить код) - PullRequest
0 голосов
/ 21 мая 2011

Я наткнулся на статью , в которой описывается, как создать .Each () для LINQ, а-ля jQuery. Я вставил код в один из моих контроллеров, но когда я пытаюсь вызвать его, Intellisense не видит его ... Я также прочитал статью из 4guysFromRolla , в которой описано, как создавать расширения LINQ, но они не говорить о том, чтобы разместить код в каком-то особом месте ...

что здесь за магия?

Ответы [ 3 ]

3 голосов
/ 21 мая 2011

Методы расширения принадлежат к отдельному статическому классу.

Из связанной статьи:

В следующем примере показан метод расширения, определенный для класса System.String.,Обратите внимание, что он определен внутри не вложенного, неуниверсального статического класса:

Вы также должны добавить using к пространству имен этого класса.

2 голосов
/ 21 мая 2011

Методы расширения должны быть определены внутри не вложенного, не универсального статического класса: Методы расширения

1 голос
/ 22 мая 2011

Вы можете разместить его где угодно, но было бы разумно переместить его в отдельную папку Tools + ns или даже в сборку.

Основная идея: создать public static class MyLinqExtensions в папке \MyExtensions,

Заменить «Мой» на что-то специфичное для проекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...