如何在许多项目中使用扩展方法。

时间:2011-10-31 14:20:33

标签: c# extension-methods

我正在学习扩展方法,这是一个非常方便的功能,可以节省编码的小时数,提供可重用性。我现在正在做什么,每天我正在创建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都可以自动添加我们创建的扩展方法,以便在evey项目中我们可以访问它。而不是每次都添加dll

  2. 我想知道你们是怎么做的。 我希望没有人投票,只是好奇地实施扩展方法

2 个答案:

答案 0 :(得分:9)

听起来你应该有一个包含相关扩展方法的项目 - 然后是的,你需要从每个需要它的项目中添加对该项目的引用。这是一次性费用。您可以将其放入GAC,但我个人不会 - 只需将其视为您需要依赖的另一个类库,就像其他任何类库一样。

答案 1 :(得分:0)

  1. 您可以将VS 2010项目模板更改为自动包含“框架”DLL。 visual studio templates

  2. 我只是保留了各种常见dll的公共存储库并引用了我需要的那些,这也是在SVN中,然后我为每个创建的框架都有特定的Snippets,以便于插入常用的代码