title: call child method when parent method called
body: <p>I have a class and it has a method:</p>
  
  <pre><code>public class A{
      public virtual void doChanges (String message, object[] args){
      }
  }
  </code></pre>
  
  <p>Some classes use 'doChange' method in 'A':</p>
  
  <pre><code>public class MethodClaller{
      A a = new A();
      public void caller(){
          a.doChanges ("Test",null);
      }
  }
  </code></pre>
  
  <p>And <strong>ALL</strong> child classes should override doChanges:</p>
  
  <pre><code>public class B:A{
      public override void doChanges(String message, object[] args){
      }
  }
  </code></pre>
  
  <p>Problem is: I want to use Class <strong>A</strong> and Class <strong>MethodCaller</strong> in several programs(like component) and in each program, method <strong>doChange</strong> should automatically call for all childs of <strong>A</strong>, whenever <strong>doChange</strong> called for <strong>A</strong>. so a code like this:</p>
  
  <pre><code>new MethodCaller.call();
  </code></pre>
  
  <p>should call <strong>doChanges</strong> in all instances of <strong>B</strong>.</p>
  
  <p>It sounds like event handling. But I don't know how to do it. It doesn't matter if <strong>A</strong> and <strong>B</strong> are not relative as parent and child in solution. I just had feeling that this is the correct structure. </p>