//------------------------------------------------------------------------------ // // // [....] // Copyright (c) Microsoft Corporation. All rights reserved. // //------------------------------------------------------------------------------ namespace System.CodeDom { using System.Diagnostics; using System; using Microsoft.Win32; using System.Collections; using System.Runtime.InteropServices; /// /// /// Represents a parameter declaration for method, constructor, or property arguments. /// /// [ ClassInterface(ClassInterfaceType.AutoDispatch), ComVisible(true), Serializable, ] public class CodeParameterDeclarationExpression : CodeExpression { private CodeTypeReference type; private string name; private CodeAttributeDeclarationCollection customAttributes = null; private FieldDirection dir = FieldDirection.In; /// /// /// Initializes a new instance of . /// /// public CodeParameterDeclarationExpression() { } /// /// /// Initializes a new instance of using the specified type and name. /// /// public CodeParameterDeclarationExpression(CodeTypeReference type, string name) { Type = type; Name = name; } /// /// [To be supplied.] /// public CodeParameterDeclarationExpression(string type, string name) { Type = new CodeTypeReference(type); Name = name; } /// /// [To be supplied.] /// public CodeParameterDeclarationExpression(Type type, string name) { Type = new CodeTypeReference(type); Name = name; } /// /// /// Gets or sets the custom attributes for the parameter declaration. /// /// public CodeAttributeDeclarationCollection CustomAttributes { get { if (customAttributes == null) { customAttributes = new CodeAttributeDeclarationCollection(); } return customAttributes; } set { customAttributes = value; } } /// /// /// Gets or sets /// the direction of the field. /// /// public FieldDirection Direction { get { return dir; } set { dir = value; } } /// /// /// Gets or sets /// the type of the parameter. /// /// public CodeTypeReference Type { get { if (type == null) { type = new CodeTypeReference(""); } return type; } set { type = value; } } /// /// /// Gets or sets /// the name of the parameter. /// /// public string Name { get { return (name == null) ? string.Empty : name; } set { name = value; } } } }