Jen*_*nix 5 c# mono conditional unity-game-engine
[EDIT] 对于由于某种原因浏览此页面的人,现在情况已经改变。从Unity 2017开始,无论文件位置如何,都必须在两个文件(被调用方和调用方)中定义相同的符号。以下是Unity 2017之前的问题。我将保留此记录。
在标准C#中,如果要调用具有条件属性的方法,则必须在方法为CALLED的文件中为其定义符号。但是在Unity中,这似乎有所不同。仅当我将行放在方法EXISTS的文件中时,它才起作用。假设这样的Unity项目中有两个脚本文件。
ClassForMySymbol.cs
class ClassForMySymbol {
[System.Diagnostics.Conditional("MY_SYMBOL")]
public static void Print() {
Debug.Log ("This method is called.");
}
}
Run Code Online (Sandbox Code Playgroud)
Test.cs
public class Test : MonoBehaviour {
void Start() {
ClassForMySymbol.Print();
}
}
Run Code Online (Sandbox Code Playgroud)
这仅在我在ClassForMySymbol.cs中定义“ MY_SYMBOL” 而不在Test.cs中定义时有效。
我不知道发生了什么事。这正常吗?我在这里想念什么?
PS。这个问题与#define的范围或定义全局符号无关。
| 归档时间: |
|
| 查看次数: |
754 次 |
| 最近记录: |