I do not get a potential virtual function call in constructor warning when I do:
   public abstract class B : A
    {
        protected B(IEngine engine) : base(engine)
        {
            C = new C(CanExecuteChange);
        }
        public C C{ get; }
        public abstract bool CanExecuteChange();
    }
Where class C's constructor takes a Func<bool>
But CanExecuteChange might be virtual? So couldn't we be calling a virtual function in the constructor?
 
     
    