Implementar métodos decoradores en C #.

Enpython es posible implementarfunction decorators Ampliar el comportamiento de las funciones y métodos.

En particular estoy migrando un dispositivo lib desdepython aC#. La comunicación con el dispositivo puede generar errores que deberían volver a actualizarse con una excepción personalizada.

Enpython Yo escribiría así:

@device_error_wrapper("Device A", "Error while setting output voltage.")   
def set_voltage(self, voltage):
    """
    Safely set the output voltage of device.
    """
    self.__handle.write(":source:voltage:level {0}".format(voltage))

Esta llamada al método se expandiría a

try:
    self.__handle.write(":source:voltage:level {0}".format(voltage))
except Error:
    raise DeviceError("Error while setting output voltage.", "DeviceA")

Con este patrón puede envolver y extender fácilmente los métodos sin tener que escribir cadatry-except Cláusula en todos los métodos.

¿Es posible implementar un patrón similar usandoC#?

Si la implementación del decorador (device_error_wrapper) es necesario, por favor díganlo.

Respuestas a la pregunta(4)

Su respuesta a la pregunta