Имейте класс, который является производным от System.Windows.Forms.UserControl и реализует интерфейс IFoo. После того, как экземпляр SomeControl, созданный с указанной высотой, и присвоенный локальной переменной IFoo , отображает, попытка присвоить значение отображение. Свойство Height с помощью публичного сеттера для меня не работает.Назначение C# не соответствует ожидаемому
Я наблюдаю это, выполняя отладчик, поэтому я сфокусировал этот тестовый пример на упрощение. Я понимаю "select isn't broken", поэтому есть пробел в моих знаниях здесь, почему я не могу установить это свойство, поэтому я хотел бы понять, что это такое. Благодарю.
public interface IFoo
{
int Height {get;set;} // which is implemented by UserControl
}
public class SomeControl : UserControl, IFoo { /*impl goes here*/ }
[TestFixture]
public class TestFixture
{
[Test]
public void Test()
{
IFoo display = ...
// assume that display is of type SomeControl
// and already has a value for Height at 123
Assert.IsTrue(display.Height == 123);
display.Height = 789;
Assert.IsTrue(display.Height == 789); //FAILS
}
}
Итак, нет ли исключения при попытке установить свойство «Высота»? Для второго оператора Assert значение 123 равно или что-то еще? –
Вопросы: Вы добавили какой-либо код для обработки свойства Height самостоятельно, переопределяя/заменив существующее свойство Height UserControl?Контролирует ли пользователь контроль над чем-то, чтобы его высота не изменилась вообще? –
Это поможет, если вы разместите полную, но краткую, компилируемую и исполняемую/проверяемую программу, чтобы мы могли сами воспроизвести проблему. –