Ejemplo n.º 1
0
 private IComputerDevice Create(ComputerDeviceId device)
 {
     return(device switch
     {
         ComputerDeviceId.Screen => new ScreenDevice(),
         ComputerDeviceId.Power => new PowerDevice(),
         _ => throw new ArgumentOutOfRangeException(nameof(device), $"Device '{device}' is not supported.")
     });
Ejemplo n.º 2
0
 private IComputerDevice Get(ComputerDeviceId device)
 => ImmutableInterlocked.GetOrAdd(ref _devices, device, Create);