コード例 #1
0
        /// <summary>
        /// Initialise the ExceptionReporter
        /// <remarks>readConfig() should be called (explicitly) if you need to override default config settings</remarks>
        /// </summary>
        public ExceptionReporter()
        {
            var callingAssembly = Assembly.GetCallingAssembly();

            _reportInfo = new ExceptionReportInfo
            {
                AppAssembly = callingAssembly
            };

            _viewResolver          = new ViewResolver(callingAssembly);
            _internalExceptionView = ViewFactory.Create <IInternalExceptionView>(_viewResolver);
        }
コード例 #2
0
        public static T Create <T>(ViewResolver viewResolver, ExceptionReportInfo reportInfo) where T : class
        {
            if (SyncUi.InvokeRequired)
            {
                return((T)SyncUi.Invoke(new Func <ViewResolver, ExceptionReportInfo, T>(Create <T>), viewResolver, reportInfo));
            }

            var view = viewResolver.Resolve <T>();

            var constructor = view.GetConstructor(new[] { typeof(ExceptionReportInfo) });
            var newInstance = constructor.Invoke(new object[] { reportInfo });

            return(newInstance as T);
        }
コード例 #3
0
 public static T Create <T>(ViewResolver viewResolver) where T : class
 {
     return(Activator.CreateInstance(viewResolver.Resolve <T>()) as T);
 }