Как создать глобального пользователя в приложении C # WinForms (учетные данные)? - PullRequest
0 голосов
/ 07 сентября 2018

У меня есть форма входа пользователя с именем пользователя и паролем - я хочу сохранить их глобально, чтобы они были доступны после входа в систему.Я пытаюсь сделать это с помощью следующего кода:

 namespace PassManager
    {
      struct SesUser
        {
            int id;
            string username;
            string password;
        }
       public class US
        {
            SesUser uu;
        }

    }

Я пытаюсь объявить public class только с одним членом SesUser, и я хочу получить доступ к этому пользователю во всех моих cs файлах.Я хотел бы спросить, является ли это правильным способом или есть лучшие способы выполнить эту задачу?

Ответы [ 3 ]

0 голосов
/ 07 сентября 2018

Сделайте ваш класс US статическим, и вы сможете получить к нему доступ из любого места:

public static class US
{
    public static SesUser uu { get; set; }
}

Затем вы можете получить к нему доступ:

US.uu

Е.Г.

System.Diagnostics.Debug.WriteLine($"{US.uu.id} {US.uu.username} {US.uu.password}");
0 голосов
/ 07 сентября 2018

Перейдите на Project > Add Item > Class и назовите его CurrentUser

Тогда внутри него создайте public static parameters

Static создает объект, который доступен через само имя класса (не объект, созданный из класса)

Итак, пример класса CurrentUser такой:

public static class CurrentUser
{
    public static string Name; //Accessible with CurrentUser.Name
    public static string FamilyName; //Accessible with CurrentUser.FamilyName
    public static int Age; //Accessible with CurrentUser.Age

    public bool initialized = false //Accessible only through object which is created using CurrentUser

}

Так что теперь вы можете получить доступ к первым 3 переменным из любого класса в пределах одного namespace следующим образом:

public class SomeRandomClass
{
    string ThisUserName = CurrentUser.Name;
    string ThisUserFamilyName = CurrentUser.FamilyName;

    CurrentUser.Age = 15;
}

Статические объекты доступны из любого класса в одном и том же пространстве имен. Изменение статического объекта из одного класса повлияет на этот объект в других классах, поэтому будьте осторожны при внесении изменений.

Более подробную информацию о Access Modifiers можно найти здесь

0 голосов
/ 07 сентября 2018

Вы можете создать один глобальный класс, который будет содержать аутентифицированное имя пользователя, и тогда доступ будет доступен, если имя пользователя этого класса не равно нулю.

или Вы можете обратиться по этой ссылке, предоставленной Microsoft

Как: реализовать вход в систему с помощью клиентских приложений

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...