как использовать методы расширения во многих проектах. - PullRequest
8 голосов
/ 31 октября 2011

Я изучаю метод расширения, очень удобная функция, которая может сэкономить количество часов кодирования, обеспечивает возможность повторного использования. то, что я делаю сейчас дни, ежедневно я создаю 10 методов расширения, которые полезны в повседневной жизни. но я не понимаю, как использовать эти методы расширения, каждый раз, когда нам нужно добавить DLL и ссылаться на него. или есть какой-нибудь умный способ, которым мы можем использовать.

предположим,

 public static bool isValidMail(this string str)
        {
            Regex reg = new Regex(@"^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$");
            return reg.IsMatch(str);
        }

если я создал 100 таких методов расширения, то для каждого проекта мне нужно ссылаться на этот статический класс dll. как я работаю с проектами Multplie. есть ли какой-нибудь способ, которым мы можем поместить эти методы расширения в централизованное расположение или в некоторый кеш сборок, где мы можем легко добавить оператор using и получить доступ ко всем статическим методам.

мы можем сделать это?

  1. всякий раз, когда мы создаем новый проект, VS может автоматически добавить методы расширения, которые мы создали, чтобы в каждом проекте мы могли получить к нему доступ. вместо добавления DLL каждый раз

  2. Я хочу знать, как вы, люди. Я надеюсь, что никто не проголосует против, просто любопытно, о реализации методов расширения

Ответы [ 2 ]

9 голосов
/ 31 октября 2011

Похоже, у вас должен быть один проект, содержащий связанные методы расширения - и тогда да, вам нужно будет добавить ссылку на этот проект из каждого проекта, который в этом нуждается.Это единовременная стоимость.Вы могли бы поместить это в GAC, но лично я бы не стал - просто относиться к ней как к другой библиотеке классов, от которой вам нужно зависеть, как к любой другой.

0 голосов
/ 31 октября 2011
  1. Вы можете изменить шаблоны проектов VS 2010, чтобы они автоматически включали DLL-библиотеку Framework. шаблоны Visual Studio

  2. Я просто держу общий репозиторий различных общих dll и ссылаюсь на те, которые мне нужны, это тоже в SVN, затем у меня есть конкретные фрагментыдля каждой фреймворка, который я создал, чтобы было легко вставить часто используемый код.

...