• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C#でのDLLのメソッドの作り方)

C#でDLLのメソッド作り方と戻り値の送り方

このQ&Aのポイント
  • C#のDLLの作り方とメソッドの戻り値の送り方について説明します。
  • MEFを使ってC#のプログラムを作成していますが、DLLにwebBrowser1などのメインにある変数を渡すことはできません。
  • DLL側のメソッドは戻り値を返すことはできますが、メインにある変数を直接使うことはできません。他の方法を考える必要があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.3

>型または名前空間名 'webBrowser' が見つかりませんでした。 webBrowserではなくWebBrowserでしたかね。 大文字小文字は区別したかと。 http://msdn.microsoft.com/ja-jp/library/system.windows.controls.webbrowser%28v=vs.100%29.aspx

satisfied999
質問者

補足

なんとか、DLL側に↓のようなメソッドを作ることができました public void ナビ(webBrowser webBrowser1){  webBrowser1.Navigate(http・・・・); } ありがとうございます。 しかし、メイン側からこのメソッドに引数でブラウザを送る方法がわかりません。 ナビ(System.Windows.Forms.WebBrowser Form1.webBrowser1); のような形ではないかと思うのですが、どうにも入っていってくれません。 Form側で作っているwebBrowser1はどのようにDLLの引数に送ればよいでしょうか?

その他の回答 (2)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

「using ディレクティブまたはアセンブリ参照が不足しています」 とエラーメッセージが出ているんだから, using ディレクティブをつかうなりアセンブリ参照を追加するなりすればいいのでは?

satisfied999
質問者

補足

説明不足で失礼しました。 using System.Windows.Controls; は追加しています。アセンブリ参照は何を追加していいのかよくわかりません、ご存じありませんか?

  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.1

>どのように渡せばよいのでしょうか? 引数で渡してください。 # クラスのフィールドにしてコンストラクタなりの引数で渡す。というのもありますが。 public void ナビ(webBrowser webBrowser1, int a){  webBrowser1.Navigate(http・・・・);  Thread.Sleep(a);  webBrowser1.Navigate(http・・・・);  Thread.Sleep(a); } みたいな。

satisfied999
質問者

補足

それだと、DLLのなかに、webBrowser1 がないのでリビルドできなくなりませんか? とりあえず、コピペしましたが 型または名前空間名 'webBrowser' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。 というエラーが検出されました。 インターフェイスに void ナビ(webBrowser webBrowser1, int a); を入れても同様のエラーが検出されます。

関連するQ&A

専門家に質問してみよう