Значение по умолчанию для открытых свойств

c# .net

153 просмотра

2 ответа

У меня есть публичная собственность в каком-то классе. Мне нужно значение по умолчанию -1 для этого свойства без закрытой переменной, такой как _MyField (потому что в этом классе слишком много свойств, я не буду добавлять их одно за другим).

public int MyProperty { get; set; }

[DefaultValueAttribute] не работает для этой проблемы, я думаю. Есть идеи? Благодарю.

ОБНОВЛЕНИЕ @ август 2015 Теперь у нас есть C # 6!

public int MyProperty { get; set; } = 100;

public string EasyToUse { get; } = "YES!";
Автор: Cheng Chen Источник Размещён: 13.11.2019 11:30

Ответы (2)


3 плюса

Решение

В основном у вас есть два варианта - вы можете установить свойство в конструкторе объекта или использовать приватное поле.

Лично я считаю, что конструктор - лучший вариант, так как люди, читающие ваш код, понимают, каковы ваши намерения в отношении нового экземпляра вашего класса.

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

Автор: womp Размещён: 02.06.2010 02:49

0 плюса

Просто установите this.MyAttr = -1присваивание в конструкторе объекта.

Автор: Jon Limjap Размещён: 02.06.2010 02:48
32x32