すべてのカテゴリ » インターネット・パソコン » 技術・プログラミング

質問

終了

Visual Studio 2008で、Gmailアカウントを使ってメールを送るクラスライブラリを作っているのですが、メールの送信が成功した場合に、呼び出しているフォーム(別プロジェクト)から、MessageBoxを画面に表示したいのですが、クラスライブラリプロジェクト内からMessageBoxを使うことができません。フォームのプロジェクトから直接MessageBoxを使うしかないのでしょうか?

  • 質問者:ss
  • 質問日時:2009-02-17 13:40:27
  • 0

並び替え:

MessageBoxが入っているライブラリをインポートすれば利用できるはずです。

ただこういった場合、
 1.フォームからメールライブラリにデータを渡す。
 2.メールライブラリは、与えられたデータをメール送信し、その結果を返す。
 3.メール送信結果を見て、フォーム側でMessageBoxを表示する。
という流れになるのが一般的な設計です。

メール送信の結果をMessageBoxで表示する/しないは、ライブラリを使うフォーム側が決めることです。
勝手にライブラリ側でMessageBoxを出されると、MessageBoxを出したくないフォームが出てきた時に「MessageBoxを出さないメール送信ライブラリ」が必要になります。
単なるライブラリからMessageBoxを出そうとしている設計自体に問題があるように思います。

  • 回答者:リンデン (質問から30分後)
  • 0
この回答の満足度
  
とても参考になり、非常に満足しました。回答ありがとうございました。
お礼コメント

設計のアドバイスまでしていただいて本当にありがとうございます。
汎用的なライブラリにするためには、MessageBoxを出すかどうかはフォーム側で決めたほうがいいですね。
ありがとうございます。

関連する質問・相談

Sooda!からのお知らせ

一覧を見る