Я пытаюсь создать класс, в котором пользователь может изменять переменные-члены, чтобы изменить аргументы по умолчанию для его функций-членов.
class Class
{
public int Member;
public void Method(int Argument = Member)
{
// This compiles fine, until I try to actually use
// the method elsewhere in code!
// "Error: need 'this' to access member Member"
}
}
Моим обходным путем до сих пор было использование магических чисел, что явно не идеально.
public void Method(int Argument = 123)
{
int RealArgument;
if (Argument == 123) RealArgument = Member;
else RealArgument = Argument;
}
Есть ли способ лучше, или я застрял на этом "взломанном" решении?