Параметр приписывает в c#

Как я могу сделать следующее с атрибутами c#. Ниже отрывок Java, который аннотирует параметры в конструкторе.

public class Factory {
    private final String name;
    private final String value;
    public Factory(@Inject("name") String name, @Inject("value") String value) {
        this.name = name;
        this.value = value;
    }
}

От рассмотрения c# аннотации не похоже, что я могу аннотировать параметры. Действительно ли это возможно?

5
задан ng. 27 April 2010 в 12:40
поделиться

2 ответа

Вы можете абсолютно атрибутировать параметры:

public Factory([Inject("name")] String name, [Inject("value")] String value)

Конечно, атрибут должен быть объявлен, чтобы разрешить указать его для параметров через AttributeUsageAttribute (AttributeTargets.Parameter) .

См. Примеры OutAttribute и DefaultParameterValueAttribute .

13
ответ дан 18 December 2019 в 13:12
поделиться

Создайте класс атрибута с AttributeUsageAttribute и другими, используйте Reflection для проверки параметров.

[System.AttributeUsage(System.AttributeTargets.All)]
class NewAttribute : System.Attribute { }

Доступ к атрибутам с помощью отражения

1
ответ дан 18 December 2019 в 13:12
поделиться