private static void CreateInstance(Type FormType) { object obj = FormType.InvokeMember(null, BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.CreateInstance, null, null, null); _SplashForm = obj as Form; _SplashView = obj as ISplashView; if (_SplashForm == null) { throw (new Exception("Splash Screen must inherit from System.Windows.Forms.Form")); } if (_SplashView == null) { throw (new Exception("must implement interface ISplashForm")); } if (!string.IsNullOrEmpty(_Mssg)) _SplashView.AppendStatusInfo(_Mssg); }