Pracuję z RPC (protobuf-remote) i muszę zrobić pewne sprawdzenie w przypadku, gdy drugi koniec (serwer) jest wyłączony. Powiedzmy, że mam wiele jest metod RPC, jak:C# Powtarzalny kod z zerową kontrolą
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();
}
Czy mimo to zmienić powtarzające null sprawdzania kodu? Abym mógł napisać coś takiego:
public FirstObj First(string one, string two)
{
return rpc.First(one, two);
}
Który zrobi zerowej kontroli oraz by utworzyć obiektu przez swojego typu, jeżeli serwer RPC jest w dół, więc będę się domyślne wartości wymaganego przedmiotu.
lub 'var (? .First r => r (a, b)) = rpc.GetObject pierwszy ; ' – NtFreX
@ Dr.Fre, który nie jest potrzebny. Jeśli r ma wartość null, First nie będzie tak nazywane. –