いくつかのロジックを何度も実行する switch ステートメントがあります。カットアンドペーストを使用するのではなく、関数に入れたかったのですが、これでひどく失敗しています。
これがやりたいのですが、関数内のbreakタグが存在しないためコンパイルできません。誰でもこれをより適切に機能するバージョンにリファクタリングできますか?
switch(param.ToString())
{
case "1":
BreakIfNotArgumentType<B>(param);
//do stuff
break;
case "2":
BreakIfNotArgumentType<BF>(param);
//do stuff
break;
}
private T BreakIfNotArgumentType<T>(object argumentObject)
{
if (argumentObject is T)
{
return (T)argumentObject;
}
else
{
break;
}
}