Non che io sia un fan scatenato degli snippet, però per certe cose sono proprio comode.
All'ennesima classe singleton che dovevo costruire mi sono fermato, ho scritto uno snippet ed eccolo qui:
<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets xmlns="http://atd.vevy.com/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>singleton</Title>
<Shortcut>singleton</Shortcut>
<Description>Code snippet for singleton pattern</Description>
<Author>Raffaele Rialdi</Author>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal Editable="false">
<ID>classname</ID>
<ToolTip>Class name</ToolTip>
<Function>ClassName()</Function>
<Default>ClassNamePlaceholder</Default>
</Literal>
</Declarations>
<Code Language="csharp">
<![CDATA[private static $classname$ _Instance = null;
private $classname$ ()
{
}
public static $classname$ GetInstance()
{
if(_Instance == null)
_Instance = new $classname$();
return _Instance;
}
$end$
]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
Per farlo funzionare è sufficiente salvarlo in un file chiamato singleton.snippet e metterlo nella cartella:
My Documents\Visual Studio 2005\Code Snippets\Visual C#\My Code Snippets
Non rimane quindi che provarlo ed all'interno di una classe C# scrivere singleton<tab> per ottenere l'espansione del codice.
Sicuramente sarebbe stato più adatto il wiki in modo che tutti possano rifinire, aggiungere, limare e modificare lo snippet. Me ne scuso ma il tempo mi sta addosso e ho fatto prima qui.