我试图将此代码用于NET.reflector.使用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;
}
}
Run Code Online (Sandbox Code Playgroud)
}
但是当我尝试编译时它给了我一个错误:
Line: 1 Column: 1 Error Number: CS0116 Error Message: "A namespace does not directly contain members such as fields or methods"
Run Code Online (Sandbox Code Playgroud)
我认为这是Unity代码.我不是那么有经验的.任何人都能解决这个问题吗?或者告诉我该怎么做?谢谢.
我需要添加和/或修改配置文件,以允许在PCL中共享更多的类和成员(其中许多是内置于框架中的,如Thread.Sleep).最好的方法是什么?有什么工具可以帮助吗?
PS:我不是在寻求告诉我不要或停止.我想拥有可以在不同环境中共享的一次编译DLL.没有每个平台的二进制文件,没有重新编译,没有ifdef.
以下是我到目前为止所得到的:
需求:
PCL配置文件:在Reference Assemblies\Microsoft\Framework.NETPortable下:
定制尝试#1
定制尝试#2
定制尝试#3
定制尝试#4
我刚刚安装了 reflexil v2.0 插件,但是当我在突出显示一个方法后单击它时,它只显示 3 个子菜单:删除、重命名、更新反射器对象模型......我没有看到另存为、注入菜单..谁能帮我解决这个问题?
可能的重复:
从 jar 文件更改类的代码
我从 .Net 那里得到了这个,那里有 Reflector 和 Reflexil,使我能够打开程序集并编辑其代码,而无需重新编译它。我做了一些研究,发现了 jd-gui,它可以让我查看 jar 内的 java 代码,但我找不到任何类似于 reflexil 的东西。
有没有什么软件可以让我修改 jar 而不必重新编译它们?