Difference between revisions of "Zh/Documentation/DevGuide/ProUNO/CLI/Lifetime Management and Obtaining Interfaces"

From Apache OpenOffice Wiki
Jump to: navigation, search
(New page: {{Documentation/DevGuide/ProUNOTOC/Zh |ProUNO2c=block |CLIBinding=block |ShowPrevNext=block |PrevPage=Zh/Documentation/DevGuide/ProUNO/CLI/Additional Structures |NextPage=Zh/Documentation/...)
 
 
Line 6: Line 6:
 
|NextPage=Zh/Documentation/DevGuide/ProUNO/CLI/Writing Client Programs
 
|NextPage=Zh/Documentation/DevGuide/ProUNO/CLI/Writing Client Programs
 
}}
 
}}
[[en:Documentation/DevGuide/ProUNO/CLI/Lifetime Management and Obtaining Interfaces]]
+
{{Documentation/DevGuideLanguages|Documentation/DevGuide/ProUNO/CLI/{{SUBPAGENAME}}}}
 
{{DISPLAYTITLE:生存期管理和获取接口}}
 
{{DISPLAYTITLE:生存期管理和获取接口}}
  

Latest revision as of 03:15, 14 May 2009




CLR 与 Java 运行时类似,它跟踪对象的生存期而不会将任务留给开发者。只要不再引用某对象(存取不到),CLR 就会删除该对象。因此,不需要 C++ 中所使用的引用计数。因此,不需要 com.sun.star.uno.XInterface:acquirecom.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).
Personal tools
In other languages