2013-04-27 86 views
1

在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#語言規範似乎表明,它是不可能做同樣的事情,:因此,例如,我可以寫這個組成

  • 一以下類型:bool,byte,char,double,float,int,long,sbyte,short,string,uint,ulong,ushort。
  • 類型對象。
  • 類型System.Type。
  • 一個枚舉類型,只要它具有公共可訪問性並且它嵌套的類型(如果有的話)也具有公共可訪問性。
  • 上述類型的一維數組。

Visual Studio中閃爍各種紅色的我,當我嘗試寫:

[IP (copyright=[Copyright("2008")],trademark=[Trademark("x is a trademark of x, inc")]] 

但對於這個「對象類型」的語言規範是在說什麼?我的屬性「是一個」基於多態的對象,所以在C#中可以實現Java允許的所有可能性。如果不是那麼「類型對象」如何工作?

+0

不,你不能這樣做...... – 2013-04-27 07:31:47

回答

0

Marc Gravell說:「不,你不能這樣做」