小编Sil*_*Sin的帖子

C# 在属性类上使用 [System.Diagnostics.Conditional] 属性实际上会做什么

我知道在方法上使用条件属性已经有一段时间了,但我刚刚发现它也可以在属性类上使用,所以我编写了一些代码来测试它,但它没有按预期执行。

此 MSDN 页面显示了如何在页面底部的属性类上使用条件属性:https ://msdn.microsoft.com/en-us/library/4xssyw96%28v=vs.90%29.aspx 。

顺便说一句,我正在使用 Unity 引擎。我认为这不重要,但我猜可能是这样。

这是我写的测试代码:

using System.Reflection;
using UnityEngine;

[System.Diagnostics.Conditional("UNITY_EDITOR")]
public class TestAttribute : System.Attribute
{
    public string text;

    public TestAttribute(string text)
    {
        this.text = text;
    }
}

public class NewBehaviourScript : MonoBehaviour
{
    [Test("This shouldn't exist on android")]
    public void Awake()
    {
#if UNITY_EDITOR
        Debug.Log("This only gets logged in the Unity Editor, not in an Android build");
#endif

        Debug.Log("Begin Attribute Test");
        {
            object[] attributes = typeof(NewBehaviourScript).GetMethod("Awake").GetCustomAttributes(true);
            for (int i = 0; i < …
Run Code Online (Sandbox Code Playgroud)

c# unity-game-engine

2
推荐指数
1
解决办法
6728
查看次数

标签 统计

c# ×1

unity-game-engine ×1