Иногда отладчик пишет в Watches нечто подобное:
l_LocalVar : ISomeInterface - TSomeInterfaceImplementor at $abcd123
Так вот. Если мы ожидаем, что этот ISomeInterface реализуется классом TSomeInterfaceImplementor, то если написать TSomeInterfaceImplementor($abcd123).SomeObjectProp, то мы можем получить состояние РЕАЛИЗУЮЩЕГО объекта, а не интерфейса. На интерфейсе многие методы и/или свойства - могут быть недоступны.
Но через ОБЪЕКТ реализации мы их можем увидеть в процессе отладки. По-моему - очень удобно.
Попробуйте. Может быть вам понравится.
l_LocalVar : ISomeInterface - TSomeInterfaceImplementor at $abcd123
Так вот. Если мы ожидаем, что этот ISomeInterface реализуется классом TSomeInterfaceImplementor, то если написать TSomeInterfaceImplementor($abcd123).SomeObjectProp, то мы можем получить состояние РЕАЛИЗУЮЩЕГО объекта, а не интерфейса. На интерфейсе многие методы и/или свойства - могут быть недоступны.
Но через ОБЪЕКТ реализации мы их можем увидеть в процессе отладки. По-моему - очень удобно.
Попробуйте. Может быть вам понравится.
Комментариев нет:
Отправить комментарий