用Event抛出就行, 在你的B程序Distroy的时候, 抛出相关事件

解决方案 »

  1.   

    to LeoMaya(我是L.W, 这是我的故事)
    能否说的具体一点
      

  2.   

    public class InstanceA
    {
    private InstanceB B;public InstanceA()
    {
    B = new InstanceB();
    B.OnBDestroy += new BDestroyEventHandler(InstanceA_OnBDestroy);
    }private void InstanceA_OnBDestroy(object sender, BDestroyEventArgs e)
    {
    MessageBox.Show(e.YourReturnValue.ToString());
    }
    }public delegate void BDestroyEventHandler(object sender, BDestroyEventArgs e);
    public class InstanceB
    {
    public event BDestroyEventHandler OnBDestroy;//B's Destroy Function
    public void Close()
    {
    if(OnBDestroy != null)
    {
    BDestroyEventArgs e = new BDestroyEventArgs("testing result");
    OnBDestroy(this, e);
    }
    }
    }public class BDestroyEventArgs : EventArgs
    {
    private object _yourReturnValue;public BDestroyEventArgs(object ret)
    {
    _yourReturnValue = ret;
    }public object YourReturnValue
    {
    get{return _yourReturnValue;}
    }
    }
      

  3.   

    可能我没有说清楚,这里的A是一个应用程序(A.exe),B也是一个应用程序(B.exe),而不是new处理的实例
      

  4.   

    最快的方法是,使用Remoting,当B退出时,首先向A发送一个消息。
      

  5.   

    如果A,B是应用程序,
    A中的下列代码有效吗private InstanceB B;
    B = new InstanceB();
    B.OnBDestroy += new BDestroyEventHandler(InstanceA_OnBDestroy);A不能引用B.exe
      

  6.   

    event可以由你自己定义, 什么时候抛出, 抛出些什么东西, 由谁抛出并不是固定的, 反正都是在B的Destroy事件里面抛出的