//------------------------------------------------------------------------------
//
//
// [....]
// 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;
}
}
}
}