3

我必须将一些代码从 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 中的等价物是什么?谢谢

4

2 回答 2

0

这个http://java.net/downloads/opends/promoted-builds/2.2.1/javadoc/org/opends/server/types/AttributeUsage.html链接可以帮助你。

如果您想将项目直接转换为 java,请尝试http://codeporting.com/apps/csharp-2-java

于 2012-06-27T12:15:16.573 回答
0

虽然 Java 的注释确实与 C# 属性有很多共同之处,但 OP 提出了一个特定的问题。

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

你用它来:

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

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

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

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

于 2012-06-27T14:03:33.327 回答