C# shortcut or shorthand getter setter

后端 未结 4 1956
执念已碎
执念已碎 2020-12-29 01:31

Is there a short way to create the getter and setter in c#?

public string fname {get; set;} 

Is there short hand to generate {get; se

相关标签:
4条回答
  • 2020-12-29 02:04

    The shortcut is the trigger "prop":

    prop<tab><tab>int<tab>Id<tab>
    

    and you end up with:

    public int Id { get; set; }
    
    0 讨论(0)
  • 2020-12-29 02:12

    When I type prop & TAB I get:

        public int MyProperty
        {
            get; set;
        }
    

    Is there a way to set it up so it's all on one line so it looks like:

    public int MyProperty { get; set;}

    UPDATE!!! I figured it out.

    Tools --> Options --> Text Editor --> C# --> Code Style --> Formatting --> Wrapping --> Put a checkmark in the "Leave block on a single line" option. It even uses the "get; set;" as an example.

    0 讨论(0)
  • 2020-12-29 02:13

    yea type prop and press TAB. Visual Studio has a snippet for automatic property.

    For property with public get and private set, you can use propg and press TAB.

    For complete non auto property you can use propfull and press TAB.

    0 讨论(0)
  • 2020-12-29 02:27

    If you just want the getter and setter, as orignally asked for, you could also create a custom snippet:

    <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
        <CodeSnippet Format="1.0.0">
            <Header>
                <Title>GetSet</Title>
                <Description>Inserts getter/setter shorthand code</Description>
                <Shortcut>gs</Shortcut>
            </Header>
            <Snippet>
                <Code Language="CSharp">
                    <![CDATA[{ get; set; }$end$]]>
                </Code>
            </Snippet>
        </CodeSnippet>
    </CodeSnippets>
    

    Save the above as a .snippet in your snippets folder. Typing 'gs' and pressing Tab will insert { get; set;} and move to the end of the line.


    Edit

    In VS Code, this would be a custom user snippet in your csharp.json file:

    "Getter Setter": {
        "prefix": "gs",
        "body": [
            "\\{ get; set; \\}",
            "$1"
        ],
        "description": "Insert shorthand autoproperties"
    }
    

    Either of these examples could easily be modified/duplicated to also do { get; } (use a readonly backing field) or { get; private set; }

    0 讨论(0)
提交回复
热议问题