Вопрос

Под "генерировать" я подразумеваю автоматическую генерацию кода, необходимого для конкретной выбранной (набора) переменной (ов).

Но любое более четкое объяснение или комментарий к передовой практике приветствуется.

Это было полезно?

Решение

Вместо того, чтобы использовать ctrl+k,x вы также можете просто ввести prop а затем дважды нажмите tab

Другие советы

В Visual Studio также есть функция, которая генерирует свойство из частной переменной.

Если вы щелкните правой кнопкой мыши по переменной, в появившемся контекстном меню выберите пункт "Рефакторинг".Затем выберите "инкапсулировать поле".Это создаст свойство getter / setter для переменной.

Я не слишком большой поклонник этой техники, так как ее немного неудобно использовать, если вам нужно создать много методов получения / установки, и она помещает свойство непосредственно под приватным полем, что меня беспокоит, потому что обычно все мои приватные поля сгруппированы вместе, а эта функция Visual Studio нарушает форматирование моего класса.

Под генерацией вы подразумеваете автоматическую генерацию?Если ты не это имеешь в виду:

Visual Studio 2008 имеет самую простую реализацию для этого:

public PropertyType PropertyName { get; set; }

В фоновом режиме это создает подразумеваемую переменную экземпляра, в которую сохраняется и извлекается ваше свойство.

Однако, если вы хотите добавить больше логики в свои свойства, вам нужно будет иметь для этого переменную экземпляра:

private PropertyType _property;

public PropertyType PropertyName
{
    get
    {
        //logic here 
        return _property;
    }
    set
    {
        //logic here
        _property = value;
    }
 }

Предыдущие версии Visual Studio также всегда использовали этот длинный метод.

Я использую Visual Studio 2013 Professional.

  • Наведите курсор на строку переменной экземпляра.

    enter image description here

  • Нажимайте клавиши объединения Ctrl+R, Ctrl+E или Щелкните правой кнопкой мыши, выберите контекстное меню Refactor \ Encapsulate Field... затем нажмите OK.

    enter image description here

  • В Preview Reference Changes - Encapsulate Field diaglog, нажмите кнопку Apply.

    enter image description here

  • Это и есть результат:

    enter image description here



Ты тоже установите курсор для выбора свойства, использовать Меню Отредактируйте \ Реорганизуйте \ Инкапсулируйте поле...

и

private int productID;

public int ProductID
{
    get { return productID; }
    set { productID = value; }
}

стать для

public int ProductID { get; set; }

вы также можете использовать "propfull" и нажать ВКЛАДКА дважды будут сгенерированы переменная и свойство с get и set.

Если вы используете Visual Studio 2005 и выше, вы можете очень быстро создать установщик / получатель с помощью команды insert snippet.Щелкните правой кнопкой мыши на вашем коде и выберите Вставить фрагмент кода (Ctrl+k,x) а затем выберите "реквизит" из списка.Надеюсь, это поможет.

Если вы используете ReSharper, перейдите в меню ReSharper -> Код -> Сгенерировать ...(или ударить Альт+Ins внутри окружающего класса), и вы получите все варианты генерации геттеров и / или сеттеров, о которых только можете подумать :-)

используйте propfull ключевое слово.
Он сгенерирует свойство и переменную

Я знаю, что это старше солнца, но решил опубликовать это в качестве своего ответа, потому что мне просто нравится делать это таким образом.

Что я сделал, так это создал свой собственный фрагмент, который ТОЛЬКО добавляет {get; set;}.Я сделал это только потому, что нахожу prop > tab быть неуклюжим.

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets
xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
        <Title>get set</Title>
         <Shortcut>get</Shortcut>
    </Header>
    <Snippet>
        <Code Language="CSharp">
            <![CDATA[{get; set;}]]>
        </Code>
    </Snippet>
  </CodeSnippet>

При этом вы вводите свой propType и propName вручную, затем вводите get > tab и это добавит get set.В этом нет ничего волшебного, но поскольку я все равно обычно сначала вводю свой модификатор доступа, я могу также дописать имя и тип.

В Visual Studio Community Edition 2015 вы можете выбрать все нужные поля, а затем нажать ctrl + .для автоматического создания свойств.Вам нужно выбрать, хотите ли вы использовать свойство вместо поля или нет.

В дополнение к фрагменту "prop" и автоматическим свойствам, существует опция рефакторинга, позволяющая вам выбрать существующее поле и предоставить его через свойство.Кроме того, если вам не нравится реализация "prop", вы можете создавать свои собственные фрагменты.Кроме того, сторонний инструмент рефакторинга, такой как resharper, предоставит вам еще больше возможностей и упростит создание более продвинутых фрагментов.Я бы порекомендовал Resharper, если вы можете себе это позволить.

http://msdn.microsoft.com/en-us/library/f7d3wz0k (ПРОТИВ 80).aspx http://www.jetbrains.com/

На моем компьютере больше не установлена Visual Studio (и я использую Linux), но я помню, что где-то внутри одного из меню был спрятан мастер, который предоставлял доступ к построителю классов.

С помощью этого мастера вы могли бы определить все детали ваших классов, включая методы и атрибуты.Если я хорошо помню, была опция, с помощью которой вы могли попросить VS автоматически создавать установщики и добытчики для вас.

Я знаю, что это довольно расплывчато, но ознакомьтесь с этим, и, возможно, вы это найдете.

Для получения расширения сначала просто нажмите (ctrl + shift + X) и установите getter setter....После этого просто выберите вашу переменную и щелкните правой кнопкой мыши перейдите в палитру команд...И введите getter ...Он предложит сгенерировать методы get и set, нажав на это...

enter image description hereот имени инструмента Visual Studio мы можем легко генерировать свойства c # с помощью онлайн-инструмента called. генератор свойств c #.

Вы просто нажимаете Альт+Ins в Android Studio после объявления переменных вы получите геттеры и установщики в генерирующем коде.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top