与AttributeUsage C#等效的Java

时间:2012-06-27 12:04:45

标签: c# java attributes equivalent

我必须将一些代码从C#转换为Java,并且我有以下代码:

 [AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = true)]
    public class PVAResponseAttribute : XmlRootAttribute
    {
        private const string ROOT_ELEMENT_NAME = "data";

        public PVAResponseAttribute()
            : base(ROOT_ELEMENT_NAME)
        {

        }

Java中的等价物是什么? 谢谢

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

虽然Java的注释确实与C#属性有许多共同之处,但是OP正在询问一个特定的问题。

C# AttributesUsage attribute在Java中没有直接的等价物。这是您在创建自己的自定义属性时应用的C#核心属性。它用于控制属性的行为。

你用它来:

  • 限制属性的可能目标。有关各种选项,请参阅AttributeTargets enumeration
  • 确定该属性是否适用于继承的成员
  • 决定是否允许您在同一会员身上多次使用此属性

在这种情况下,C#代码的作者坚持使用默认值。他们编写的自定义属性可以应用于任何类,并且没有关于继承成员的有趣行为(它适用于继承的成员),如果它可以在成员上多次使用(它不能)。

要将此代码移植到Java,您需要创建一个与作者的C#PVAResponseAttribute属性相同的Java注释。

但是,在这种情况下,您不必担心没有与C#AttributesUsage属性直接等效的Java注释。