J# 2005 で @beanproperty タグ が追加されました。
名前で想像がつくと思いますが、Bean スタイルのプロパティが使用できるというものです。
前バージョンの J# にも、@property というタグがあり、プロパティの定義はできました。
J# は Java を踏襲しているので、C# や VB のように構文としてプロパティをサポートしていません。
アクセサ メソッドの名前付けパターンによる解決をしているだけです。
@property タグの場合、Get アクセサの代わりとなるのは、「get_」で始まるメソッドです。
これに対して、Set アクセサの代わりとなるのは、「set_」で始まるメソッドです。
もちろん、従来どおり「is_」についても使用できます。
public class Class1 {
// プロパティ変数
private int _value;
/** @property */
public int get_value() {
return this._value;
}
/** @property */
public void set_value(int v) {
this._value = v;
}
}
@beanproperty タグの場合、アンダーバーを除いた形になります。
public class Class1 {
// プロパティ変数
private int _value;
/** @beanproperty */
public int getvalue() {
return this._value;
}
/** @beanproperty */
public void setvalue(int v) {
this._value = v;
}
}
J# から使用する場合は、あくまでもアクセサ メソッドとして使用することになります。
ただし、C# や VB.NET から参照で追加された場合は、プロパティ アクセサとして使用できます。
結局のところ、スタイルが変わっているだけに過ぎません。(;^-^)
個々の属性の付与については、@attribute.method 属性で行うことになります。