.NET Framework Class Library
FieldDirection Enumeration
Defines identifiers used to indicate the direction of parameter and argument declarations.
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 SP1Platforms
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