在Java中,可以通过声明具有另一种注释类型的注释参数来编写注释。例如,我可以写这篇作文:
@interface Copyright {
String value();
}
@interface Trademark {
String value();
}
@interface IP {
Copyright copyright();
Trademark trademark();
}
@IP(copyright = @Copyright("2013"), trademark = @Trademark("x is a trademark of x inc"))
class MyClass{}C#语言规范似乎表明不可能做类似的事情,因为它声明有效的属性参数类型如下:
当我试图写的时候,Visual会向我发出各种各样的红色:
[IP (copyright=[Copyright("2008")],trademark=[Trademark("x is a trademark of x, inc")]]但是语言规范所讨论的“类型对象”又如何呢?我的属性“是一个”对象的多态性,那么在C#中是否有可能实现Java允许的功能呢?如果不是,那么“类型对象”是如何工作的?
发布于 2013-08-23 13:31:25
马克·格雷维尔说:“不,你不能那样做”
https://stackoverflow.com/questions/16249330
复制相似问题