如何为.Net程序集添加扩展方法?

时间:2014-06-10 09:03:48

标签: c# .net .net-assembly

我是软件开发的新手,我可能会问一个非常愚蠢的问题但是,我很想知道更多这方面的事情。 是否可以为.Net程序集添加扩展方法?我希望我的扩展方法能够处理我正在处理的每个项目。除了引用我自己的程序集外,还有其他方法吗?

如果不可能,请解释一下。

提前致谢:)

4 个答案:

答案 0 :(得分:2)

无法向现有程序集添加方法。

除了在你自己的程序集中创建它并引用它之外别无他法。

答案 1 :(得分:0)

  1. 创建一个新项目作为dll(类库)
  2. 将您的扩展类/方法添加到此dll
  3. 在未来的项目中引用此dll

  4. 在回复您的评论时,您无法修改.net框架,只能构建您自己的dll以包含您希望在项目之间共享的方法。

    您无法修改框架的原因是因为代码已经编译过了。

答案 2 :(得分:0)

您可以在类中创建可扩展方法,但在引用dll中不可能 请在这里查看可扩展的class method

答案 3 :(得分:-1)

是否可以为.Net程序集添加扩展方法? 这本身就说你必须创建自己的方法来扩展已经部署的.Net程序集。唯一的使用方法是定义自己的方法,并在代码中包含命名空间,您将使用这些扩展方法。

样品。延长方法。

using system;
namespace myNamespace
{
      public static class MyExtMethods
       {
    public static string Foo(this string bar)
           {
             return bar+ "Some values added. ";

           }
        }
}

使用延长法。

using system;
using myNamespace;
    namespace myNamespace2
    {
          public class Program
           {
        public static void Main(string[] args)
               {
                string str ="Some Value";
               Console.WriteLine(str.Foo());

               }
            }
    }