コードベースでエラーをスローする関数に遭遇しました:
public static T InternalData<T>()
{
return (T)"100";
}
明らかに、コードを単純化し、「100」をリテラル文字列値として追加しました。T は型int
です。
それはスローします:
System.InvalidCastException: 指定されたキャストは無効です。
文字列を暗黙的に C# に変換することはできないようですがint
、ジェネリック型の変換を処理できるようにこのコードを修正するにはどうすればよいですか?
実際のコードは次のようになります。
public static T InternalData<T>()
{
return (T) something (not sure of type or data);
}