Предисловие: я очень новичок в генериках, извините, если это действительно основной вопрос ... < /p>
У меня есть класс, mpepathfinding, что я хочу создать сетку ( Пользовательский класс, а не встроенный единство) объектов mpepathnode. Но когда я пытаюсь, я продолжаю получать следующую ошибку: < /p>
делегировать 'func
' не принимает 3 аргумента < /p>
< /blockquote>
Вот mpepathfinding, где я получаю ошибку: < /p>
public MPEPathfinding(int width, int height)
{
grid = new Grid(width, height, 1f, Vector3.zero, (Grid g, int x, int y) => new MPEPathNode(g, x, y));
}
< /code>
А вот и mpepathnode, который я пытаюсь использовать для заполнения сетки: < /p>
public MPEPathNode (Grid grid, int x, int y)
{
this.grid = grid;
this.x = x;
this.y = y;
}
< /code>
Наконец, вот конструктор сетки, который я использую: < /p>
public Grid(int width, int height, float cellSize, Vector3 originPosition, Func createGridObject)
{
this.width = width;
this.height = height;
this.cellSize = cellSize;
this.originPosition = originPosition;
gridArray = new TGridObject[width, height];
for (int x = 0; x < gridArray.GetLength(0); x++)
{
// other code
}
}
< /code>
Как я уже сказал, я очень новичок в этом материале, но, насколько я могу судить, у меня есть 3 аргумента в объявлении метода, так что это должно работать ...? Я создал это, следуя учебному пособию на YouTube, пытаясь понять все, когда я ухожу, но этот оторван. Мой код выглядит идентично учебному пособию (четырехкратный проверял его). Любая помощь была бы очень оценена! Я также рассмотрел несколько вопросов, заданных здесь, которые включали этот код ошибки или аналогичный, и не нашел ни одного, который помогает. p>
Таким образом, идея заключалась в том, чтобы передать каждому mpepathnode ссылку на сетку и ее местоположение в ней, как она создана. Это был случай, когда я не понимал выражения Lambda, и мне все еще есть чему узнать, по -видимому, но ... решение этой непосредственной проблемы состояло в том, чтобы изменить декларацию фан -конструктора сетки, чтобы взять 3 аргументы:
public Grid(int width, int height, float cellSize, Vector3 originPosition, Func createGridObject)
< /code>
Спасибо за помощь! Надеюсь, кто -то еще может найти это полезным в будущем.
Подробнее здесь: https://stackoverflow.com/questions/794 ... e-3-argume
Почему я получаю эту ошибку: делегировать 'func ' не принимает 3 аргумента ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Почему я получаю эту ошибку: делегировать 'func
' не принимает 3 аргумента
Anonymous » » в форуме C# - 0 Ответы
- 5 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Почему вызов неоднозначен между Task.Run
(Func ) и Task.Run(Func ) при передаче имени метода
Anonymous » » в форуме C# - 0 Ответы
- 95 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Почему я получаю исключение NullReferenceException при использовании (), но не без () в Func
?
Anonymous » » в форуме C# - 0 Ответы
- 30 Просмотры
-
Последнее сообщение Anonymous
-