ylbtech-LanguageSamples-ConditionalMethods(条件方法)

ylbtech-Microsoft-CSharpSamples:ylbtech-LanguageSamples-ConditionalMethods(条件方法)

 

1.A,示例(Sample) 返回顶部

“条件方法”示例

本示例演示了条件方法,它们提供一种功能强大的机制,通过它可以根据是否定义了符号来包括或省略方法调用。

安全说明

提供此代码示例是为了阐释一个概念,它并不代表最安全的编码实践,因此不应在应用程序或网站中使用此代码示例。对于因将此代码示例用于其他用途而出现的偶然或必然的损害,Microsoft 不承担任何责任。

在 Visual Studio 中生成并运行“条件方法”示例

  1. 在“解决方案资源管理器”中,右击该项目并单击“属性”。

  2. 打开“配置属性”文件夹并单击“调试”。

  3. 将“命令行参数”属性设置为“A B C”(不带引号)。

  4. 在“配置属性”文件夹中,单击“生成”。

  5. 修改“条件编译常量”属性(例如,添加或删除 DEBUG),然后单击“确定”。

  6. 在“调试”菜单中,单击“开始执行(不调试)”。

从命令行生成并运行“条件方法”示例

  • 若要包括条件方法,请在命令提示符处键入以下内容,以编译和运行此示例程序:

    csc CondMethod.cs tracetest.cs /d:DEBUG
    tracetest 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:DEBUG
using System; 
using System.Diagnostics;
namespace TraceFunctions 
{
   public class Trace 
   { 
       [Conditional("DEBUG")] 
       public static void Message(string traceMessage) 
       { 
           Console.WriteLine("[TRACE] - " + traceMessage); 
       } 
   } 
}
View Code

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 C
using 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"); 
   } 
}
View Code

1.B.3,

1.C,下载地址(Free Download)返回顶部
warn 作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/ylbtech/p/4196986.html