이 컨텐츠는
버전 7.5.2 이상에 적용됩니다. C# 3.0
확장 메소드를 모델링하여 코드를 생성할 수 있습니다. 코드의 확장 메소드는
C#에서 UML로 변환을 사용하여 모델에서 생성될 수도 있습니다.
시작하기 전에
프로시저에서 필요한 스테레오타입을 사용하려면
모델에 C# 변환 프로파일을 적용해야 합니다.
이 태스크 정보
모델에서 확장 메소드를 작성하려면 다음을 수행하십시오.
- 정적 C# 클래스를 선택하거나 작성하십시오.
- 프로젝트 탐색기 보기나 다이어그램 편집기에서
클래스를 포함할 수 있는 모델 요소를 마우스 오른쪽 단추로 클릭한 후 를 클릭하십시오.
- 스테레오타입 탭을 클릭하십시오.
- 스테레오타입 적용을 클릭하고 CSharp
클래스를 선택한 후 확인을 클릭하십시오.
- 스테레오타입 특성 아래에서 static을
True로 설정하십시오.
- 스테레오타입이 «CSharp Extension Method»인 정적 UML 오퍼레이션을
클래스에 추가하십시오.
- 클래스를 마우스 오른쪽 단추로 클릭하고 을 클릭하십시오.
- 특성 보기에서 일반 탭을 클릭한 후
정적을 선택하십시오.
- 스테레오타입 탭을 클릭하십시오.
- 스테레오타입 적용을 클릭하고 CSharp
확장 메소드를 선택한 후 확인을 클릭하십시오.
예
다음 이미지는 이름이 ExtensionClass이고
정적 메소드 Times를 포함하는 정적 C# 클래스를 표시합니다. 메소드는 확장하기 위해
UML Integer 유형의 매개변수를 취하고 승수로 UML Integer 유형의
다른 매개변수를 취하므로, 메소드는 정수 백을 리턴합니다.
UML에서 C#으로 변환이 실행되면
다음 코드가 생성됩니다.
//Begin section for file ExtensionClass.cs
//TODO: Add using directives that you want preserved
//End section for file ExtensionClass.cs
using System;
// @generated
public static class ExtensionClass
{
// @generated
public static Int32 Times(this Int32 typeParameter, Int32 multiplier)
{
//TODO: Auto-generated method stub
throw new System.NotImplementedException();
}
}
다음에 수행할 작업
확장 메소드를 모델링한 후에는
메소드에 대한 C# 코드를 생성하도록 UML에서 C#으로 변환을 구성 및 실행할 수 있습니다.