1

次の2つのクラスがあります。

public class DLLClass {
     public delegate void dllDelegate(Object sender, EventArgs e);
     public event dllDelegate dllEvent;
     .....
}

class AppClass {
     DLLClass dll;

     public AppClass() {
         dll.dllEvent += new DLLClass.dllDelegate(dllEventHandler);
     }
  
     public void dllEventHandler(Object sender, EventArgs e){
     }
}

それぞれが同じソリューションの一部ですが、異なるプロジェクトを参照してください。

dllEvent問題は、コンパイラが にメンバーがないと言うことですDLLClass

編集: エラー:

エラー CS1061:「AppNamespace.DLLClass」には「dllEvent」の定義が含まれておらず、「AppNamespace.DLLClass」型の最初の引数を受け入れる拡張メソッド「dllEvent」が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか? )

エラー CS0426: 型名 'dllDelegate' が型 'AppNamespace.DLLClass.ParametersPanel' に存在しません

また、DLLClassのコードからの定義を表示しようとするとAppClass、MSVS はメタデータからデリゲートを含まないクラス定義を表示します。

4

2 に答える 2

1

参照がProject Referenceではなく、ファイル参照である場合は、最初のプロジェクトを最初にビルドする必要がある場合があります。BuildメニューからRebuild Allを選択ます。

それでも問題が解決しない場合は、間違ったファイルを参照している可能性があります。最初のプロジェクトへの参照を削除し、それにProject 参照を追加します。

于 2013-03-19T13:04:19.870 に答える
0

この1つのリンクが見つかりました。

問題は.csprojectファイルにありました。

于 2013-03-19T13:57:35.920 に答える