次の方法で共有


式を使用してオブジェクトを作成し、オブジェクト メソッドを呼び出す方法

式を使用してオブジェクトを作成したり、メソッドを呼び出したりする必要がある場合があります。

オブジェクトの作成

.NET クラスである型を持つ変数を作成するには、 図形にオブジェクトを作成します。 .NET クラス変数のプロパティには、コンストラクターが含まれます。 既定のコンストラクターを使用する場合は、ブール型や int 型などの他の変数と同様に、変数を直接宣言するだけです。

パラメーターを受け取るコンストラクターを使用する場合は、 キーワード new を使用し、その後にオブジェクト クラスと任意のパラメーターをかっこで囲んで使用します。

new MyClass(myParam1, myParam2)  

注意事項

既定の コンストラクターを使用 するプロパティは、実際にはコンストラクターを持つ一部のオブジェクトでは表示されない場合があります。 この場合、既定のコンストラクターが自動的に使用され、別のコンストラクターを使用しようとするとエラーが発生します。

メソッドの呼び出し

.NET クラス オブジェクトでメソッドを呼び出すには、ピリオドとメソッドの名前をオブジェクト参照に追加し、その後にかっこ内のパラメーターを追加します。

MyObject.MyMethod (param1)  

メッセージをパラメーターとして渡して使用する

.NET クラスのメソッド呼び出しにパラメーターとしてメッセージを渡すには、まず、クラスを定義するプロジェクト内の Microsoft.XLANGs.BaseTypes.dll への参照を追加してから、メソッド シグネチャで XLANGMessage 型を使用します。

マルチパート メッセージ型を参照すると、XLANGPart 型を使用してメッセージのさまざまな部分にアクセスできます。

MyMethod(XLANGMessage myMsg)  
{  
XLANGPart myPart = myMsg["Part1"];  
XmlDocument xmlDoc = (XmlDocument) myPart.RetrieveAs(typeof(XmlDocument));  
}  

呼び出し自体では、他のパラメーターと同様に、メッセージの名前を指定するだけです。

MyObject.MyMethod(myMessage)  

メッセージ パーツを XLANGPart 型として渡すこともできます。

.NET メンバーの呼び出し

メッセージ 部分のメンバーに直接アクセスする場合を除き、パブリック メンバーにアクセスできます。 メッセージ パーツのメンバーに直接アクセスするには、識別フィールドとして昇格する必要があります。

COM/COM+ コンポーネントの呼び出し

XLANG は C# コードを生成します。 すべてのユーザー宣言 XLANG 変数は、C# 変数として生成されます。 アトミック トランザクションの場合を除き、特別な動作はありません。 サービス コンポーネント (つまり、 System.EnterpriseServices.ServicedComponent を実装するクラスのインスタンス) がアトミック スコープで宣言されている場合、XLANG は実際の DTC COM+ トランザクションを生成して使用します。

変数がアトミック スコープ内で L 値 (つまり、書き込み先) として参照されているが、外側のスコープで宣言されている場合、変数はロールバックをサポートするために複製されます。 ただし、.NET 関数呼び出し内でオブジェクト ( XmlDocument など) をパラメーター内で渡すと変更できるため、XLANG はオブジェクトの書き込みが行われず、正しくロールバックされません。 この場合の回避策は、ref パラメーターなどのオブジェクトを渡すことです。

要するに、コンポーネントは他の C# プログラムと同様に動作する必要があります。

こちらもご覧ください

BizTalk メッセージ コンテキストプロパティについて