Modelando Métodos de Extensão C#

Esse conteúdo se aplica à versão 7.5.2, ou posterior.É possível modelar métodos de extensão C# 3.0 para gerar código. Métodos de extensão no código também podem ser gerados no modelo usando uma transformação de C# em UML.
Antes de Iniciar
Para usar os estereótipos necessários nesse procedimento, é necessário aplicar o perfil de transformação C# ao modelo.
Por Que e Quando Desempenhar Esta Tarefa
Para criar métodos de extensão no modelo:
  1. Selecione ou crie uma classe C# estática.
    1. Na visualização Explorador de Projetos ou no editor de diagramas, clique com o botão direito do mouse em um elemento do modelo que contenha uma classe; em seguida, clique em Incluir UML > Classe.
    2. Clique na guia Estereótipo.
    3. Clique em Aplicar estereótipos, selecione CSharp Class, e depois clique em OK.
    4. Em Propriedades do Estereótipo, definastatic para True.
  2. Inclua uma operação UML estática com o estereótipo «CSharp Extension Method» à classe.
    1. Clique com o botão direito do mouse na classe, e clique em Incluir UML > Operação.
    2. Na visualização Propriedades, clique na guia Geral e depois selecione Static.
    3. Clique na guia Estereótipo.
    4. Clique em Aplicar estereótipos, selecione Método de Extensão CSharp, e depois clique em OK.
Exemplo
A imagem a seguir mostra uma classe C# estática, chamada ExtensionClass, que contém o método estático Times. O método considera um parâmetro de tipo Número Inteiro UML para estender e outro parâmetro de tipo Número Inteiro UML para o multiplicador, e o método retorna um número inteiro.
classe ExtensionClass de C#.

Após a execução de uma transformação de UML em C#, o seguinte código é gerado:

//Iniciar seção para o
arquivo ExtensionClass.cs
//TAREFA A FAZER: Incluir o uso de diretivas que deseja preservadas
//Finalizar seção para o arquivo ExtensionClass.cs

using System;

// @generated
public static class ExtensionClass
{

	// @generated
	public static Int32 Times(this Int32 typeParameter, Int32 multiplier)
	{
		//TAREFA A FAZER: stub de método gerado automaticamente
		throw new System.NotImplementedException();
	}
}
O que Fazer Depois
Após modelar o método de extensão, é possível configurar e executar uma transformação de UML em C# para gerar o código C# para o método.

Feedback