C# 확장 메소드 모델링

이 컨텐츠는 버전 7.5.2 이상에 적용됩니다. C# 3.0 확장 메소드를 모델링하여 코드를 생성할 수 있습니다. 코드의 확장 메소드는 C#에서 UML로 변환을 사용하여 모델에서 생성될 수도 있습니다.
시작하기 전에
프로시저에서 필요한 스테레오타입을 사용하려면 모델에 C# 변환 프로파일을 적용해야 합니다.
이 태스크 정보
모델에서 확장 메소드를 작성하려면 다음을 수행하십시오.
  1. 정적 C# 클래스를 선택하거나 작성하십시오.
    1. 프로젝트 탐색기 보기나 다이어그램 편집기에서 클래스를 포함할 수 있는 모델 요소를 마우스 오른쪽 단추로 클릭한 후 UML 추가 > 클래스를 클릭하십시오.
    2. 스테레오타입 탭을 클릭하십시오.
    3. 스테레오타입 적용을 클릭하고 CSharp 클래스를 선택한 후 확인을 클릭하십시오.
    4. 스테레오타입 특성 아래에서 staticTrue로 설정하십시오.
  2. 스테레오타입이 «CSharp Extension Method»인 정적 UML 오퍼레이션을 클래스에 추가하십시오.
    1. 클래스를 마우스 오른쪽 단추로 클릭하고 UML 추가 > 오퍼레이션을 클릭하십시오.
    2. 특성 보기에서 일반 탭을 클릭한 후 정적을 선택하십시오.
    3. 스테레오타입 탭을 클릭하십시오.
    4. 스테레오타입 적용을 클릭하고 CSharp 확장 메소드를 선택한 후 확인을 클릭하십시오.
다음 이미지는 이름이 ExtensionClass이고 정적 메소드 Times를 포함하는 정적 C# 클래스를 표시합니다. 메소드는 확장하기 위해 UML Integer 유형의 매개변수를 취하고 승수로 UML Integer 유형의 다른 매개변수를 취하므로, 메소드는 정수 백을 리턴합니다.
C# 클래스 ExtensionClass

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#으로 변환을 구성 및 실행할 수 있습니다.

피드백