⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 classrtticlassdescriptor.html

📁 java 反射机制详解示例,实现类属性及方法修改
💻 HTML
📖 第 1 页 / 共 3 页
字号:
          <td class="md" nowrap valign="top"> <a class="el" href="classRTTIFieldDescriptor.html">RTTIFieldDescriptor</a>* RTTIClassDescriptor::findField </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">char const *&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp; <em>name</em>          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>Find field by name <dl compact><dt><b>Parameters: </b><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em>name</em>&nbsp;</td><td>of the field </td></tr></table></dl><dl compact><dt><b>Returns: </b><dd>field with such name or <code>NULL</code> if not found </dl>    </td>  </tr></table><a name="RTTIClassDescriptora13" doxytag="RTTIClassDescriptor::findMethod"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> <a class="el" href="classRTTIMethodDescriptor.html">RTTIMethodDescriptor</a>* RTTIClassDescriptor::findMethod </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">char const *&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp; <em>name</em>          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>Find method by name <dl compact><dt><b>Parameters: </b><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em>name</em>&nbsp;</td><td>of the method </td></tr></table></dl><dl compact><dt><b>Returns: </b><dd>method with such name or <code>NULL</code> if not found. In case of polymorphic methods,  reference to first once is returned. <code>RTTIMethodDescriptor.getIndex()</code> method can  be used to get index of this method in array returned by <code>getMethods</code>. You can then check name, number and type of parameters of method descriptos references by following elements of the array. Code can look something like it:<br> <pre>     <a class="el" href="classRTTIMethodDescriptor.html">RTTIMethodDescriptor</a>* mth = cls-&gt;findMethod(name);     if (mth != NULL) {          <a class="el" href="classRTTIMethodDescriptor.html">RTTIMethodDescriptor</a>** allMethods = cls-&gt;<a class="el" href="classRTTIClassDescriptor.html#RTTIClassDescriptora10">getMethods</a>();         for (int i = mth-&gt;getIndex(),                         n = cls-&gt;<a class="el" href="classRTTIClassDescriptor.html#RTTIClassDescriptora11">getNumberOfMethods</a>();               i &lt; n &amp;&amp; strcmp(allMethods[i]-&gt;getName, name) == 0;               i++)          {               if (allMethods[i]-&gt;getNumberOfParamters() == nParams                   &amp;&amp; ... ) // check if method profile matches profile of searched method              {                  return allMethods[i];              }          }      }     return NULL; </pre> </dl>    </td>  </tr></table><a name="RTTIClassDescriptora8" doxytag="RTTIClassDescriptor::getBaseClasses"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> RTTIClassDescriptor** RTTIClassDescriptor::getBaseClasses </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap><code> [inline]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>Get base classes of this class <dl compact><dt><b>Returns: </b><dd>array of pointers to base classes descriptors </dl>    </td>  </tr></table><a name="RTTIClassDescriptora2" doxytag="RTTIClassDescriptor::getFields"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> <a class="el" href="classRTTIFieldDescriptor.html">RTTIFieldDescriptor</a>** RTTIClassDescriptor::getFields </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap><code> [inline]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>Get array of class fields. <dl compact><dt><b>Returns: </b><dd>array of pointers to field descriptors ordered by field name. </dl>    </td>  </tr></table><a name="RTTIClassDescriptora6" doxytag="RTTIClassDescriptor::getFlags"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> int RTTIClassDescriptor::getFlags </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap><code> [inline]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>Get class flags <dl compact><dt><b>Returns: </b><dd>combination of <code>RTTIClassFlags</code> flags </dl>    </td>  </tr></table><a name="RTTIClassDescriptora10" doxytag="RTTIClassDescriptor::getMethods"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> <a class="el" href="classRTTIMethodDescriptor.html">RTTIMethodDescriptor</a>** RTTIClassDescriptor::getMethods </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap><code> [inline]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>Get array with the clas methods <dl compact><dt><b>Returns: </b><dd>array of pointers to method descriptors ordered by method name </dl>    </td>  </tr></table><a name="RTTIClassDescriptora4" doxytag="RTTIClassDescriptor::getName"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> char const* RTTIClassDescriptor::getName </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap><code> [inline]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>Get name of the class <dl compact><dt><b>Returns: </b><dd>class name </dl>    </td>  </tr></table><a name="RTTIClassDescriptora1" doxytag="RTTIClassDescriptor::getNext"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> RTTIClassDescriptor* RTTIClassDescriptor::getNext </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap><code> [inline]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>Get next class. All classes in repository are linked in L1 list.  Repository <code>getFirstClass</code> method can be used to get reference to first class  descriptor in the list. And <code>getNext</code> method can be used to iterate through the * list <dl compact><dt><b>Returns: </b><dd>next class descriptor in the list or <code>NULL</code> if this class descriptor is the last </dl>    </td>  </tr></table><a name="RTTIClassDescriptora9" doxytag="RTTIClassDescriptor::getNumberOfBaseClasses"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> int RTTIClassDescriptor::getNumberOfBaseClasses </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap><code> [inline]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>Get number of base classes <dl compact><dt><b>Returns: </b><dd>number of direct base classes </dl>    </td>  </tr></table><a name="RTTIClassDescriptora3" doxytag="RTTIClassDescriptor::getNumberOfFields"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> int RTTIClassDescriptor::getNumberOfFields </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap><code> [inline]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>Get number of fields in the class <dl compact><dt><b>Returns: </b><dd>number of fields in the class (size of array returned by <code>getFields</code> method) </dl>    </td>  </tr></table><a name="RTTIClassDescriptora11" doxytag="RTTIClassDescriptor::getNumberOfMethods"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -