生存期管理和获取接口
From Apache OpenOffice Wiki
< Zh | Documentation
CLR 与 Java 运行时类似,它跟踪对象的生存期而不会将任务留给开发者。只要不再引用某对象(存取不到),CLR 就会删除该对象。因此,不需要 C++ 中所使用的引用计数。因此,不需要 com.sun.star.uno.XInterface:acquire 和 com.sun.star.uno.XInterface:release。
XInterface 有第三种方法 queryInterface,该方法用于查询特定接口的对象。此语言绑定不使用 queryInterface。相反,将会把对象强制转换成所需的接口。例如:
// C#
try {
XFoo bar = (XFoo) obj;
} catch (System.InvalidCastException e) {
// obj does not support XFoo
}
// using keywords is and as
if (obj is XFoo) {
// obj supports XFoo
}
XFoo foo = obj as XFoo;
if (foo != null)
{
// obj supports XFoo
}
// C++ with managed extensions
XFoo * pFoo = dynamic_cast< XFoo * >( obj );
if (XFoo != 0)
{
// obj supports XFoo
}
try {
XFoo * pFoo = __try_cast< XFoo * >( obj );
} catch (System::InvalidCastException * e) {
// obj does not support XFoo
}
| Content on this page is licensed under the Public Documentation License (PDL). |