Can't figure out how to share some code
                            
                         
                        
                     
                 
                
                    I have some code which I want to pull out of a class so I can share it with other classes.  I can't figure out how to do it with the restrictions that I have.  Here is my situation.
I have a class B which inherits from a 3rd party base class A.  The restriction is that I can only have one class in my project which inherits from base class A due to the way the larger system we are working on is design.
public B : A
{
    private void MakeLunch(int numLunches)
    {
        for (int i=0; i < numLunches; i++)
        {
            .... // get bread, ham, etc.
            .... // put mayo on bread, slice ham, etc.
            base.MakeSandwich(bread, ham, ...);  // MakeSandwich()   is   protected
        }
    }
}
Originally, I tried taking out MakeLunch() into its own class (class C) and deriving from class A so I can get the MakeSandwich() method, but I found out that only one class in my project can derive from class A. (create class C in another project is not an option)
I then tried to pass a reference to class B when I create class C but the MakeSandwich() method from class A is protected.
Anyone know of a way for me to pull out my MakeLunch() method into its own class?