C#(unity) code geht nicht?

2 Antworten

Dir fehlt ein "using System;"

Zumindest vermute ich das, es gibt zwar die implicit usings (damit könnte man das "using System;" implizit ergänzen lassen, aber das ist ein noch relativ neues Feature, daher kann es sein, dass Unity das noch nicht unterstützt.

Oder TechPech1984 hat Recht und es gibt System.Action in der nicht generischen Form einfach nicht. Doch das halte ich für ziemlich unwahrscheinlich, da es diesen Delegaten seit 14 Jahren gibt, im .NET Standard 1.0 (was Unity meines Wissens nach unterstützt) enthalten ist und es wirklich alles andere als schwer nachzurüsten ist (eine Zeile).

Also füge mal das using hinzu und schau, ob's damit läuft.

Woher ich das weiß:Berufserfahrung – C#.NET Senior Softwareentwickler

Action gibts so nicht , entweder ist es

System.Action 

oder

public static event Action<string>

oder oder oder

namespace UsingAction 

und dann als beispiel :

public Action<int> OnPlayerTookDamage;

https://unity3d.college/2016/10/05/unity-events-actions-delegates/

oder

https://stackoverflow.com/questions/71521660/multi-class-unity-action-events

Palladin007  15.05.2022, 14:05

System.Action gibt es in .NET seit 14 Jahren O.o

Hat Unity tatsächlich so deutlich abweichende Unterschiede in ihrer .NET-Implementierung?

Und wenn Unity .NET Standard unterstützt (was es meine ich tut), müsste es auch ein System.Action kennen.

Oder warum gibt es System.Action nicht?

Auffällig ist auch, dass im Code kein "using System;" steht - es gibt zwar die implicit usings, aber die sind ein noch ziemlich neues Feature, vielleicht unterstützt Unity das noch nicht?

1
TechPech1984  15.05.2022, 14:11
@Palladin007

ich habs auch nur irgendwo gesucht, weder hab ich jemals C# gemacht noch Unity :) lediglich die Fehlermeldung sagt ja das es Action so nicht im namensraum gibt , vielleicht eben weil kein

using System 

aber es gibt Action wohl auch in

UsingAction
0
Palladin007  15.05.2022, 14:16
@TechPech1984

Was soll das "UsingAction" sein?

In deinem ersten Link ist das das Namespace vom Beispiel-Projekt, hier als using also völlig fehl am Platz.

0