Реализовать методы декораторов в C #
Вpython
возможно реализоватьfunction decorators
расширить поведение функций и методов.
В частности ям миграции устройства из библиотекиpython
вC#
, Связь с устройством может генерировать ошибки, которые следует пересмотреть с пользовательским исключением.
Вpython
Я бы написал так:
@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))
Этот вызов метода расширится до
try:
self.__handle.write(":source:voltage:level {0}".format(voltage))
except Error:
raise DeviceError("Error while setting output voltage.", "DeviceA")
С помощью этого шаблона вы можете легко обернуть и расширить методы без необходимости писать каждыйtry-except
предложение в каждом методе.
Можно ли реализовать аналогичную модель с помощью?C#
Если реализация декоратора (device_error_wrapper
) нужно, пожалуйста, расскажите.