格式化C#代码段的文字参数(Formatting Literal parameters of a C

2019-09-02 09:18发布

有什么办法,我可以改变,当它在该片段生成的代码使用的代码片段的文字如何呈现?

具体来说,我想知道如果我能有一个文字叫说,$属性名$,然后拿到片断引擎渲染“_ $属性名$其中第一个字符被换成小写。

我不能得到R#。 请帮忙 :)

Answer 1:

不幸的是,似乎是没有办法。 片段提供令人惊讶的支持有限转换功能 ,你可以看到。

你必须坚持使用VS标准的解决方案,这是写两个字符串:一个是属性名称,以及其他为成员变量名。



Answer 2:

“固定”可以是在命名或成员变量,即,使用前缀:

string m_$name$;
string $name$
{
 get{return m_$name$;}
 set{m_$name$=value;}
};


Answer 3:

您可以输入上的第一个字母,然后属性名称,那么较低的第一个字母。 试试这个片断:

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippet Format="1.0.0" xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <Header>
    <Title>Notifiable Property</Title>
    <Author>Nikolay Makhonin</Author>
    <Shortcut>propn</Shortcut>
    <Description>Property With in Built Property Changed method implementation.</Description>
    <SnippetTypes>
      <SnippetType>SurroundsWith</SnippetType>
      <SnippetType>Expansion</SnippetType>
    </SnippetTypes>
  </Header>
  <Snippet>
    <Declarations>
        <Literal>
            <ID>Type</ID>
            <Default>Type</Default>
        </Literal>
        <Literal>
            <ID>P</ID>
            <Default>P</Default>
        </Literal>
        <Literal>
            <ID>roperty</ID>
            <Default>ropertyName</Default>
        </Literal>
        <Literal>
            <ID>p</ID>
            <Default>p</Default>
        </Literal>
        <Literal>
            <ID>Ownerclass</ID>
            <ToolTip>The owning class of this Property.</ToolTip>
            <Function>ClassName()</Function>
            <Default>Ownerclass</Default>
        </Literal>
    </Declarations>
    <Code Language="CSharp">
      <![CDATA[#region $P$$roperty$

        private Field<$Type$> _$p$$roperty$;
        public static readonly string $P$$roperty$PropertyName = GetPropertyName(() => (($Ownerclass$)null).$P$$roperty$);
        public $Type$ $P$$roperty$
        {
            get { return _$p$$roperty$; }
            set { Set(ref _$p$$roperty$, value); }
        }

        #endregion

]]>
    </Code>
  </Snippet>
</CodeSnippet>


文章来源: Formatting Literal parameters of a C# code snippet