0

Привет, друзья. Надеюсь Вы мне поможете, потому что я только начинающий в C#.

Вот тут я добавляю в свой List данные:

CharacterController.cs
public class CharacterController
{
List<Character> Characters = new List<Character>();
  foreach (var character in characters)
  {
    Characters.Add(new Character
      {
        Name = character.Name,
        Surname = character.Surname,
        RegistrationIp = character.RegistrationIp,
        CurrentIp = character.CurrentIp,
        RegistrationDate = character.RegistrationDate,
        LastLoginDate = character.LastLoginDate
      }
    );
  }

Если я вызываю в этом же файле, то всё работает.

Console.WriteLine(Characters[0].Name + Characters[0].Surname);

Но если я вызываю в другом файле, то пишет ошибку.

Ссылка на объект не указывает на экземпляр объекта.

Вызываю в другом файле я так:

Console.WriteLine(CharacterController.Characters[0].Name + CharacterController.Characters[0].Surname);

Полный код класса CharacterController:

public class CharacterController
{
public static List<Character> Characters { get; set; }

public static async Task LoadCharacterData(Client player)
{
  var filter = new BsonDocument("SocialClubName", player.socialClubName);
  var characters = await DatabaseManager.Characters.Find(filter).ToListAsync();

  List<Character> Characters = new List<Character>();
  foreach (var character in characters)
  {
    Characters.Add(new Character
      {
        Name = character.Name,
        Surname = character.Surname,
        RegistrationIp = character.RegistrationIp,
        CurrentIp = character.CurrentIp,
        RegistrationDate = character.RegistrationDate,
        LastLoginDate = character.LastLoginDate
      }
    );
  }

  Console.WriteLine("TEST: " + Characters[0].Name + Characters[0].Surname);
}
Joseph
  • 7

1 Answers1

0

Что бы работал твой вариант:

public class CharacterController
{
    public static List<Character> Characters = new List<Character>();
    ...
}
Valera Kvip
  • 2,677