|
using System;
namespace Snippets
{
/// <summary>
/// Code snippet for a property which raises INotifyPropertyChanged
/// </summary>
[AttributeUsage(AttributeTargets.Class , AllowMultiple = true)]
public class SnippetPropertyINPC : Attribute
{
/// <summary>
/// Property Type
/// </summary>
public string type = "string";
/// <summary>
/// Summary Documentation
/// </summary>
public string summary = "Gets / sets the property value";
/// <summary>
/// Property Name
/// </summary>
public string property = "MyProperty";
/// <summary>
/// Backing Field
/// </summary>
public string field = "_myproperty";
/// <summary>
/// Field default value
/// </summary>
public string defaultValue = "null";
/// <summary>
/// Gets the code snippet
/// </summary>
public string GetSnippet()
{
return @"
/// <summary>
/// Field which backs the $property$ property
/// </summary>
private $type$ $field$ = $defaultValue$;
public static readonly string $property$Property = ""$property$"";
/// <summary>
/// $summary$
/// </summary>
public $type$ $property$
{
get { return $field$; }
set
{
if ($field$ == value)
return;
$field$ = value;
On$property$Changed(value);
OnPropertyChanged($property$Property);
}
}
/// <summary>
/// Invoked when the value of $property$ changes
/// </summary>
partial void On$property$Changed($type$ value);
$end$";
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.