ylbtech-Microsoft-CSharpSamples:ylbtech-LanguageSamples-ConditionalMethods(条件方法) |
1.A,示例(Sample) |
“条件方法”示例
本示例演示了条件方法,它们提供一种功能强大的机制,通过它可以根据是否定义了符号来包括或省略方法调用。
安全说明 |
---|
提供此代码示例是为了阐释一个概念,它并不代表最安全的编码实践,因此不应在应用程序或网站中使用此代码示例。对于因将此代码示例用于其他用途而出现的偶然或必然的损害,Microsoft 不承担任何责任。 |
在 Visual Studio 中生成并运行“条件方法”示例
-
在“解决方案资源管理器”中,右击该项目并单击“属性”。
-
打开“配置属性”文件夹并单击“调试”。
-
将“命令行参数”属性设置为“A B C”(不带引号)。
-
在“配置属性”文件夹中,单击“生成”。
-
修改“条件编译常量”属性(例如,添加或删除 DEBUG),然后单击“确定”。
-
在“调试”菜单中,单击“开始执行(不调试)”。
从命令行生成并运行“条件方法”示例
-
若要包括条件方法,请在命令提示符处键入以下内容,以编译和运行此示例程序:
csc CondMethod.cs tracetest.cs /d:DEBUGtracetest A B C
1.B,示例代码(Sample Code) |
1.B.1, CondMethod.cs
// 版权所有(C) Microsoft Corporation。保留所有权利。// 此代码的发布遵从// Microsoft 公共许可(MS-PL,http://opensource.org/licenses/ms-pl.html)的条款。////版权所有(C) Microsoft Corporation。保留所有权利。// CondMethod.cs// 编译时使用:/target:library /d:DEBUGusing System; using System.Diagnostics;namespace TraceFunctions { public class Trace { [Conditional("DEBUG")] public static void Message(string traceMessage) { Console.WriteLine("[TRACE] - " + traceMessage); } } }
1.B.2, tracetest.cs [Main]
// 版权所有(C) Microsoft Corporation。保留所有权利。// 此代码的发布遵从// Microsoft 公共许可(MS-PL,http://opensource.org/licenses/ms-pl.html)的条款。////版权所有(C) Microsoft Corporation。保留所有权利。// TraceTest.cs// 编译时使用:/reference:CondMethod.dll// 参数:A B Cusing System; using TraceFunctions; public class TraceClient { public static void Main(string[] args) { Trace.Message("Main Starting"); if (args.Length == 0) { Console.WriteLine("No arguments have been passed"); } else { for( int i=0; i < args.Length; i++) { Console.WriteLine("Arg[{0}] is [{1}]",i,args[i]); } } Trace.Message("Main Ending"); } }
1.B.3,
1.C,下载地址(Free Download) |
作者:出处:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 |