다음을 통해 공유


식을 사용하여 개체를 만들고 개체 메서드를 호출하는 방법

개체를 만들거나 메서드를 호출하려면 식을 사용해야 합니다.

개체 만들기

.NET 클래스인 형식이 있는 변수를 만들려면 셰이프에서 개체를 생성합니다. .NET 클래스 변수의 속성에는 생성자가 포함됩니다. 기본 생성자를 사용할 때는 bool 또는 int 유형의 다른 변수에서와 같이 변수를 직접 선언합니다.

매개 변수를 사용하는 생성자를 사용하는 경우 새 키워드(keyword) 사용하고 개체 클래스와 괄호 안에 있는 매개 변수를 사용합니다.

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+ 구성 요소 호출

XLANGs는 C# 코드를 생성합니다. 사용자가 선언하는 모든 XLANGs 변수는 C# 변수로 생성됩니다. 원자성 트랜잭션의 경우를 제외하고는 특수한 동작이 없습니다. 서비스된 구성 요소(즉, System.EnterpriseServices.ServicedComponent를 구현하는 클래스의 instance)가 원자성 scope 선언되면 XLANG는 실제 DTC COM+ 트랜잭션을 생성하고 사용합니다.

원자성 범위에서는 변수가 L 값(값이 쓰이는 변수)으로 참조되지만 외부 범위에서 선언되는 경우에는 롤백이 가능하도록 변수가 복제됩니다. 그러나 개체(예: XmlDocument)는 매개 변수 내로 전달될 때 .NET 함수 호출 내에서 수정할 수 있으므로 XLANG는 개체가 쓰여지는 것을 놓치고 올바르게 롤백되지 않습니다. 이 문제를 해결하려면 이러한 개체를 ref 매개 변수로 전달해야 합니다.

결론적으로 구성 요소는 다른 C# 프로그램에서와 마찬가지로 동작해야 합니다.

참고 항목

BizTalk 메시지 컨텍스트 속성 정보