Автоматически получать свойства и значения по умолчанию при создании экземпляра класса? - PullRequest
0 голосов
/ 03 апреля 2020

Искал способ (встроенный или через плагин), чтобы автоматизировать свойства и значения по умолчанию при создании экземпляра класса. Например, если у меня есть следующее:

public class MyClass
{
    string MyPropertyString { get; set; }
    int MyPropertyIntWithDefault { get; set; } = 5,
    decimal? MyPropertyDecimalWithNoDefault { get; set; }
}

Мне бы хотелось иметь возможность сказать MyClass MyClassImplemented = new MyClass {, нажать кнопку или щелкнуть параметр, и он автоматически завершит sh мой код как :

MyClass MyClassImplemented = new MyClass {
    MyPropertyString = "",
    MyPropertyIntWithDefault = 5,
    MyPropertyDecimalWithNoDefault = null
};

Полагаю, я мог бы написать расширение или инструмент самостоятельно, используя рефлексию, но если у кого-нибудь есть какие-либо предложения, которые уже были реализованы, я бы хотел их услышать. Спасибо!

* РЕДАКТИРОВАТЬ *

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

1 Ответ

1 голос
/ 03 апреля 2020

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

MyClass MyClassImplemented = new MyClass();

Вам просто нужно немного изменить свой класс чтобы установить для свойств значение по умолчанию (не забудьте использовать ; после свойств, однако это работает в C # 6 +):

public class MyClass
{
    public string MyPropertyString { get; set; } = "";
    public int MyPropertyIntWithDefault { get; set; } = 5;
    public decimal? MyPropertyDecimalWithNoDefault { get; set; }
}

На основании вашего обновления кажется, что вы ищете for, это способ создания фрагмента кода, так что вы можете добавить свойства класса нажатием какой-либо кнопки, в этом случае вы можете создать фрагмент кода в Visual Studio, вы можете go с помощью этого руководства https://docs.microsoft.com/en-us/visualstudio/ide/walkthrough-creating-a-code-snippet?view=vs-2019

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...