FieldDirection Enumeration (System.CodeDom)

Switch View :
ScriptFree
.NET Framework Class Library
FieldDirection Enumeration

Defines identifiers used to indicate the direction of parameter and argument declarations.

Namespace:  System.CodeDom
Assembly:  System (in System.dll)
Syntax

Visual Basic
<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public Enumeration FieldDirection
C#
[SerializableAttribute]
[ComVisibleAttribute(true)]
public enum FieldDirection
Visual C++
[SerializableAttribute]
[ComVisibleAttribute(true)]
public enum class FieldDirection
F#
[<SerializableAttribute>]
[<ComVisibleAttribute(true)>]
type FieldDirection
Members

Member name Description
In An incoming field.
Out An outgoing field.
Ref A field by reference.
Remarks

FieldDirection allows for passing arguments to functions by reference, or using incoming or outgoing parameters.

Examples

The following example demonstrates use of FieldDirection to indicate the field direction types of the parameters of a method in a method declaration.

Visual Basic

' Declares a method.
Dim method1 As New CodeMemberMethod()
method1.Name = "TestMethod"

' Declares a string parameter passed by reference.
Dim param1 As New CodeParameterDeclarationExpression("System.String", "stringParam")
param1.Direction = FieldDirection.Ref
method1.Parameters.Add(param1)

' Declares a Int32 parameter passed by incoming field.
Dim param2 As New CodeParameterDeclarationExpression("System.Int32", "intParam")
param2.Direction = FieldDirection.Out
method1.Parameters.Add(param2)

' A Visual Basic code generator produces the following source code for the preceeding example code:

'	 Private Sub TestMethod(ByRef stringParam As String, ByRef intParam As Integer)
'    End Sub


C#

// Declares a method.
CodeMemberMethod method1 = new CodeMemberMethod();
method1.Name = "TestMethod";

// Declares a string parameter passed by reference.
CodeParameterDeclarationExpression param1 = new CodeParameterDeclarationExpression("System.String", "stringParam");
param1.Direction = FieldDirection.Ref;
method1.Parameters.Add(param1);

// Declares a Int32 parameter passed by incoming field.
CodeParameterDeclarationExpression param2 = new CodeParameterDeclarationExpression("System.Int32", "intParam");
param2.Direction = FieldDirection.Out;
method1.Parameters.Add(param2);

// A C# code generator produces the following source code for the preceeding example code:

//        private void TestMethod(ref string stringParam, out int intParam) {
//        }


Visual C++

// Declares a method.
CodeMemberMethod^ method1 = gcnew CodeMemberMethod;
method1->Name = "TestMethod";

// Declares a string parameter passed by reference.
CodeParameterDeclarationExpression^ param1 = gcnew CodeParameterDeclarationExpression( "System.String","stringParam" );
param1->Direction = FieldDirection::Ref;
method1->Parameters->Add( param1 );

// Declares a Int32 parameter passed by incoming field.
CodeParameterDeclarationExpression^ param2 = gcnew CodeParameterDeclarationExpression( "System.Int32","intParam" );
param2->Direction = FieldDirection::Out;
method1->Parameters->Add( param2 );

// A C# code generator produces the following source code for the preceeding example code:
//        private void TestMethod(ref string stringParam, out int intParam) {
//        }


Version Information

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Platforms

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
See Also

Reference