c#的属性比java的注释设计得更好吗?
本文关键字:更好 注释 属性 java | 更新日期: 2023-09-27 18:08:35
在阅读了Clinton Begin (iBatis的创建者)的这篇老文章后,我真的很想知道他关于注释和属性的说法是否被广泛接受,或者是否存在分歧。
他的观点是:
- 注释不可扩展
- 不支持位置参数
- 与java不同的定义语法
-
annotation
不是关键字(不像enum
)
这些说法有价值吗? c#如何改进?
逐一来看,这些观点显然有其可取之处:
- 属性是你可以扩展和查询的类。你甚至可以添加你自己的!
- 位置参数(我猜你是指命名参数)在c#中确实是可能的,具有完整的智能感知支持。
- 不能评论它看起来有多奇怪,尽管来自Razor,它让我想到了宏扩展。
- 属性也没有关键字,它们只是一个普通的类。
这并没有使Java的实现变得更糟,因为他们有一个不同的目标:向后兼容性。c#的优点是从头开始构建语言(然后向前发展,而不是保持严格的向后兼容性)。
作为一个挑剔的选择,你或我提到的都不是c#的一部分,它们是。net运行时的一部分,在VB中同样可以找到。. NET和f# .