1

クラスの 1 つのインスタンスを受け取り、別のクラス インスタンスを返す単純なメソッドを呼び出しています。何らかの理由で、メソッド宣言でそれらを認識しませんが、メソッド内およびメソッドが呼び出される前は問題ありません。この理由を理解することはできません。これが私のコードです。

public ReceiptResponse DownloadReceipt(ReceiptRequest request)
    {
        ReceiptResponse call = null;
        ...
    }

ReceiptResponseどちらも行にエラーをReceiptRequestスローしますが、何らかの理由でpublicの作成は問題ありません。callクラスの 1 つを次に示します (どちらもほぼ同じです)。

public class ReceiptRequest
{
    public String ClientID;
    public String PolNum;
    public String RecNum;  
}

私のエラー

エラー 16 型または名前空間名 'ReceiptRequest' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?)

アップデート

ReceiptResponse行の作成にカーソルを合わせると、ツールチップに using ステートメントが表示されるため、必要な using ステートメントは間違いなくありcallます。

どうしてこれなの?

4

2 に答える 2

1

RequestReceipt クラスが別のプロジェクトにある場合は、両方のプロジェクトのターゲット フレームワークを確認してください。同じですか?そうでない場合は、ReceiptRequest クラスを持つプロジェクトのターゲット フレームワークが .NET Framework 4 であり、もう一方が .NET Framework 4 Client プロファイルであるかどうかを確認します。

Target Framework 4 クライアント プロファイルを持つプロジェクトは、Target Framework 4 (=full) を持つ別のプロジェクトを参照できません。

于 2012-07-12T12:03:50.077 に答える
0

これらのクラスは別のアセンブリにありますか? その場合は、プロジェクトで他のプロジェクトを参照する必要があります。

これらのクラスは別の名前空間にありますか? ファイルの先頭にステートメントを追加する必要がある場合using、または変数を宣言するときに完全修飾名を宣言する必要がある場合。

using my.name.space;
...
var receipt = new RequestReceipt();

また

var receipt = new my.name.space.RequestReceipt();
于 2012-07-12T11:44:51.337 に答える