GetOptTester.cs
上传用户:huiyue
上传日期:2022-04-08
资源大小:1429k
文件大小:2k
源码类别:

搜索引擎

开发平台:

ASP/ASPX

  1. using System;
  2. using System.Collections;
  3. using Mono.GetOptions;
  4. namespace GetOptTest
  5. {
  6. class GetOptTestOptions : Options
  7. {
  8. [Option(3, "Just a testing Parameter", 'p')]
  9. public string[] param = new string[] { "Default value" };
  10. [Option("Just a boolean testing parameter", 't')]
  11. public bool turnItOn = false;
  12. private bool verboseOn = false;
  13. [Option("Be verbose", 'v')]
  14. public bool verbose
  15. {
  16. set 
  17. verboseOn = value; 
  18. Console.WriteLine("verbose was set to : " + verboseOn);
  19. }
  20. }
  21. [Option(-1, "Execute a test routine", 's', null)]
  22. public WhatToDoNext simpleProcedure(int dids)
  23. {
  24. Console.WriteLine("Inside simpleProcedure({0})", dids);
  25. return WhatToDoNext.GoAhead;
  26. }
  27. [Option("Show usage syntax", 'u', "usage")]
  28. public override WhatToDoNext DoUsage()
  29. {
  30. base.DoUsage();
  31. return WhatToDoNext.GoAhead; 
  32. }
  33. public override WhatToDoNext DoHelp() // uses parent's OptionAttribute as is
  34. {
  35. base.DoHelp();
  36. return WhatToDoNext.GoAhead; 
  37. }
  38. public GetOptTestOptions()
  39. {
  40. this.ParsingMode = OptionsParsingMode.Both;
  41. }
  42. }
  43. /// <summary>
  44. /// Summary description for GetOptTester.
  45. /// </summary>
  46. class GetOptTester 
  47. {
  48. /// <summary>
  49. /// The main entry point for the application.
  50. /// </summary>
  51. [STAThread]
  52. static void Main(string[] args)
  53. {
  54. Console.WriteLine("------------ Original 'args'");
  55. for(int i = 0; i < args.Length; i++)
  56. Console.WriteLine("args[{0}] = "{1}"",i,args[i]);
  57. Console.WriteLine("----------------------------------------");
  58. Console.WriteLine("------------ GetOptions Processing");
  59. GetOptTestOptions options = new GetOptTestOptions(); 
  60. options.ProcessArgs(args);
  61. Console.WriteLine("----------------------------------------");
  62. Console.WriteLine("------------ Results");
  63. if (options.param != null)
  64. {
  65. Console.WriteLine("Parameters supplied for 'param' were:");
  66. foreach (string Parameter in options.param)
  67. Console.WriteLine("t" + Parameter);
  68. }
  69. for(int i = 0; i < options.RemainingArguments.Length; i++)
  70. Console.WriteLine("remaining args[{0}] = "{1}"",i,options.RemainingArguments[i]);
  71. Console.WriteLine("----------------------------------------");
  72. }
  73. }
  74. }