Funciones de los fragmentos de código
Hay tres funciones disponibles para su uso con fragmentos de código de Visual C#. Las funciones se especifican en el elemento Function (Elemento, fragmentos de código IntelliSense) del fragmento de código. Para obtener información sobre cómo crear fragmentos de código, vea Crear y utilizar fragmentos de código de IntelliSense.
Funciones
En la tabla siguiente se describen las funciones disponibles para su uso con el elemento Function en fragmentos de código.
Función |
Descripción |
Language |
---|---|---|
GenerateSwitchCases(EnumerationLiteral) |
Genera una instrucción switch y un conjunto de instrucciones case para los miembros de la enumeración especificados por el parámetro EnumerationLiteral. El parámetro EnumerationLiteral debe ser una referencia a un literal de enumeración o a un tipo de enumeración. |
Visual C# |
ClassName() |
Devuelve el nombre de la clase que contiene el fragmento de código insertado. |
Visual C# |
SimpleTypeName(TypeName) |
Reduce el parámetro TypeName a su forma más simple en el contexto en el que se invocó el fragmento de código. |
Visual C# |
Ejemplo
En el ejemplo siguiente se muestra cómo utilizar la función GenerateSwitchCases. Si se inserta este fragmento de código y se especifica una enumeración en el literal $switch_on$, el literal $cases$ generará una instrucción case por cada valor de la enumeración.
<CodeSnippets xmlns="https://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>switch</Title>
<Shortcut>switch</Shortcut>
<Description>Code snippet for switch statement</Description>
<Author>Microsoft Corporation</Author>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>expression</ID>
<ToolTip>Expression to switch on</ToolTip>
<Default>switch_on</Default>
</Literal>
<Literal Editable="false">
<ID>cases</ID>
<Function>GenerateSwitchCases($expression$)</Function>
<Default>default:</Default>
</Literal>
</Declarations>
<Code Language="csharp">
<![CDATA[
switch ($expression$)
{
$cases$
}
]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
En el ejemplo siguiente se muestra cómo utilizar la función ClassName. Cuando se inserta este fragmento de código, el literal $classname$ se reemplaza por el nombre de la clase envolvente en dicha ubicación del archivo de código.
<CodeSnippets xmlns="https://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>Common constructor pattern</Title>
<Shortcut>ctor</Shortcut>
<Description>Code Snippet for a constructor</Description>
<Author>Microsoft Corporation</Author>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>type</ID>
<Default>int</Default>
</Literal>
<Literal>
<ID>name</ID>
<Default>field</Default>
</Literal>
<Literal default="true" Editable="false">
<ID>classname</ID>
<ToolTip>Class name</ToolTip>
<Function>ClassName()</Function>
<Default>ClassNamePlaceholder</Default>
</Literal>
</Declarations>
<Code Language="vjsharp" Format="CData">
<![CDATA[
public $classname$ ($type$ $name$)
{
this._$name$ = $name$;
}
private $type$ _$name$;
]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
En este ejemplo se muestra cómo utilizar la función SimpleTypeName. Cuando se inserta este fragmento de código en un archivo de código, el literal $SystemConsole$ se reemplaza por la forma más simple del tipo Console en el contexto en el que se invocó el fragmento de código.
<CodeSnippets xmlns="https://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>Console_WriteLine</Title>
<Shortcut>cw</Shortcut>
<Description>Code snippet for Console.WriteLine</Description>
<Author>Microsoft Corporation</Author>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal Editable="false">
<ID>SystemConsole</ID>
<Function>SimpleTypeName(global::System.Console)</Function>
</Literal>
</Declarations>
<Code Language="csharp">
<![CDATA[
$SystemConsole$.WriteLine();
]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
Vea también
Referencia
Function (Elemento, fragmentos de código IntelliSense)