private void SaveStore(string fileName)
{
  try
  {
    if (File.Exists(fileName))
      File.Delete(fileName);

    using (XmlTextWriter writer =
       new XmlTextWriter(fileWame, Encoding.UTF8))
    {
      _Serializer.Serialise (writer, _Users);
    }
  }
  catch (Exception ex)
  {
    throw new Exception(
      string.Format ("Unable to, save file {0}", fileName), ex) ;
  }
}

Обе функции являются приватными, поскольку вызываются только изнутри самого класса. Метод LoadStore() вызывается внутри конструктора класса UserStore. В этом методе инициализируется приватная переменная _Users. Каждый последующий запрос обращается к коллекции _Users класса хранилища. С другой стороны, метод SaveStore() просто сериализует коллекцию _Users в файл, специфицированный в приватной переменной-члене _FileName, которая передается через конструктор (и непрямо — через статический метод GetStore()). И в заключение, класс поддерживает пару методов для опроса информации из коллекции _Users.

public List<SimpleUser> Users
{
  get { return _Users; }
}

public void Save()
{
  SaveStore(_FileName);
}

public SimpleUser GetUserByName(string name)
{
  return _Users.Find(delegate(SimpleDser user)
  {
    return string.Equals (name, user.UserName);
  });
}

public SimpleUser GetUserByEmail(string, email)
{
  return _Users.Find(delegate(SimpleUser user)
  {
    return string.Equals(email, user.Email);
  });
}

предыдущая    следующая страница    вначало главы    оглавление

1031

Hosted by uCoz