"Пространство имен не может непосредственно содержать такие члены, как поля или методы" в Сети.Отражатель [закрыт]
Я пытаюсь использовать этот код для NET.отражатель. Используя Reflexil, я пытаюсь заменить код этим,
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;
}
}
}
но это дает мне ошибку, когда я пытаюсь скомпилировать:
Line: 1 Column: 1 Error Number: CS0116 Error Message: "A namespace does not directly contain members such as fields or methods"
это код единства, я думаю. У меня нет такого опыта. Кто-нибудь может это исправить? Или сказать мне, что делать? Спасибо.
1 ответов
фрагмент, который вы показываете, похоже, не несет прямой ответственности за ошибку.
вот как вы можете вызвать ошибку:
namespace MyNameSpace
{
int i; <-- THIS NEEDS TO BE INSIDE THE CLASS
class MyClass
{
...
}
}
Если вы не сразу видите, что находится " вне " класса, это может быть связано с неуместной или дополнительной закрывающей скобкой(скобками) }
.