gpt4 book ai didi

c# - Java 等效于 AttributeUsage C#

转载 作者:行者123 更新时间:2023-11-30 18:38:28 26 4
gpt4 key购买 nike

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

最佳答案

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

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

你用它来:

  • 限制您的属性的可能目标。查看AttributeTargets enumeration各种选项。
  • 决定属性是否适用于继承的成员
  • 决定是否允许您对同一成员多次使用此属性

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

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

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

关于c# - Java 等效于 AttributeUsage C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11225775/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com