У меня проблемы с вызовом статического метода из другого метода.
Мой статический метод находится в отдельном проекте, но я проверил ссылки и операторы использования, и все кажется правильным. Ниже приведена упрощенная версия.
Статический метод
namespace Backend
{
static public class StartUpChecks
{
public static void RunAtStart()
{
// Calls other static methods and sets application settings
}
}
}
Форма Windows
using Backend;
namespace UI
{
public partial class mainForm:Form
{
public mainForm()
{
InitializeComponent();
}
private void mainForm_Load(object sender, EventArgs e)
{
//MessageBox.Show("It Works");
StartUpChecks.RunAtStart();
}
}
}
Когда я запускаю программу, она просто останавливается. Я установил точку останова на обработчике событий OnLoad, но он никогда не срабатывает. Если я комментирую MessageBox и комментирую, вызов метода вызывает событие, и появляется окно сообщения.
У меня нет ошибок в VS. Я попытался создать другой метод, Test (), и переместил StartUpChecks.RunAtStart () в него. Затем я помещаю вызов Test () после MessageBox. Событие возникает, отображается окно сообщения, но оно не переходит к методу Test ().
Кроме того, в VS при отладке я не могу перезапустить процесс и не могу ни к чему не переходить.
Есть идеи, что я сделал не так?
EDIT ---
Полный статический класс
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DataSourceManager;
using UserValidator;
namespace Backend
{
static public class StartUpChecks
{
public static void RunAtStart()
{
CheckUserAuthorised();
CheckUserAdmin();
SetConnection("myApplication");
}
private static void SetConnection(string appName)
{
AppControl.Connection = ConnectionSetter.SetConnectionString(appName);
}
private static void CheckUserAuthorised()
{
UserValidation checkMe = new UserValidation(AppControl.Connection);
AppControl.UserIsAuthorised = checkMe.UserIsAuthorised();
}
private static void CheckUserAdmin()
{
UserValidation checkMe = new UserValidation(AppControl.Connection);
AppControl.UserIsAdmin = checkMe.UserIsAdmin();
}
}
}