Мне нужно найти всех дочерних элементов узла Godot определенного типа в C# и вернуть их как Godot.Collections.Array. Но кажется, что использование Generics с Array невозможно (или, может быть, я не знаю, как это сделать). Вот две попытки, которые я сделал, обе не сработали:
1:
Код: Выделить всё
public static Array GetChildren(Node _node) where T : Node
{
return _node.GetChildren().Where(x => x is T).ToArray();
}
что приводит к этой ошибке: «Неуниверсальный тип «Массив» нельзя использовать с аргументами типа»
2:
Код: Выделить всё
public static Array GetChildren(Node _node) where T : Node
{
var foundNodes = _node.GetChildren();
var results = new Godot.Collections.Array();
foreach (var nd in foundNodes)
if (nd is T) results.Add(nd as T);
return foundNodes;
}
что дает мне эту ошибку: «Невозможно неявно преобразовать тип 'Godot.Collections.Array' в 'System.Array'»
Подробнее здесь:
https://stackoverflow.com/questions/773 ... in-c-sharp