Быстрый создают свойства C# из переменных

Для C# я очень не хочу выписать переменные и затем выписать все свойства. Нет ли способ выбрать все переменные, щелкнуть правой кнопкой и создать все свойства.

6
задан user204588 27 April 2010 в 19:20
поделиться

6 ответов

Вам нужен инструмент для рефакторинга кода? Если да, попробуйте ReSharper . Он позволяет легко преобразовать простые свойства с полями в автоматические свойства и наоборот.

Если вы просто не хотите писать настраиваемые свойства с поддержкой полей, вы можете использовать авто-свойства , например, например:

public string MyProperty { get; set; } // generates an auto-property

, что эквивалентно:

private string m_MyProperty;
public string MyProperty 
{ 
  get { return m_MyProperty; }
  set { m_MyProperty = value; }
}

Вы даже можете сделать доступность установщика и получателя разницей:

public string MyProperty { get; private set; }

Если вы решите использовать автоматические свойства, имейте в виду, что вы не можете получить доступ к базовому полю и не можете предоставить реализацию только для одной части (только геттер или просто сеттер). Однако вы можете сделать это свойство виртуальным.

10
ответ дан 8 December 2019 в 02:08
поделиться

Вам, вероятно, следует использовать автоматически реализуемые свойства в C # для большинства вещей. Однако, если вам нужны свойства «старого стиля» с явными поддерживающими полями, вы можете создать фрагмент кода Visual Studio, чтобы упростить их написание. В этом сообщении блога есть пример такого сообщения.

0
ответ дан 8 December 2019 в 02:08
поделиться

Почему вы не делаете:

public int SomeProperty { get; set; }

или

public int SomeOtherProperty { get; private set; }

?

2
ответ дан 8 December 2019 в 02:08
поделиться

Если вы используете C # 3.0 или выше (VisualStudio 2008, по сути), вы можете использовать авто свойства. Хотя это не совсем то, о чем вы просите, это должно (надеюсь) помочь.

Вместо того, чтобы писать:

private string m_Name;

public string Name
{
    get { return m_Name; }
    set { m_Name = value; }
}

Вы можете просто написать:

public string Name { get; set; }

Это даст вам быстрые, «тупые» (т.е. без логики извлечения или присваивания) свойства, которые можно использовать в вашем классе. Если вы обнаружите, что вам понадобится логика извлечения и назначения позже, просто вернитесь и выполните полный синтаксис объявления свойства, и вам не придется изменять какой-либо вызывающий код.

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

11
ответ дан 8 December 2019 в 02:08
поделиться

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

4
ответ дан 8 December 2019 в 02:08
поделиться

Щелкните правой кнопкой мыши на объявлении поля, меню Refactor -> Encapsulate field и вы перейдете от

int n;

к

int n;

public int N
{
   get { return n; }
   set { n = value; }
}
18
ответ дан 8 December 2019 в 02:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: