c#的属性比java的注释设计得更好吗?

本文关键字:更好 注释 属性 java | 更新日期: 2023-09-27 18:08:35

在阅读了Clinton Begin (iBatis的创建者)的这篇老文章后,我真的很想知道他关于注释和属性的说法是否被广泛接受,或者是否存在分歧。

他的观点是:

  • 注释不可扩展
  • 不支持位置参数
  • 与java不同的定义语法
  • annotation不是关键字(不像enum)

这些说法有价值吗? c#如何改进?

c#的属性比java的注释设计得更好吗?

逐一来看,这些观点显然有其可取之处:

  • 属性是你可以扩展和查询的类。你甚至可以添加你自己的!
  • 位置参数(我猜你是指命名参数)在c#中确实是可能的,具有完整的智能感知支持。
  • 不能评论它看起来有多奇怪,尽管来自Razor,它让我想到了宏扩展。
  • 属性也没有关键字,它们只是一个普通的类。

这并没有使Java的实现变得更糟,因为他们有一个不同的目标:向后兼容性。c#的优点是从头开始构建语言(然后向前发展,而不是保持严格的向后兼容性)。

作为一个挑剔的选择,你或我提到的都不是c#的一部分,它们是。net运行时的一部分,在VB中同样可以找到。. NET和f# .