代码之家  ›  专栏  ›  技术社区  ›  David S.

如何从另一个appDomain调用类的方法

  •  8
  • David S.  · 技术社区  · 14 年前

           AppDomain env = AppDomain.CreateDomain(
                "test",
                null,
                new AppDomainSetup() { ApplicationName = "test" }
                );
    
            Assembly a = Assembly.LoadFrom("d:\\testenv1\\test2.dll");
            //env.AssemblyResolve += new ResolveEventHandler(env_AssemblyResolve);
            env.Load(a.FullName);
    
            ObjectHandle o = env.CreateInstance(a.FullName, "Test2.Class1");
    

    现在我有了Test2.Class1的对象句柄,但是我不知道如何包含Class1类的“action”方法。

    “动作”方法如下:

        public void action()
        {
            Console.WriteLine(AppDomain.CurrentDomain.FriendlyName + " ok");
        }
    

    1 回复  |  直到 9 年前
        1
  •  5
  •   eglasius    14 年前

    将要用于跨appdomain通信的对象标记为 MarshalByRefObject .