rt,我想向一个现成的DLL文件中加入新的方法,但是现在已经无法编辑那个DLL文件了
只能引用这个文件,那么还可以向这个DLL文件中加入新的方法么?谢谢

解决方案 »

  1.   

    用ildasm 反编译成 .il 文件
    用文本编辑器打开 .il 文件加入你的新函数(当然要用IL)
    用ilasm 重新编译成 dll。
    如不会用IL 直接编程也没关系,在VS 中直接用C#写好你的函数在反编译,复制生产的IL。
      

  2.   

    如果该DLL是.NET 托管DLL,如果你用.NET 3.0以上版本...可以用扩展方法而不需对原DLL做任何改动...下面的示例演示为 System.String 类定义的一个扩展方法。请注意,它是在非嵌套、非泛型静态类内部定义的:
    namespace ExtensionMethods
    {
        public static class MyExtensions
        {
            public static int WordCount(this String str)
            {
                return str.Split(new char[] { ' ', '.', '?' }, StringSplitOptions.RemoveEmptyEntries).Length;
            }
        }