public T1 Get <T1>() where T1 : IEnhancedControlBase { T1 control = EnhancedControlBaseFactory.Create <T1>(); var baseControl = Activator.CreateInstance(control.GetBaseType(), new object[] { this.UnWrap() }); control.Wrap(baseControl); return(control); }