webentwicklung-frage-antwort-db.com.de

"Ein Namespace kann keine Elemente wie Felder oder Methoden direkt enthalten" in Net.Reflector

Ich versuche, diesen Code für NET.reflector zu verwenden. Mit Reflexil versuche ich, Code durch diesen zu ersetzen,

if(Input.GetKeyDown(KeyCode.Keypad5)) { 
int i = 0; 
Character localPlayer = PlayerClient.GetLocalPlayer().controllable.GetComponent<Character>(); 
foreach (UnityEngine.Object obj2 in UnityEngine.Object.FindObjectsOfType(typeof(LootableObject))) 
{ 
    if (obj2 != null) 
    { 
        i++; 
        LootableObject loot = (LootableObject) obj2; 
        Debug.Log("Loot "+i+": "+loot.transform.position.ToString()); 
        CCMotor ccmotor = localPlayer.ccmotor; 
        if(ccmotor != null && tpPos1 != Vector3.zero) { 
            ccmotor.Teleport(loot.transform.position); 
            Notice.Popup("", "Teleported to "+loot.name, 1.5f); 
        } 
        break; 
    } 
} 

}

Aber es gibt mir einen Fehler, wenn ich versuche zu kompilieren:

Line: 1 Column: 1 Error Number: CS0116  Error Message: "A namespace does not directly contain members such as fields or methods"

Das ist Unity Code, denke ich. Ich bin nicht so erfahren. Könnte jemand das für mich reparieren? Oder sag mir was zu tun ist? Vielen Dank.

53
user3204732

Das von Ihnen angezeigte Snippet scheint nicht direkt für den Fehler verantwortlich zu sein.

So können Sie den Fehler verursachen:

namespace MyNameSpace
{
   int i; <-- THIS NEEDS TO BE INSIDE THE CLASS

   class MyClass
   {
      ...
   }
}

Wenn Sie nicht sofort sehen, was sich "außerhalb" der Klasse befindet, liegt dies möglicherweise an verlegten oder zusätzlichen schließenden Klammern }.

100
G. Stoynev