c# - 用于自动 INotifyPropertyChanged 实现的 Resharper 模板

标签 c# resharper inotifypropertychanged

是否可以编写代码模板或片段来执行以下操作:

我有一个这样声明的属性:

public string String1 {get;set;}

我希望 reshaprer 自动生成以下内容:

private string _string1;
public string String1
{
    get
    {
        return _string1;
    }

    set
    {

        if (_string1 != value)
        {
            _string1 = value;
            RaisePropertyChanged(() => String1);
        }
    }
}

刚刚阅读了 http://koder.wordpress.com/2010/03/25/resharper-inotifypropertychanged/文章并创建了新的实时模板,它可以像我希望的那样为新属性插入代码。

是否有可能以这种方式设置此模板,当光标位于属性声明上时,它可以像建议一样出现在 Alt+Enter 菜单中

喜欢:

{Access modifiers} **{Type} {Name}** {Possible get;set; statements}

最佳答案

这是我想出的实时模板,我分配了“npp”来启动它。我不认为您可以使用 Ctrl-Shift-R 组合键替换它,但您可以删除旧的属性声明行并键入“npp”来调用模板。

private $TYPE$ $NAME1$;
public $TYPE$ $NAME2$
{
    get
    {
        return $NAME1$;
    }

    set
    {

        if ($NAME1$ == value) return;

        $NAME1$ = value;
        RaisePropertyChanged(() => $NAME1$);
    }
}

关于c# - 用于自动 INotifyPropertyChanged 实现的 Resharper 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6562485/

相关文章:

c# - 有条件地检查拨动开关 c#

c# - 正则表达式检查文件格式是否符合 C# 中的预期

tdd - 如何使用 NSpec 在 Visual Studio 中进行调试

c# - WPF INotifyPropertyChanged 不更新数组属性?

c# - MVVM中的ObservableCollection事件传播和正确用法

c# - C#中单选按钮事件的顺序

c# - 尝试路由到特定 URL 时找不到目录错误

c# - 突出显示方法定义

c# - 在 visual studio 中自动完成时自动添加 'this' 标识符

angular - 检查后更改 - Angular [已选择]