mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-07-08 10:46:28 +08:00
147 lines
8.3 KiB
HTML
147 lines
8.3 KiB
HTML
<div class="header">
|
||
<div class="subTitle">
|
||
org.omg.DynamicAny
|
||
</div>
|
||
<h2 class="title" title="Interface DynAnyFactoryOperations">Interface DynAnyFactoryOperations</h2>
|
||
</div><div class="contentContainer">
|
||
<div class="description">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<dl>
|
||
<dt>
|
||
All Known Subinterfaces:
|
||
</dt>
|
||
<dd>
|
||
<span><a href="../../../org/omg/DynamicAny/DynAnyFactory.html" title="界面在org.omg.DynamicAny中">DynAnyFactory</a></span>
|
||
</dd>
|
||
</dl>
|
||
<dl>
|
||
<dt>
|
||
所有已知实现类:
|
||
</dt>
|
||
<dd>
|
||
<span><a href="../../../org/omg/DynamicAny/_DynAnyFactoryStub.html" title="org.omg.DynamicAny中的类">_DynAnyFactoryStub</a></span>
|
||
</dd>
|
||
</dl>
|
||
<hr/> <br/> <pre>public interface <span class="typeNameLabel">DynAnyFactoryOperations</span></pre>
|
||
<div class="block">
|
||
<span>可以通过调用DynAnyFactory对象上的操作来创建DynAny对象。</span>
|
||
<span>通常只有两种方法来创建DynAny对象:</span>
|
||
<ul>
|
||
<li> <span>调用对现有DynAny对象的操作</span> </li>
|
||
<li> <span>在DynAnyFactory对象上调用操作</span> </li>
|
||
</ul>
|
||
<span>构造的DynAny对象支持操作,可以创建新的DynAny对象,这些对象封装了对某些组件的值的访问。</span>
|
||
<span>DynAny对象还支持复制操作来创建新的DynAny对象。</span>
|
||
<span>通过调用ORB.resolve_initial_references()将标识符参数设置为字符串常量“DynAnyFactory”获得对DynAnyFactory对象的引用。</span>
|
||
<p> <span>任何动态解释通常涉及使用create_dyn_any()作为第一步创建DynAny对象。</span> <span>根据任何类型,可以将生成的DynAny对象引用缩小为DynFixed,DynStruct,DynSequence,DynArray,DynUnion,DynEnum或DynValue对象引用。</span> </p>
|
||
<p> <span>任何动态创建涉及使用create_dyn_any_from_type_code()创建DynAny对象,传递与要创建的值相关联的TypeCode。</span> <span>返回的引用被缩小为一个复杂类型,如DynStruct(如果适用)。</span> <span>然后,可以通过调用对结果对象的操作来初始化该值。</span> <span>最后,可以调用to_any操作以从构造的DynAny创建任何值。</span> </p>
|
||
</div> </li>
|
||
</ul>
|
||
</div>
|
||
<div class="summary">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<!-- ========== METHOD SUMMARY =========== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="method.summary">
|
||
<!-- --> </a> <h3>方法摘要</h3>
|
||
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Method Summary table, listing methods, and an explanation">
|
||
<caption>
|
||
<span class="activeTableTab" id="t0"><span>所有方法</span><span class="tabEnd"> </span></span>
|
||
<span class="tableTab" id="t2"><span><a href="javascript:show(2);">接口方法</a></span><span class="tabEnd"> </span></span>
|
||
<span class="tableTab" id="t3"><span><a href="javascript:show(4);">抽象方法</a></span><span class="tabEnd"> </span></span>
|
||
</caption>
|
||
<tbody>
|
||
<tr>
|
||
<th class="colFirst" scope="col">Modifier and Type</th>
|
||
<th class="colLast" scope="col">Method and Description</th>
|
||
</tr>
|
||
<tr class="altColor" id="i0">
|
||
<td class="colFirst"><code><a href="../../../org/omg/DynamicAny/DynAny.html" title="interface in org.omg.DynamicAny">DynAny</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/omg/DynamicAny/DynAnyFactoryOperations.html#create_dyn_any_from_type_code-org.omg.CORBA.TypeCode-">create_dyn_any_from_type_code</a></span>(<a href="../../../org/omg/CORBA/TypeCode.html" title="class in org.omg.CORBA">TypeCode</a> type)</code>
|
||
<div class="block">
|
||
从TypeCode创建DynAny。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i1">
|
||
<td class="colFirst"><code><a href="../../../org/omg/DynamicAny/DynAny.html" title="interface in org.omg.DynamicAny">DynAny</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/omg/DynamicAny/DynAnyFactoryOperations.html#create_dyn_any-org.omg.CORBA.Any-">create_dyn_any</a></span>(<a href="../../../org/omg/CORBA/Any.html" title="class in org.omg.CORBA">Any</a> value)</code>
|
||
<div class="block">
|
||
从任何值创建一个新的DynAny对象。
|
||
</div> </td>
|
||
</tr>
|
||
</tbody>
|
||
</table> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
</div>
|
||
<div class="details">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<!-- ============ METHOD DETAIL ========== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="method.detail">
|
||
<!-- --> </a> <h3>方法详细信息</h3> <a name="create_dyn_any-org.omg.CORBA.Any-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>create_dyn_any</h4> <pre><a href="../../../org/omg/DynamicAny/DynAny.html" title="interface in org.omg.DynamicAny">DynAny</a> create_dyn_any(<a href="../../../org/omg/CORBA/Any.html" title="class in org.omg.CORBA">Any</a> value)
|
||
throws <a href="../../../org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCode.html" title="class in org.omg.DynamicAny.DynAnyFactoryPackage">InconsistentTypeCode</a></pre>
|
||
<div class="block">
|
||
<span>从任何值创建一个新的DynAny对象。</span>
|
||
<span>与任何值相关联的TypeCode的副本将分配给生成的DynAny对象。</span>
|
||
<span>与DynAny对象相关联的值是原始值中的值的副本。</span>
|
||
<span>如果传递的值具有组件,则创建的DynAny的当前位置将设置为零,否则为-1</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code>InconsistentTypeCode</code> - 如果值具有TCKind为tk_Principal,tk_native或tk_abstract_interface的TypeCode
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="create_dyn_any_from_type_code-org.omg.CORBA.TypeCode-">
|
||
<!-- --> </a>
|
||
<ul class="blockListLast">
|
||
<li class="blockList"> <h4>create_dyn_any_from_type_code</h4> <pre><a href="../../../org/omg/DynamicAny/DynAny.html" title="interface in org.omg.DynamicAny">DynAny</a> create_dyn_any_from_type_code(<a href="../../../org/omg/CORBA/TypeCode.html" title="class in org.omg.CORBA">TypeCode</a> type)
|
||
throws <a href="../../../org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCode.html" title="class in org.omg.DynamicAny.DynAnyFactoryPackage">InconsistentTypeCode</a></pre>
|
||
<div class="block">
|
||
<span>从TypeCode创建DynAny。</span>
|
||
<span>根据TypeCode,创建的对象可以是DynAny类型,也可以是其派生类型之一,如DynStruct。</span>
|
||
<span>返回的引用可以缩小为派生类型。</span>
|
||
<span>在所有情况下,从TypeCode构造的DynAny具有初始默认值。</span>
|
||
<span>基本类型的默认值为:</span>
|
||
<ul>
|
||
<li> <span>对于布尔值为false</span> </li>
|
||
<li> <span>数字类型为零</span> </li>
|
||
<li> <span>零类型为八位字节,char和wchar</span> </li>
|
||
<li> <span>字符串和wstring的空字符串</span> </li>
|
||
<li> <span>对象引用为null</span> </li>
|
||
<li> <span>类型代码,类型代码的TCKind值为tk_null</span> </li>
|
||
<li> <span>对于任何值,任何包含TCKind值为tk_null类型的代码,不包含值</span> </li>
|
||
</ul>
|
||
<span>对于复杂类型,创建相应的DynAny将分配默认值,如下所示:</span>
|
||
<ul>
|
||
<li> <span>对于DynSequence,它将当前位置设置为-1,并创建一个空序列。</span> </li>
|
||
<li> <span>对于DynEnum,它将当前位置设置为-1,并将枚举器的值设置为TypeCode指示的第一个枚举器值。</span> </li>
|
||
<li> <span>对于DynFixed,它将当前位置设置为-1,并将值设置为零。</span> </li>
|
||
<li> <span>对于DynStruct,它为空异常设置当前位置为-1,对所有其他TypeCode设置为零。</span> <span>成员(如果有的话)(递归地)被初始化为它们的默认值。</span> </li>
|
||
<li> <span>对于DynArray,将当前位置设置为零,(递归)将元素初始化为其默认值。</span> </li>
|
||
<li> <span>对于DynUnion,将当前位置设置为零。</span> <span>鉴别器值被设置为与联合的第一个命名成员一致的值。</span> <span>该成员被激活并被递归地初始化为其默认值。</span> </li>
|
||
<li> <span>对于DynValue和DynValueBox,它将初始化为一个空值。</span> </li>
|
||
</ul>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCode.html" title="class in org.omg.DynamicAny.DynAnyFactoryPackage">InconsistentTypeCode</a></code>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
</div>
|
||
</div> |