次の方法で共有


CodeDirectionExpression クラス

参照方向のインジケータと共にメソッド呼び出しのパラメータとして使用される式を表します。

この型のすべてのメンバの一覧については、CodeDirectionExpression メンバ を参照してください。

System.Object
   System.CodeDom.CodeObject
      System.CodeDom.CodeExpression
         System.CodeDom.CodeDirectionExpression

<Serializable>
<ClassInterface(ClassInterfaceType.AutoDispatch)>
<ComVisible(True)>
Public Class CodeDirectionExpression   Inherits CodeExpression
[C#]
[Serializable]
[ClassInterface(ClassInterfaceType.AutoDispatch)]
[ComVisible(true)]
public class CodeDirectionExpression : CodeExpression
[C++]
[Serializable]
[ClassInterface(ClassInterfaceType::AutoDispatch)]
[ComVisible(true)]
public __gc class CodeDirectionExpression : public   CodeExpression
[JScript]
public
   Serializable
 ClassInterface(ClassInterfaceType.AutoDispatch)
 ComVisible(true)
class CodeDirectionExpression extends CodeExpression

スレッドセーフ

この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。

解説

CodeDirectionExpression は、メソッドに渡されるパラメータとパラメータの参照方向を表すことができます。

Expression プロパティは、参照方向で修飾する式を示します。 Direction プロパティは、 FieldDirection 列挙値のいずれかを使用して、パラメータの参照方向を示します。

使用例

[Visual Basic, C#, C++] CodeDirectionExpression を使用して、メソッドのパラメータとして渡す式にフィールド方向修飾子を指定する例を次に示します。

 
' Declares a parameter passed by reference using a CodeDirectionExpression.
Dim param1 As New CodeDirectionExpression(FieldDirection.Ref, New CodeFieldReferenceExpression(New CodeThisReferenceExpression(), "TestParameter"))
' Invokes a method on this named TestMethod using the direction expression as a parameter.
Dim methodInvoke1 As New CodeMethodInvokeExpression(New CodeThisReferenceExpression(), "TestMethod", param1)

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

'      Me.TestMethod("TestParameter")

[C#] 
// Declares a parameter passed by reference using a CodeDirectionExpression.
CodeDirectionExpression param1 = new CodeDirectionExpression(FieldDirection.Ref, new CodeFieldReferenceExpression( new CodeThisReferenceExpression(), "TestParameter" ));
// Invokes a method on this named TestMethod using the direction expression as a parameter.
CodeMethodInvokeExpression methodInvoke1 = new CodeMethodInvokeExpression(new CodeThisReferenceExpression(), "TestMethod", param1 );

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

//        this.TestMethod(ref TestParameter);

[C++] 
// Declares a parameter passed by reference using a CodeDirectionExpression.
CodeDirectionExpression* param1[] = {new CodeDirectionExpression(FieldDirection::Ref, new CodeFieldReferenceExpression( new CodeThisReferenceExpression(), S"TestParameter" ))};
// Invokes a method on this named TestMethod using the direction expression as a parameter.
CodeMethodInvokeExpression* methodInvoke1 = new CodeMethodInvokeExpression(new CodeThisReferenceExpression(), S"TestMethod", param1 );

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

//        this.TestMethod(ref TestParameter);

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

名前空間: System.CodeDom

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

アセンブリ: System (System.dll 内)

参照

CodeDirectionExpression メンバ | System.CodeDom 名前空間