Что я хочу сделать, так это разрешить публичное увеличение целочисленного значения в моем классе, , но не разрешить публично устанавливать его явно.C# разрешить публичное приращение свойства, но не явное задание
Я знаю, что я могу создать такую функцию:
void IncrementMyProperty()
, но я хотел бы, чтобы позволить пользователю просто сделать это:
MyClass.Property++;
без учета этого:
MyClass.Property = <SomeInt>;
Это просто для удобства. Мне просто интересно, есть ли способ сделать это.
Вот пример:
class MyClass
{
private int _count;
public int Count
{
get { return _count; }
private set { _count = value; }
}
public void AddOne()
{
_count++;
}
}
class Program
{
static void Main()
{
MyClass example;
for (int i = 0; i < 10; i++)
example.Count++;
}
}
Очевидно, что это не будет компилироваться. Это просто показать, что я хотел бы сделать.
Это невозможно, если вы не сделаете какой-нибудь тупой материал, подобный вышеупомянутой перегрузке оператора. Это может быть для удобства, но вы в конечном итоге создаете код, который трудно поддерживать. – CSharpie
Вот что я понял. Спасибо хоть! – OneHoopyFrood
Чье удобство? Метод метод является четким и предсказуемым решением. Разрешить ++, но не = не так удобно, но сбивать с толку, или вы все в одиночку? – TaW