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 Fragmentos de código.
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)