かずきのBlog@hatena

日本マイクロソフトに勤めています。XAML + C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。掲載内容は個人の見解であり、所属する企業を代表するものではありません。

WinRTのコードテンプレートに含まれてるBindableBaseクラスを前提にするなら登録しておきたいコードスニペット

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
	<CodeSnippet Format="1.0.0">
		<Header>
			<Title>propbindable</Title>
			<Shortcut>propbindable</Shortcut>
			<Description>プロパティとバッキング フィールド用のコード スニペット</Description>
			<Author>okazuki</Author>
			<SnippetTypes>
				<SnippetType>Expansion</SnippetType>
			</SnippetTypes>
		</Header>
		<Snippet>
			<Declarations>
				<Literal>
					<ID>type</ID>
					<ToolTip>プロパティ型</ToolTip>
					<Default>int</Default>
				</Literal>
				<Literal>
					<ID>property</ID>
					<ToolTip>プロパティ名</ToolTip>
					<Default>MyProperty</Default>
				</Literal>
				<Literal>
					<ID>field</ID>
					<ToolTip>このプロパティのバッキング変数</ToolTip>
					<Default>myVar</Default>
				</Literal>
			</Declarations>
			<Code Language="csharp"><![CDATA[private $type$ $field$;

	public $type$ $property$
	{
		get { return this.$field$;}
		set { this.SetProperty(ref this.$field$, value);}
	}
	$end$]]>
			</Code>
		</Snippet>
	</CodeSnippet>
</CodeSnippets>

これをpropbindable.snippetという名前でC:\Users\ユーザ名\Documents\Visual Studio 2012\Code Snippets\Visual C#\My Code Snippetsに置いておくと捗る。
propbindableと入力してTab Tabで以下のようなプロパティを簡単に定義できます。

private string summary;

public string Summary
{
    get { return this.summary; }
    set { this.SetProperty(ref this.summary, value); }
}