CodeArrayCreateExpression.cs 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. //
  2. // System.CodeDom CodeArrayCreateExpression Class implementation
  3. //
  4. // Author:
  5. // Miguel de Icaza ([email protected])
  6. // Daniel Stodden ([email protected])
  7. //
  8. // (C) 2001 Ximian, Inc.
  9. //
  10. using System.Runtime.InteropServices;
  11. namespace System.CodeDom {
  12. [Serializable]
  13. [ClassInterface(ClassInterfaceType.AutoDispatch)]
  14. [ComVisible(true)]
  15. public class CodeArrayCreateExpression
  16. : CodeExpression
  17. {
  18. private CodeTypeReference createType;
  19. private CodeExpressionCollection initializers;
  20. private CodeExpression sizeExpression;
  21. private int size;
  22. //
  23. // Constructors
  24. //
  25. public CodeArrayCreateExpression ()
  26. {
  27. }
  28. public CodeArrayCreateExpression (CodeTypeReference createType,
  29. CodeExpression size )
  30. {
  31. this.createType = createType;
  32. this.sizeExpression = size;
  33. }
  34. public CodeArrayCreateExpression (CodeTypeReference createType,
  35. params CodeExpression[] inializers )
  36. {
  37. this.createType = createType;
  38. this.Initializers.AddRange( initializers );
  39. }
  40. public CodeArrayCreateExpression (CodeTypeReference createType,
  41. int size)
  42. {
  43. this.createType = createType;
  44. this.size = size;
  45. }
  46. public CodeArrayCreateExpression (string createType,
  47. CodeExpression size)
  48. {
  49. this.createType = new CodeTypeReference( createType );
  50. this.sizeExpression = size;
  51. }
  52. public CodeArrayCreateExpression (string createType,
  53. params CodeExpression[] initializers)
  54. {
  55. this.createType = new CodeTypeReference( createType );
  56. this.Initializers.AddRange( initializers );
  57. }
  58. public CodeArrayCreateExpression (string createType,
  59. int size)
  60. {
  61. this.createType = new CodeTypeReference( createType );
  62. this.size = size;
  63. }
  64. public CodeArrayCreateExpression (Type createType,
  65. CodeExpression size)
  66. {
  67. this.createType = new CodeTypeReference( createType );
  68. this.sizeExpression = size;
  69. }
  70. public CodeArrayCreateExpression (Type createType,
  71. params CodeExpression[] initializers)
  72. {
  73. this.createType = new CodeTypeReference( createType );
  74. this.Initializers.AddRange( initializers );
  75. }
  76. public CodeArrayCreateExpression (Type createType,
  77. int size)
  78. {
  79. this.createType = new CodeTypeReference( createType );
  80. this.size = size;
  81. }
  82. //
  83. // Properties
  84. //
  85. public CodeTypeReference CreateType {
  86. get {
  87. return createType;
  88. }
  89. set {
  90. createType = value;
  91. }
  92. }
  93. public CodeExpressionCollection Initializers {
  94. get {
  95. if ( initializers == null )
  96. initializers = new CodeExpressionCollection();
  97. return initializers;
  98. }
  99. }
  100. public CodeExpression SizeExpression {
  101. get {
  102. return sizeExpression;
  103. }
  104. set {
  105. sizeExpression = value;
  106. }
  107. }
  108. public int Size {
  109. get {
  110. return size;
  111. }
  112. set {
  113. size = value;
  114. }
  115. }
  116. }
  117. }