Как добавить новый Guid в список строк? - PullRequest
1 голос
/ 19 января 2012

Я получаю сообщение об ошибке "ссылка на объект не установлена ​​на экземпляр ...."Я комментирую строку ...


        public Guid Login(string userName, string password)
        {
            Guid result = new Guid();</p>

<pre><code>        if (!string.IsNullOrEmpty(userName) && !string.IsNullOrEmpty(password))
        {
            userName = userName.Trim();
            password = password.Trim();

            Member member = BusinessDb.LoginDbJobs.GetUser(userName);

            if (member != null && member.PasswordDb == password)
            {
                result = Guid.NewGuid();
                Members.Live.Add(result); //--->Object reference not set to an instance of an object.
            }
        }

        return result;
    }

И член класса является;

<code>
...
    public class Members
    {
        public static List< Guid > Live;
    }
...

Итак, как я могу добавить «новый Guid» в «List Live»?

Спасибо ...

Ответы [ 2 ]

4 голосов
/ 19 января 2012

Я думаю, вы должны использовать:

public class Members
{
    public static List<Guid> Live = new List<Guid>();
}

Вы объявляете Live, но не инициализируете его, поэтому Live равно нулю !!

2 голосов
/ 19 января 2012

Нет никаких признаков того, что вы когда-либо назначали значение своей переменной. Например, вы можете изменить Members на:

public class Members
{
    public static readonly List<Guid> Live = new List<Guid>();
}

Если вы этого не сделаете - и не назначите ему значение в другом месте - оно всегда будет иметь значение null, поэтому вы получаете это исключение.

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

...