I have this small design issue on which I want to find optimum solution.

I have a Parent class A and having objects of other classes say Class B, C..etc. I have 6 of these child classes. 

Now every child class has to call some method from parent class.
The common method calls some delegate, kind of sending events from parent class.

So the structure is:

```
class ParentA
{
   Child B, C, D, E, F, G;

   CommonMethod()
   {
      //Common task
      CallDelegate();
   }
}

```

The current solution is passing the object of parent class to all the 6 child class. Through which child classes access the common method.

I was wondering if there exist a better way to do the job.

For eg. making the commonMethod as static there for I don’t need to pass parent refrence to each child class. Also, I don’t want to make CommonMethod public.

Please suggest better approach or let me know if current implementation is good enough.