Ich bin in einem Reflexionsproblem kämpfen, eigentlich bin ich mir nicht sicher, ob es ein Reflexionsproblem ist, aber die Situation ist unten gezeigt.Wie verwenden Sie die Funktionen einer Variablen, indem Sie den gleichen String-Namen anstelle des Variablennamens verwenden?
In Bildklasse haben wir "sprite" propety, die wir nennen können. Ist es möglich, etwas wie "temp.sprite" anstatt "IMG1.sprite" zu verwenden?
public Sprite newSprite;
IMG1.sprite = newSprite;
Änderung
temp.sprite = newSprite;
Vielen Dank.
Anstatt eine Zeichenfolge (für Temp) zu verwenden, müssten Sie eine 'MyClass' (für Temp) erstellen, die eine 'Sprite'-Eigenschaft enthält. Sie können dann 'MyClass.ToString()' überschreiben, um die Zeichenfolge so zu komponieren, wie sie zusammengesetzt werden soll. Dies ist jedoch ein relativ umständlicher Ansatz; welches für Ihren Fall völlig übertrieben sein kann. Wenn Sie etwas angeben, was Sie insgesamt erreichen möchten; Wir können Ihnen eine genauere Antwort geben, die Overkill vermeidet. – Flater
'Temp' ist eine Zeichenkette und hat nicht die 'Sprite'-Eigenschaft, also ** No **. Ich denke du solltest erklären warum und was genau du machst. Dies wird so vielen Menschen helfen, Ihre Frage zu beantworten. – Programmer