TheTalion
@TheTalion

Ошибка: «Отсутствует аргумент, соответствующий требуемому формальному параметру», в чем причина?

В первом файле лежит такой код:
public class PlayerCons
{

	protected Guid m_connectionId;
	protected string m_playerName;

	public Guid ConnectionId { get { return m_connectionId; } }
	public string PlayerName { get { return m_playerName; } }

		public PlayerCons(string _playerName, Guid _connectionId)
	{
		m_playerName = _playerName;
		m_connectionId = _connectionId;
	}
}

В другом, такой:
public static void Msg_ws(string message, SomeInterface connection,List<PlayerCons> Connects)
		{
			string[] splitMessage = message.Split(':');

			switch (splitMessage[0])
			{
				case "MyName": SetName(splitMessage,Connects,connection); break;
			}

public static void SetName(string[] splitMessage, List<PlayerCons> Connects, SomeInterface connection)
		{
			var Id = connection.Id;
			string _name = splitMessage[1];
			Connects.Add(new PlayerCons { _playerName = _name, _connectionId = Id });
			//ошибки:
			//PlayerCons не содержит определение для "_playerName"
			//PlayerCons не содержит определение для "_connectionId"
			//Отсутствует аргумент, соответствующий требуемому формальному параметру "_playerName" из "PlayerConnect.PlayerConnect(string, Guid)".
		}

А в основном файле создается такой экземпляр листа:
public static void Main(string[] args)
		{
			var m_playerCons = new List<PlayerCons>();
		}

Ошибку изучил, но она зачастую относится к проблеме при наследование классов, но я-то ничего тут не наследую, а ошибка возникает почему-то. Как решить?
P.S. если подобную операцию делаю напрямую, не с помощью сторонних методов, то все работает, а с методами какая-то неизвестная для меня ошибка.
  • Вопрос задан
  • 9532 просмотра
Пригласить эксперта
Ответы на вопрос 2
@Got_Oxidus
Учусь
new PlayerCons( _name, Id)
или
new PlayerCons() {PlayerName = _name, ConnectionId = Id}
Ответ написан
ImmortalCAT
@ImmortalCAT
C# loving
У вас 1 конструктор, с указанной перегрузкой
добавьте
public PlayerCons(){}
и
new PlayerCons { _playerName = _name, _connectionId = Id }

или пишите
new PlayerCons( _name, Id)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы