Проблема, события не выставляют «поднять» операцию * - они выставляют «подписки» и «отписки». Это зависит от того, как они реализуют подписку/отмену подписки.
Однако в случае SaveFileDialog
(или любого FileDialog
) существует защищенный метод OnFileOk
, который поднимет мероприятие. Вы можете либо получить от SafeFileDialog
и выставить открытый метод, который вызовет OnFileOk
или просто вызовет OnFileOk
, используя отражение. Затем он вызовет обработчики событий для FileOk
. Я не уверен, что мне особенно нравится один из этих планов нападения, но без получения дополнительной информации о том, что вы пытаетесь сделать, я думал, что я просто ответить на вопрос, вместо того, чтобы спрашивать слишком много :)
*
На самом деле, у .NET сама есть идея «поднять» часть события, следовательно EventInfo.GetRaiseMethod
. Однако это противоречит общей идее события IMO, а компилятор C# никогда не генерирует часть повышения. Я не думаю, что стандартные библиотеки обычно выставляют его.
Хммм - это будет проверять мой код, но не в сочетании с SFD. Это гарантирует, что я передам правильные значения в диалог, но не будут ли эти значения обрабатываться по назначению. Поскольку SFD делает некоторые вещи под капотом, я предпочел бы фактически сохранить файл и проверить местоположение. – 2009-02-01 14:34:28
Это совсем другой тест. Для написания интеграционных тестов вам, вероятно, нужна какая-то инфраструктура автоматизации, например, White. То, что я пытаюсь сделать, заключается в том, что внутренняя реализация SFD не должна влиять на ваш собственный код; если вы не доверяете SFD, это другое дело :) –
... не должен иметь никакого отношения к * тестированию * ваш собственный код ... –