C# DLL嵌套调用时修改生效

C# DLL嵌套调用时,需要以被修改的DLL作为最下层,从下往上地重新生成所有DLL才可生效。

DLL1(最下层)代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ClassLibrary1
{
    public class Class1
    {
        public void ConsoleWriteLineSomething()
        {
            Console.WriteLine("A");
        }
    }
}

DLL2(中间层)代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ClassLibrary2
{
    public class Class1
    {
        public void ConsoleWriteLineSomething()
        {
            ClassLibrary1.Class1 class1 = new ClassLibrary1.Class1();
            class1.ConsoleWriteLineSomething();
        }
    }
}

应用程序代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            ClassLibrary2.Class1 class1 = new ClassLibrary2.Class1();
            class1.ConsoleWriteLineSomething();
            Console.Read();
        }
    }
}

实验步骤:

1.在代码无修改的情况下运行应用程序,输出结果为A。

2.修改DLL1动态链接库ConsoleWriteLineSomething方法,使其输出B并重新生成DLL1。

3.运行应用程序,输出结果为A。

4.重新生成DLL2,运行应用程序,输出结果为B。

你可能感兴趣的:(c#,开发语言)