Нет способа сделать это с подписью ref string field
. Атрибуты применяются к объявлениям (полям, классам, событиям и т. Д.), А не к «экземплярам».
То, что вы можете сделать, это изменить ваш метод следующим образом:
private void Do(Type fieldContainingType, string fieldName, ref string field)
, а затем используйте отражение для проверки fieldContainingType
, чтобы увидеть, какие атрибуты применяются к полю с именем fieldName
. Однако такой подход чрезвычайно хрупок и, как правило, очень плох.