コードインスペクション:'System.InvalidCastException' の可能性がある
このインスペクションは、 InvalidCastException で実行時に失敗する可能性のある明示的なキャストを報告します。
サンプル
using System;
static void Handle(object value)
{
if (value is Action<string>)
{
var action = (Action<int>)value;
}
}
型チェックの結果、 value は Action<string> であることが証明されたため、 Action<int> にキャストするのは安全ではありません。
修正方法
インスペクションエラーに対する専用の迅速な解決策はありません。 一般的な解決策としては、実際にチェックした型にキャストするか、パターンマッチングを使用することです。
using System;
static void Handle(object value)
{
if (value is Action<string> action)
{
action("text");
}
}
2026 年 6 月 12 日