除了用预处理指令来控制编译之外,在Unity中可以用Conditional特性来控制编译。

一、使用方法

[Conditional("Debug")]
public static void Logger(string msg)
{Debug.Log(msg);
}

之后在playerSetting/Player/OtherSettings里的Scripting Define Symbols里
添加上Debug字符时(用;号隔开)该方法即被编译。删去的话,这个方法就不会被编译。

[Conditional("Debug1")]
[Conditional("Debug2")]
public static void Logger(string msg)
{Debug.Log(msg);
}

Conditional特性可以重叠,但这个是或的关系,有一个就会被编译。要变成且的关系就要进行嵌套。

[Conditional("Debug1")]
public static void Logger1(string msg)
{Logger2(msg);
}
[Conditional("Debug2")]
public static void Logger2(string msg)
{Debug.Log(msg);
}

二、注意

1)Unity默认有的宏
参看官方文档:
https://docs.unity3d.com/Manual/PlatformDependentCompilation.html
2)Conditional特性只能用于无返回值,无out形参的方法。

unity Conditional特性 总结相关推荐

  1. C# 使用Conditional特性而不是#if条件编译

    概述 #if/#endif 语句常用来基于同一份源码生成不同的编译结果,其中最常见的就是debug版和release版.但是这些工具在实际应用中并不是非常友好,因为它们容易被滥用,其代码页进而难以理解 ...

  2. unity新特性_新的Unity论坛

    unity新特性 We've been talking about new forum software in the works for a while now, this may have see ...

  3. C#基础知识学习——特性(Conditional特性、Obsolete特性、自定义特性)(十六)

    特性:C#特性是指我们可以对类.以及C#程序集中的成员进行进一步的描述,比如我们写一个关于人的类Person,该类可以对人的属性以及某些行为(方法)进行描述.那么如果我们要对人类进行进一步描述呢,比如 ...

  4. C# Conditional 特性

    Conditional 特性简介 Conditional 特性允许我们包括或排斥特定方法的所有调用.为方法声明应用 Conditional 特性并把编译符作为参数来使用. 如果定义了编译符号,那么编译 ...

  5. Conditional 特性的使用

    当调用被[Conditional("预处理符号")]标记为条件的方法时,指定的预处理符号的存在或不存在决定是否包含或省略此调用.如果定义了该符号,则包含调用:否则省略调用.使用 C ...

  6. Unity sortingOrder 特性

    1.同一层 有一个image 和一个粒子 如果 sortingOrder 相同,那么粒子 在image的下面 会被image遮挡 和显示列表顺序无关 2.父的 sortingOrder 会影响所有的c ...

  7. unity hub是什么东西_Unity可编程渲染管线(SRP)教程:一、自定义管线

    本文翻译自Catlike Coding,原作者:Jasper Flick. 本文经原作者授权,转载请说明出处. 原文链接在下: https://catlikecoding.com/unity/tuto ...

  8. Unity 中的 .NET、Mono 和 IL2CPP

    接 上一篇 继续了解,重点是 IL2CPP. 一.Unity 的脚本后端 Unity 使用开源 .NET 平台,以确保使用 Unity 创建的应用程序可以跨平台运行. 脚本后端(scripting b ...

  9. C# 特性(attribute)

    一.什么是特性 特性是一种允许我们向程序的程序集添加元数据的语言结构,它是用于保存程序结构信息的某种特殊类型的类. MSDN中对它的解释是:特性提供功能强大的方法以将声明信息与 C# 代码(类型.方法 ...

最新文章

  1. [Selenium] 操作浏览器 Cookies
  2. [云炬创业基础笔记]第二章创业者测试14
  3. MOCTF-Web-Flag在哪?
  4. 一个学中医女生的保养身体法
  5. Idea Marketplace 加载很慢 加载不出来
  6. 电脑刷机重装系统_一键刷机工具
  7. redis 计数器 java_Redis介绍
  8. 如何快速判断奇数和偶数
  9. 简易的微信公众号管理平台使用指南
  10. Node.js + Web Socket 打造即时聊天程序嗨聊
  11. Day02-HTML基础
  12. 对随机数去重并进行排序 java
  13. RuntimeError: Unsupported: ONNX export of Slice with dynamic inputs. DynamicSlice is a deprecated ex
  14. 时间复杂度与大O记法的理解
  15. 磐石计划(二)——虚拟机win7安装KB4474419和 KB4490628补丁
  16. 12-18-2018学习2.410.6
  17. -[XXXX encodeWithCoder:]: unrecognized selector sent to instance 0x12d931d10
  18. 什么是国际物流专线?国际快递专线又是什么呢?
  19. bzoj刷题(shui)记录
  20. 数据通信初级工程师题库

热门文章

  1. Java中的代理模式
  2. scrolling=no 无法根据坐标获取元素_科曼尼KOMANIE三坐标测量仪命令不执行【维修】北京303所...
  3. python 列表 移除_python:列表中多元素的删除(移除)
  4. kafka 丢弃数据_Kafka快速入门
  5. mysql date 默认值_通过Oracle DB了解MySQL
  6. java annotations详解_Java Annotations详解
  7. mysql 获取每天的日期_mysql中获取一天、一周、一月时间数据的各种sql语句写法...
  8. 支持专业设计师的高端样机素材网
  9. 适合传统节日促销首焦设计的PSD分层模板
  10. 稳妥圣诞节海报设计模板|节日怎可辜负美食