c#中的参数属性

时间:2010-04-27 12:40:44

标签: c# java annotations

如何使用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#注释看起来我看起来不能注释参数。这可能吗?

2 个答案:

答案 0 :(得分:13)

您绝对可以归因于参数:

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

当然必须将属性声明为 permit 通过AttributeUsageAttribute(AttributeTargets.Parameter)为参数指定它。

请参阅OutAttributeDefaultParameterValueAttribute作为示例。

答案 1 :(得分:1)

使用AttributeUsageAttribute创建属性类,使用 Reflection 检查参数。

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

Accessing Attributes with Reflection