title: What design pattern to use when I want only some derived classes to have access to a method in base class?
body: <p>I have a unique problem/situation here. Trying to make it as simple as possible. I have a base class (say Parent) and a whole bunch of derived classes (say Child1, Child2 ..ChildN) directly deriving from the base class (Parent). I want to change the base class and add a "AVeryPrivilegedMethod" which will only be accessible to Child2 and Child3 and not to any other Children (or make it configurable such that in future Child5 can also use it in future, with minimal changes). What design pattern /Architectural pattern will fit this bill?</p>
  
  <p>Language used - C#.</p>
  
  <p>PS: I was thinking about using <a href="http://msdn.microsoft.com/en-us/library/system.runtime.compilerservices.internalsvisibletoattribute.aspx" rel="nofollow">InternalVisibleTo</a> but realize that this gets applied at the assembly level</p>