bindable 屬性
[bindable]屬性工作表示屬性支援資料系結。
[
interface-attribute-list
]
interface | dispinterface interface-name
{
[bindable[, attribute-list]] returntype function-name(params)
}
-
interface-attribute-list
-
指定套用至介面整體之零個或多個 IDL 屬性的清單。 當有兩個或多個介面屬性時,它們必須以逗號分隔。
-
interface-name
-
指定介面的名稱。
-
attribute-list
-
指定零個或多個屬性,這些屬性會套用至 介面 或 dispinterface中屬性或方法的函式原型。 下列屬性有效:[helpstring]、[helpcoNtext]、[string]、[defaultbind]、[displaybind]、[immediatebind]、[propget]、[propput]、[propput]、[propputref]和[vararg]。 如果指定 vararg ,則最後一個參數必須是 VARIANT 類型的安全陣列。 以逗號分隔多個屬性。
-
returntype
-
指定函式的傳回型別。
-
function-name
-
指定要套用 [可系結] 屬性的函式名稱。
-
params
-
函式參數清單。
藉由支援資料系結, [可系結] 屬性可讓用戶端在屬性變更值時收到通知。 (如果您希望用戶端收到屬性即將變更的通知,請使用 [requestedit] 屬性。)
因為 [可系結] 屬性是指整個屬性,所以必須指定屬性定義的位置。 因此,您必須在屬性存取函式和屬性設定函式上指定 屬性。
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);
}