2つのクラスタイプを比較しようとしていますが、エラーが続いています。2つのクラスタイプの比較
if (mediaTitleCollection[i].GetType() == Catalog.FilmMedia)
私は次のエラーを取得:「Catalog.FilmMediaは」は、このコンテキストでは有効ではありません「タイプ」です。
私はちょうど問題を参照していないので、私と比較している主なものは型ですか?
2つのクラスタイプを比較しようとしていますが、エラーが続いています。2つのクラスタイプの比較
if (mediaTitleCollection[i].GetType() == Catalog.FilmMedia)
私は次のエラーを取得:「Catalog.FilmMediaは」は、このコンテキストでは有効ではありません「タイプ」です。
私はちょうど問題を参照していないので、私と比較している主なものは型ですか?
使用typeof
:
if (mediaTitleColection[i].GetType()==typeof(Catalog.FilmMedia)
あなたがcomparibleタイプを返しますtypeof()
これを使用する必要があります。
if(mediaTitleCollection[i].GetType() == typeof(Catalog.FilmMedia))
またはあなたは多分またis
演算子を使用することができます。
if(mediaTitleCollection[i] is Catalog.FilmMedia)
はより速く、読みやすいので、間違いなくそれを使用しています。
if(mediaTitleCollection[i] is Catalog.FilmMedia)
あなたはFilmMediaにmediaTitleCollection[i]
をキャストする必要がある場合は、あなたが行うことができ、他の事は次のとおりです。
Catalog.FilmMedia filmMedia = mediaTitleCollection[i] as Catalog.FilmMedia;
if (filmMedia != null)
{
...
}
typeof演算ステートメントを使用する必要が
私はそれは、同じ機能を実現するために以下のコードを使用して個人的にオプションですね。 – tsells