dポイントプレゼントキャンペーン実施中!

MEFを使ってC#のプログラムを作っています。

DLL側のメソッドとして
public bool ブーリアン(){
    return true;
}
public string ストリングス(){
return "文字列";
}

のような、戻り値をDLLからメインに送ることはできるのですが、

public void ナビ(int a){
webBrowser1.Navigate(http・・・・);
Thread.Sleep(a);
webBrowser1.Navigate(http・・・・);
Thread.Sleep(a);
}//webBrowser1はメインにある


このような処理をDLLに入れようとすると、当たり前ですが「webBrowser1」なんてないぞ
っと怒られてしまいます。

どのように渡せばよいのでしょうか?

A 回答 (3件)

>型または名前空間名 'webBrowser' が見つかりませんでした。



webBrowserではなくWebBrowserでしたかね。
大文字小文字は区別したかと。

http://msdn.microsoft.com/ja-jp/library/system.w …

この回答への補足

なんとか、DLL側に↓のようなメソッドを作ることができました

public void ナビ(webBrowser webBrowser1){
 webBrowser1.Navigate(http・・・・);
}
ありがとうございます。

しかし、メイン側からこのメソッドに引数でブラウザを送る方法がわかりません。


ナビ(System.Windows.Forms.WebBrowser Form1.webBrowser1);

のような形ではないかと思うのですが、どうにも入っていってくれません。
Form側で作っているwebBrowser1はどのようにDLLの引数に送ればよいでしょうか?

補足日時:2014/02/16 12:23
    • good
    • 0

「using ディレクティブまたはアセンブリ参照が不足しています」


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

この回答への補足

説明不足で失礼しました。
using System.Windows.Controls;

は追加しています。アセンブリ参照は何を追加していいのかよくわかりません、ご存じありませんか?

補足日時:2014/02/12 17:49
    • good
    • 0

>どのように渡せばよいのでしょうか?



引数で渡してください。
# クラスのフィールドにしてコンストラクタなりの引数で渡す。というのもありますが。

public void ナビ(webBrowser webBrowser1, int a){
 webBrowser1.Navigate(http・・・・);
 Thread.Sleep(a);
 webBrowser1.Navigate(http・・・・);
 Thread.Sleep(a);
}

みたいな。

この回答への補足

それだと、DLLのなかに、webBrowser1
がないのでリビルドできなくなりませんか?


とりあえず、コピペしましたが

型または名前空間名 'webBrowser' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。
というエラーが検出されました。

インターフェイスに
void ナビ(webBrowser webBrowser1, int a);
を入れても同様のエラーが検出されます。

補足日時:2014/02/12 12:57
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!