peachplayer Geschrieben 9. Juli 2021 Melden Share Geschrieben 9. Juli 2021 Hallo Leute Ich versuche mit folgendem Code auf die Liste eines anderen Scripts zuzugreifen, leider funktioniert das bisher nicht: if (Nummer == index_berechnen(Parzellenname) && Datum1.Year == 2018 + index2) { var component = content.GetComponent<rotate_object1>(); foreach (Inventory2 item1 in component.liste1) { if (item1.Maschinenname == "Düngerstreuer" && item1.Menge >= 1) liste1.Add(neuerEintrag = new Dünger { Nummer = Nummer, Parzellenname = Parzellenname, Erlös = Erlös, Fläche = Fläche, Menge = Menge, Kosten = Kosten, Düngersorte = Düngersorte, Kultur = Kultur, Datum = Datum }); } return neuerEintrag; } } Kann mir jemand helfen? Gruss, peachplayer Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 9. Juli 2021 Melden Share Geschrieben 9. Juli 2021 Komm schon, du hast 220 Beiträge. So langsam solltest du mitgekriegt haben, dass "funktioniert nicht" einfach nicht ausreicht, um dir zu helfen. Also dieselben Fragen wie jedes Mal. Was sollte passieren? Was passiert stattdessen? Gibt es Fehlermeldungen? Ich sehe ansonsten, dass du einmal von "component.liste1" redest und drunter von "liste1". Wenn du damit dieselbe Liste meinst, sollte da auch dasselbe stehen. Davon abgesehen darfst du eine Sammlung nicht ändern, während du mit foreach drüber iterierst. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
peachplayer Geschrieben 9. Juli 2021 Autor Melden Share Geschrieben 9. Juli 2021 danke für den Tipp! Es kommt jetzt eigentlich gar keine Fehlermeldung mehr sondern es wird einfach kein neuer Eintrag gemacht. Der Code sieht folgendermassen aus: if (Nummer == index_berechnen(Parzellenname) && Datum1.Year == 2018 + index2) { var component = content.GetComponent<rotate_object1>(); foreach (Inventory2 item1 in component.liste4) { if (item1.Maschinenname == "Tracktor" && item1.Menge >= 1) liste1.Add(neuerEintrag = new Dünger { Nummer = Nummer, Parzellenname = Parzellenname, Erlös = Erlös, Fläche = Fläche, Menge = Menge, Kosten = Kosten, Düngersorte = Düngersorte, Kultur = Kultur, Datum = Datum }); } return neuerEintrag; } } Gruss, peachplayer Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
peachplayer Geschrieben 9. Juli 2021 Autor Melden Share Geschrieben 9. Juli 2021 eine fehlermeldung gibt es nicht! Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 9. Juli 2021 Melden Share Geschrieben 9. Juli 2021 Das Script, das du bisher gepostet hast, sieht nicht nach "rotate_object1" aus. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
peachplayer Geschrieben 9. Juli 2021 Autor Melden Share Geschrieben 9. Juli 2021 warum? Das ist doch gerade das andere Script auf deren liste ich zugreifen möchte! Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
peachplayer Geschrieben 9. Juli 2021 Autor Melden Share Geschrieben 9. Juli 2021 ich wollte das Problem eigentlich mit einer statischen Klasse lösen, jedoch kommt dann eine Fehlermeldung wegen unerlaubtem Zugriff. Gruss, peachplayer Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 9. Juli 2021 Melden Share Geschrieben 9. Juli 2021 Wenn der Fehler in Code A passiert, solltest du auch Code A posten, und nicht Code B, auch wenn Code B auf Code A zugreift. Der Fehler passiert nämlich nicht in dem Code, den du gepostet hast. Was bringt mir also dieser Code? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
chrische5 Geschrieben 9. Juli 2021 Melden Share Geschrieben 9. Juli 2021 Hallo Was sagt denn der Debugger? Breakpoint rein und dann schön Schritt für Schritt. Gibt es überhaupt Elemente in liste4? Wird die Bedingung bei if erfüllt? Wird Dünger angelegt? Das kannst du ja alles entspannt testen und uns dann sagen. Btw: Du solltest über die Benennung deiner Variablen nachdenken. Ich denke bei liste4 gleich an eine List<> und dann eher an einen sinnvollen Namen und Zugriff über einen Index. Christoph Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
peachplayer Geschrieben 9. Juli 2021 Autor Melden Share Geschrieben 9. Juli 2021 meine Frage: ist es grundsätzlich überhaupt möglich von Skript A auf ein Listen-Objekt in Skript B zuzugreifen? Oder muss man zuerst via .XML abspeichern? Gruss, peachplayer Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
chrische5 Geschrieben 9. Juli 2021 Melden Share Geschrieben 9. Juli 2021 Hallo Natürlich ist das möglich. Entweder machst du es public oder eben per getter und setter. Ist am Ende ja einfach nur eine Variable. Christoph Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
peachplayer Geschrieben 9. Juli 2021 Autor Melden Share Geschrieben 9. Juli 2021 habe gelesen, dass statische Klassen nicht instanziert werden können. Wie soll man dann auf eine liste zugreifen können? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
chrische5 Geschrieben 10. Juli 2021 Melden Share Geschrieben 10. Juli 2021 Hallo Indem du den Klassennamen und den Methodennamen kombinierst: Foo.Test(); Aber warum willst du das hier verwenden? Du holst dir doch rotate_object1. Dann kannst du deren Variablen ja zugänglich machen. Christoph Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.