bindable 属性
[bindable] 属性は、 プロパティがデータ バインディングをサポートしていることを示します。
[
interface-attribute-list
]
interface | dispinterface interface-name
{
[bindable[, attribute-list]] returntype function-name(params)
}
-
interface-attribute-list
-
インターフェイス全体に適用される 0 個以上の IDL 属性の一覧を指定します。 複数のインターフェイス属性が存在する場合は、コンマで区切る必要があります。
-
interface-name
-
インターフェイスの名前を指定します。
-
attribute-list
-
インターフェイスまたはディスパッチインターフェイスのプロパティまたはメソッドの関数プロトタイプに適用される 0 個以上の属性を指定します。 次の属性は有効です: [helpstring]、 [helpcontext]、 [string]、 [defaultbind]、 [displaybind]、 [immediatebind]、 [propget]、 [propput]、 [propputref]、および [vararg]。 vararg を指定した場合、最後のパラメーターは VARIANT 型のセーフ配列である必要があります。 複数の属性をコンマで区切ります。
-
returntype
-
関数の戻り値の型を指定します。
-
function-name
-
[bindable] 属性を適用する関数の名前を指定します。
-
params
-
関数パラメーターの一覧。
[bindable] 属性では、データ バインディングをサポートすることで、プロパティが値を変更するたびにクライアントに通知を受け取ることができます。 (プロパティに対する差し迫った変更をクライアントに通知する場合は、[ requestedit] 属性を使用します)。
[bindable] 属性はプロパティ全体を参照するため、プロパティが定義されている場所で指定する必要があります。 そのため、プロパティアクセス関数とプロパティ設定関数の両方で 属性を指定する必要があります。
FUNCFLAG_FBINDABLE、VARFLAG_FBINDABLE
[
uuid(1e196b20-1f3c-1069-996b-00dd010fe676)
]
dispinterface MyObject
{
properties:
methods:
[id(1), propget, bindable, defaultbind, displaybind] long x();
[id(1), propput, bindable,
defaultbind, displaybind] HRESULT x(long rhs);
}