[解決済み] 型 'System.Collections.Generic.List< >' を 'System.Collections.Generic.IList< >' に暗黙的に変換できない。
2022-01-28 03:27:51
質問
この投稿にはたくさんの重複する可能性があります。しかし、私はそれらのほとんどを試しましたが、残念ながら私のエラーはまだ残っています。 が発生します。
<ブロッククオート
エラーは: エラー1 暗黙のうちに型を変換することはできません。
'System.Collections.Generic.List<Report.Business.ViewModels.InvoiceMaster>'
を
'System.Collections.Generic.IList<ICSNew.Data.InvoiceHD>'
. 明示的な変換が存在する(キャストが抜けていないか?)
public IList<InvoiceHD> GetAllInvoiceMasterDetailsByInvoiceId(int InvoiceId)
{
var dbMstDtl = ireportrepository.GetAllInvoiceMasterDetailsByInvoiceId(InvoiceId);
var MstDtl = from mst in dbMstDtl
select new Report.Business.ViewModels.InvoiceMaster
{
ModifiedDate = mst.ModifiedDate,
SubTotal = Convert.ToDecimal(mst.SubTotal),
TotalDiscount = Convert.ToDecimal(mst.TotalDiscount),
VAT = Convert.ToDecimal(mst.VAT),
NBT = Convert.ToDecimal(mst.NBT),
AmtAfterDiscount = Convert.ToDecimal(mst.AmtAfterDiscount)
};
return MstDtl.ToList();
}
いくつかの投稿で、この問題を解決するために return MstDtl.AsEnumerable().ToList();
しかし、私の場合、それはまた動作しません(エラーが発生します)。
どうすればいいですか?
想定されること
InvoiceMaster
を派生させるか実装する。
InvoiceHD
で、C# 4 と .NET 4 以上を使用している場合は、ジェネリック分散を使用すればよい。
return MstDtl.ToList<InvoiceHD>();
これは
IEnumerable<InvoiceMaster>
は
IEnumerable<InvoiceHD>
なぜなら
IEnumerable<T>
は
コバリアント
で
T
.
もうひとつの解決策は、宣言の内容を変更することです。
MstDtl
を使用して明示的な型付けを行います。
IEnumerable<InvoiceMaster> MstDtl = ...;
(ローカル変数が小文字で始まる、通常のC#の命名法に従うこともお勧めしますが、それはまた別の問題です)。
関連
-
[解決済み】C#におけるtypedefの等価性
-
[解決済み】Excel "外部テーブルが期待された形式ではありません。"
-
[解決済み] エンティティタイプ <type> は、現在のコンテキストのモデルの一部ではありません。
-
解決済み] Critical error detected c0000374 - C++ dll returns pointer off allocated memory to C# [解決済み] Critical error detected c0000374 - C++ dll returns pointer off allocated memory to C#.
-
[解決済み】取り消せないメンバはメソッドのように使えない?
-
[解決済み】WSACancelBlockingCallの例外について
-
[解決済み】ファイルやアセンブリ、またはその依存関係の1つをロードできませんでした。
-
[解決済み] 型 'int?' を 'int' に暗黙のうちに変換できません。
-
[解決済み] DateTime型の誕生日から年齢を計算するにはどうしたらいいですか?
-
[解決済み] 型チェック:typeof、GetType、is?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】コンパイルエラー「未割り当てのローカル変数を使用しています」が発生したのはなぜですか?
-
[解決済み] 保護レベルによりアクセス不能になりました。
-
[解決済み】統合マネージドパイプラインモードで適用されないASP.NETの設定が検出された
-
[解決済み] 'SubSonic.Schema .DatabaseColumn' 型のオブジェクトをシリアライズする際に、循環参照が検出されました。
-
[解決済み】Sequence contains no matching element(シーケンスにマッチする要素がない
-
[解決済み】「...は'型'であり、与えられたコンテキストでは有効ではありません」を解決するにはどうすればよいですか?(C#)
-
[解決済み】値をNULLにすることはできません。パラメータ名:source
-
[解決済み】ユーザー設定値を別のユーザー設定値で設定する
-
[解決済み】名前 'ViewBag' が現在のコンテキストに存在しない - Visual Studio 2015
-
[解決済み】Nullableオブジェクトは値を持たなければならない?