Я пытаюсь изменить переменную / свойство, объявленное только в базовом классе через производный метод. Однако результат всегда собирает присвоение из базового объявления.
В базе присвоено значение false, и я пытаюсь переключить его на true в производном методе. Когда я вызываю производную переменную извне классов, она возвращает значение false. Я уже пытался изменить переменную, используя производный класс в качестве универсального параметра, но безуспешно.
public class CPlayer : Hybrid
{
public TextBox inputTBox { get; set; }
public CPlayer(TextBox InputTBox) : base(InputTBox)
{
inputTBox = InputTBox;
}
public void initiateStats()
{
proteinMeterMax = 125;
proteinMeterCurrent = 125;
}
}
public class Hybrid
{
public TextBox inputTBox { get; set; }
public bool stopOn = false;
public Hybrid(TextBox InputTBox)
{
inputTBox = InputTBox;
}
public void runResult<T>(T hy) where T : Hybrid
{
hy.stopOn = true; //Trying either format to be certain.
stopOn = true;
}
}
CPlayer cy = new CPlayer(inputBox);
public void doSomething() {
cy.runResult(cy);
if (cy.stopOn) {
//I want something to happen when this is true. But it keeps returning false.
}
}
Это значение должно быть истинным, чтобы я мог следовать условиям вне производного класса. Он продолжает возвращать ложь, хотя.