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

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

7 ответов


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

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

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

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

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

вы можете даже сделать accessibilty разница между сеттером и геттером:

public string MyProperty { get; private set; }

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


щелкните правой кнопкой мыши на объявлении поля, рефакторинг меню - > инкапсулировать поле, и вы идете от

int n;

to

int n;

public int N
{
   get { return n; }
   set { n = value; }
}

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

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

private string m_Name;

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

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

public string Name { get; set; }

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

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


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


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

public int SomeProperty { get; set; }

или

public int SomeOtherProperty { get; private set; }

?


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


мы можем быстро создавать свойства c# в visual studio с помощью prop ярлык и от имени visual studio tool мы можем создавать свойства c# с помощью инструмента генератор свойств c#..

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

присваиватель свойств c#