私はRPC(protobuf-remote)を使用していますが、もう一方の端(サーバー)がダウンしている場合に備えて、いくつかのチェックを行う必要があります。次のような RPC メソッドがたくさんあるとしましょう。
public FirstObj First(string one, string two)
{
if (rpc == null)
return (FirstObj)Activator.CreateInstance(typeof(FirstObj));
return rpc.First(one, two);
}
public SecondObj Second(string one)
{
if (rpc == null)
return (SecondObj)Activator.CreateInstance(typeof(SecondObj));
return rpc.Second(one);
}
public ThirdObj Third()
{
if (rpc == null)
return (ThirdObj)Activator.CreateInstance(typeof(ThirdObj));
return rpc.Third();
}
この反復的な null チェック コードを変更する方法はありますか? だから私は次のように書くことができます:
public FirstObj First(string one, string two)
{
return rpc.First(one, two);
}
nullチェックを行い、RPCサーバーがダウンしている場合はそのタイプでオブジェクトを作成するため、必要なオブジェクトのデフォルト値を取得します。