1

私はそのようなコードを持っています:

List<Pair<string, string>> docs = new List<Pair<string, string>>(); 
iErr = ftpconnect.ListAllDocuments(docs, build.BuildId.ToString());

ListAllDocuments のインターフェイス プロトタイプは次のとおりです。

Int32 ListAllDocuments(List<Pair<string, string>> DocList, string Path);

そして、私はエラーが発生します

エラー 21: 'OperatorPanelWrapper.FtpTransportLibWrapper.ListAllDocuments(System.Collections.Generic.List<OperatorPanel.Pair<string,string>>, string)' に最適なオーバーロードされたメソッドの一致に無効な引数が含まれています

なぜこのエラーが発生するのですか?

4

2 に答える 2

3

投稿した最初のコード ( new List<Pair<string, string>>()) にカーソルを置き、PairVisual Studio がそれが定義されていると見なす場所を確認してください。と表示されるはずOperatorPanel.Pair<T1, T2>です。他の場所で定義された型の名前Pair(またはエラー) が表示される場合は、型が間違っています。

いくつかの可能性があります:

  • 別のPairクラスがどこかに (おそらく意図せずに) 定義されており、それが間違ったクラスを参照しています。
  • usingコンパイラがあなたのPair.
  • 必要なものではないusingを含む別の名前空間のディレクティブがあります(例: )。Pairusing System.Web.UI
  • Pairが定義されている DLL への参照がありません。
  • あなたのList<T>参照はどういうわけか間違っています(おそらくあなた自身を定義しましたか?)
  • (可能性は低い)を返さない is に対して独自ToStringに定義しました。BuildIdstring

基本的に、すべてのタイプをチェックしてください。呼び出しコードの最初:Listを参照しSystem.Collections.Generic.List<T>Pairジェネリックを参照しOperatorPanel.Pair<T1, T2>ます ...

于 2013-02-15T09:59:20.573 に答える
1

試す

List<OperatorPanel.Pair<string, string>> docs = new List<OperatorPanel.Pair<string, string>>();
于 2013-02-15T09:47:32.133 に答える