Цитата:
Сообщение от
gl00mie
Смысл, я так понимаю, в вызове InteropPermission.assert() - это позволяет разработчику "опасного API" осуществить проверку того, можно ли его API использовать в тех или иных условиях и, в случае чего, выкинуть какое-нить исключение типа "фигу вам, а не моё опасное API"... Плюс, разработчиков это заставляет лишний раз подумать, прежде чем что-то использовать. Мне это напоминает поведение Висты: если пользователь собрался сделать что-то эдакое, то его надо двадцать раз переспросить, точно ли он уверен, что хочет это сделать, в трезвом ли он уме и твердой ли памяти 
Когда тебя двадцать раз спрашивают - это конечно напрягает - но смысл понять можно. Но когда ты пишешь код - то компилятор тебя двадцать раз не спрашивает. Да и в общем-то (как мне кажется) - одно дело Виста, которой пользуются миллионы пользователей разного уровня компьютерной грамотности и другое дело код Х++, которым пользуются (с т.з. разработки) в общем-то те люди, которые по определению понимают что они делают.
А потом - что значит "лишний раз подумать"? Если мне надо вызвать какую-то WinAPI-функцию или функцию из dll - что я сделаю? Ctrl+C, Ctrl+V из того места, где она работает и исправлю имя функции. Ну еще проверю - что все вызывается. Ну и какая разница сколько строчек кода я скопирую не глядя?
Единственное - что меня смущает - это Ваш ответ про метод assert. Т.е. каким образом предполагается (предполагалось) контролировать - в каких условиях используется "опасное" API?
Т.е. Windows будет контролировать - где можно вызывать функцию к примеру WinAPI::findWindow, а где нельзя - так что ли? Чего-то не врубаюсь. И интересно еще как это все ложится на Аксапту - где метод assert() ядерный...