为什么“propdp”代码段不使用nameof运算符作为注册属性的名称?

时间:2016-02-14 13:03:18

标签: c# visual-studio-2015 dependency-properties code-snippets

如果您插入代码段 propdp ,则不会在DepencendyProperty.Register方法的第一个参数中使用 nameof 运算符作为属性名称创造这样的东西:

    public string Text
    {
        get { return (string)GetValue(TextProperty); }
        set { SetValue(TextProperty, value); }
    }

    // Using a DependencyProperty as the backing store for Text.  This enables animation, styling, binding, etc...
    public static readonly DependencyProperty TextProperty =
        DependencyProperty.Register("Text", typeof(string), typeof(MyContentControl), new PropertyMetadata(""));

如果您使用运算符 nameof ,可能会更好,如下例所示:

    public string Text
    {
        get { return (string)GetValue(TextProperty); }
        set { SetValue(TextProperty, value); }
    }

    // Using a DependencyProperty as the backing store for Text.  This enables animation, styling, binding, etc...
    public static readonly DependencyProperty TextProperty =
        DependencyProperty.Register(nameof(Text), typeof(string), typeof(MyContentControl), new PropertyMetadata(""));

1 个答案:

答案 0 :(得分:7)

您可以按照以下步骤修改代码段:

  • 找到代码段的文件。选择菜单选项工具/代码片段管理器... 。 “代码片段管理器”对话框将显示。
  • 语言中,选择 CSharp
  • 打开NetFX30并选择定义依赖属性。您会在位置中看到该文件的路径。应该在 C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ VC#\ Snippets \ 1033 \ NetFX30

打开文件并从

更改宏的定义
public static readonly DependencyProperty $property$Property = 
DependencyProperty.Register("$property$", typeof($type$), typeof($ownerclass$), new PropertyMetadata($defaultvalue$));

public static readonly DependencyProperty $property$Property = 
DependencyProperty.Register(nameof($property$) , typeof($type$), typeof($ownerclass$), new PropertyMetadata($defaultvalue$));

并保存(记得以管理员身份打开文本编辑器。)

重新启动Visual Studio。