private void Button_Click(object sender, RoutedEventArgs e)
        {
            ulong userInput;

            if (UInt64.TryParse(UserInput.Text, out userInput))
            {
                if ((bool)isPrime.IsChecked)
                {
                    MethodTimerWrapper <bool> isPrimeWrapper = new MethodTimerWrapper <bool>(fAnalysis.IsPrime, userInput);
                    isPrimeWrapper.ExecuteMethod();
                    DataContext = isPrimeWrapper;
                }
                else if ((bool)primeFactors.IsChecked)
                {
                    MethodTimerWrapper <List <ulong> > primeFactorsWrapper = new MethodTimerWrapper <List <ulong> >(fAnalysis.CalculatePrimeFactors, userInput);
                    primeFactorsWrapper.ExecuteMethod();
                    DataContext = primeFactorsWrapper;
                }
                else if ((bool)largestPrime.IsChecked)
                {
                    MethodTimerWrapper <ulong> largestPrimeWrapper = new MethodTimerWrapper <ulong>(fAnalysis.CalculateLargestPrime, userInput);
                    largestPrimeWrapper.ExecuteMethod();
                    DataContext = largestPrimeWrapper;
                    MethodTimerWrapper <ulong> largestPrimeWrapperParallel = new MethodTimerWrapper <ulong>(fAnalysisParallel.CalculateLargestPrime, userInput);
                    largestPrimeWrapperParallel.ExecuteMethod();
                }
            }
        }
 public MainWindow()
 {
     InitializeComponent();
     fAnalysis         = new Analysis();
     fAnalysisParallel = new MultiThreadingAnalysis();
     fWrapper          = new MethodTimerWrapper <ulong>();
 }