C#中#define的目的究竟是什么?
我目前使用https://github.com/citrix/ShareFile-NET
中的ShareFile .NET API开发应用程序然而,样本没有运行,因为我要调用的函数在这个块中:
#if Async
#endif
我知道我能做到
#define Async
位于文件的顶部,但我是否必须为每个在#if块中具有功能的文件执行此操作?这是什么目的?
答案 0 :(得分:7)
我是否必须为每个文件执行此操作?
没有。您可以将symbols(“定义”)传递给编译器。使用Visual Studio,您可以在项目级别设置Project -> Properties -> Build -> Conditional compilation symbols
。
使用命令行C#编译器(csc),您可以使用/ define:标志,使用其他IDE或编译器时,请参阅其文档。