FPListing]'にキャストできません。_GetTypeによると、これは同じ型です。Answer3その理由は、キャッシュ内のオブジェクトが異なるバージョンのコード、または異なるdllのコピーからロードされた同じバージョンのコードを使用して作成されたためです。エラーがコードを停止しないようにするには、as演算子を使用してオブジェクトをキャストします。キャストが失敗した場合でも、キャッシュからデータをロードします。その代入文を条件式のif部分にキャストしようとしている可能性があります。HttpContext.Cacheについて話しているのであれば、インデックスで格納するのではなく、項目を追加(Cache.Add())または挿入(Cache.Insert())する必要があります。"listings"を持つオブジェクトを取得しようとしていますあなたはそれを新しいものとして宣言する必要もありません。代わりにこれを試してください...​List()リスト。source0その理由は、元のvarステートメントで型が推論されることをコンパイラが認識していても、コンパイラが明示的にキャストしている型を推論できないためです。"as"キーワークを使用してください。["Listings"]をList()としてキャッシュする。キャストできない場合は、例外をスローする代わりにNULL(またはdefault(T))が返されるため、これも安全なキャスト方法です。source0GetFPListings()がListの派生物、おそらくIListを返しているのではないかと思います。コンパイラはvarをそのようにキャッシュされるIListとして解釈します。これはListに直接変換することはできません。それはあなたの例外と一致しません。あなたが例外を逐語的にコピーしたのであれば、私にはわかりません。