Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 864d1c3c3cd8df4e3a2692faf8776e05 > files > 439

db4o-doc-7.4-2.fc13.i686.rpm

<html>
  <head>
    <META http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Creating your own reflector</title>
    <link rel="stylesheet" type="text/css" href="../../../style.css">
  </head>
  <body>
    <div class="CommonContent">
      <div class="CommonContentArea">
        <h1>Creating your own reflector</h1><script>
//We attach this function to a browser object as a variable so that if multiple of these blocks are
//present on the same page, then they will simply over-write eachother with the same function instead
//of generating a naming collision.
window.WikiCodeFormattingCopyToClipboard = function copyToClipboard(sID){
	var sContent = document.getElementById(sID).innerText;
	if( window.clipboardData && clipboardData.setData )
	{
		clipboardData.setData("Text", sContent);
	}
	else
	{
		alert("You must enable javascript access to your clipboard for this feature to work. Please referr to your browser documentation or Google search for instructions.");
	}
}
</script>


<p>By default db4o uses JdkReflector(Java) or NetReflector (.NET) as a GenericReflector delegate.</p>
<p>
However, the programmer can instruct db4o to use a specially designed reflection implementation:</p>



<span name="cs_wiki_filter" csw_filters="cs">
<p>c#:   <code>Db4oFactory.Configure().ReflectWith(reflector)</code> </p>
</span>

<span name="cs_wiki_filter" csw_filters="vb">
<p>VB:   <code>Db4oFactory.Configure().ReflectWith(reflector) </code></p>
</span>
<p>where reflector is one of the available reflectors or your own reflector implementation. </p>
<p>
At present db4o comes with SelfReflector, which was designed for environments, which do not have built-in support for reflections (J2ME for example). In this implementation all the classes' information is stored in special registry. User classes should implement self_get and self_set methods to be registered individually and become "known" to SelfReflector. </p>
<p>
Specific reflectors can be written for special usecases. </p>
<p>Let's look how to create a reflector. Remember that db4o relies on reflector to read the database, so errors in reflector may prevent your database from opening.</p>
<p>To keep things simple we will write a LoggingReflector, its only difference from standard reflector is that information about loaded classes is outputted to console. All reflectors used by db4o should implement com.db4o.reflect.Reflector interface.</p>



<span name="cs_wiki_filter" csw_filters="cs">
<div class="FormattedSourceCode"><div class="fscHeader"><span class="fscFileName">LoggingReflector.cs</span></div><div class="fscCode"><pre ID="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51"><div><!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><span style="color: #008080;">01</span><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_0_64_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_0_64_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_0_64_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_0_64_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_0_64_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_0_64_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_0_64_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_0_64_Open_Text').style.display='inline';"/><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_0_64_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">/**/</span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_0_64_Open_Text"><span style="color: #008000;">/*</span><span style="color: #008000;"> Copyright (C) 2005   db4objects Inc.   </span><span style="color: #008000; text-decoration: underline;">http://www.db4o.com</span><span style="color: #008000;"> </span><span style="color: #008000;">*/</span></span><span style="color: #000000;">
</span><span style="color: #008080;">02</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/None.gif" align="top"/></span><span style="color: #0000FF;">using</span><span style="color: #000000;"> System;
</span><span style="color: #008080;">03</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/None.gif" align="top"/></span><span style="color: #0000FF;">using</span><span style="color: #000000;"> Sharpen.Lang ;
</span><span style="color: #008080;">04</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/None.gif" align="top"/>
</span><span style="color: #008080;">05</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/None.gif" align="top"/></span><span style="color: #0000FF;">namespace</span><span style="color: #000000;"> Db4objects.Db4odoc.Reflections
</span><span style="color: #008080;">06</span><span style="color: #000000;"><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_142_2645_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_142_2645_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_142_2645_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_142_2645_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_142_2645_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_142_2645_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_142_2645_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_142_2645_Open_Text').style.display='inline';"/></span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_142_2645_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_142_2645_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">07</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>  </span><span style="color: #0000FF;">public</span><span style="color: #000000;"> </span><span style="color: #0000FF;">class</span><span style="color: #000000;"> LoggingReflector : Db4objects.Db4o.Reflect.IReflector 
</span><span style="color: #008080;">08</span><span style="color: #000000;"><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_214_2643_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_214_2643_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_214_2643_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_214_2643_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_214_2643_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_214_2643_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_214_2643_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_214_2643_Open_Text').style.display='inline';"/>  </span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_214_2643_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_214_2643_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">09</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>    </span><span style="color: #0000FF;">private</span><span style="color: #000000;"> LoggingArray _arrayHandler;
</span><span style="color: #008080;">10</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>    </span><span style="color: #0000FF;">private</span><span style="color: #000000;"> Db4objects.Db4o.Reflect.IReflector _parent;
</span><span style="color: #008080;">11</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>
</span><span style="color: #008080;">12</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>    </span><span style="color: #0000FF;">public</span><span style="color: #000000;"> LoggingReflector()
</span><span style="color: #008080;">13</span><span style="color: #000000;"><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_339_344_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_339_344_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_339_344_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_339_344_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_339_344_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_339_344_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_339_344_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_339_344_Open_Text').style.display='inline';"/>    </span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_339_344_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_339_344_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">14</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>    }</span></span><span style="color: #000000;">
</span><span style="color: #008080;">15</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>
</span><span style="color: #008080;">16</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>    </span><span style="color: #0000FF;">public</span><span style="color: #000000;"> </span><span style="color: #0000FF;">virtual</span><span style="color: #000000;"> Db4objects.Db4o.Reflect.IReflectArray Array()
</span><span style="color: #008080;">17</span><span style="color: #000000;"><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_411_528_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_411_528_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_411_528_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_411_528_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_411_528_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_411_528_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_411_528_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_411_528_Open_Text').style.display='inline';"/>    </span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_411_528_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_411_528_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">18</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>      </span><span style="color: #0000FF;">if</span><span style="color: #000000;"> (_arrayHandler </span><span style="color: #000000;">==</span><span style="color: #000000;"> </span><span style="color: #0000FF;">null</span><span style="color: #000000;">)
</span><span style="color: #008080;">19</span><span style="color: #000000;"><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_446_499_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_446_499_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_446_499_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_446_499_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_446_499_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_446_499_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_446_499_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_446_499_Open_Text').style.display='inline';"/>      </span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_446_499_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_446_499_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">20</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>        _arrayHandler </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000FF;">new</span><span style="color: #000000;"> LoggingArray(_parent);
</span><span style="color: #008080;">21</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>      }</span></span><span style="color: #000000;">
</span><span style="color: #008080;">22</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>      </span><span style="color: #0000FF;">return</span><span style="color: #000000;"> _arrayHandler;
</span><span style="color: #008080;">23</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>    }</span></span><span style="color: #000000;">
</span><span style="color: #008080;">24</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>
</span><span style="color: #008080;">25</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>    </span><span style="color: #0000FF;">public</span><span style="color: #000000;"> </span><span style="color: #0000FF;">virtual</span><span style="color: #000000;"> </span><span style="color: #0000FF;">bool</span><span style="color: #000000;"> ConstructorCallsSupported()
</span><span style="color: #008080;">26</span><span style="color: #000000;"><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_582_603_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_582_603_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_582_603_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_582_603_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_582_603_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_582_603_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_582_603_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_582_603_Open_Text').style.display='inline';"/>    </span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_582_603_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_582_603_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">27</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>      </span><span style="color: #0000FF;">return</span><span style="color: #000000;"> </span><span style="color: #0000FF;">true</span><span style="color: #000000;">;
</span><span style="color: #008080;">28</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>    }</span></span><span style="color: #000000;">
</span><span style="color: #008080;">29</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>
</span><span style="color: #008080;">30</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>    </span><span style="color: #0000FF;">public</span><span style="color: #000000;"> </span><span style="color: #0000FF;">virtual</span><span style="color: #000000;"> Db4objects.Db4o.Reflect.IReflectClass ForName(</span><span style="color: #0000FF;">string</span><span style="color: #000000;"> className)
</span><span style="color: #008080;">31</span><span style="color: #000000;"><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_688_1189_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_688_1189_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_688_1189_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_688_1189_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_688_1189_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_688_1189_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_688_1189_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_688_1189_Open_Text').style.display='inline';"/>    </span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_688_1189_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_688_1189_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">32</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            System.Type clazz </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000FF;">null</span><span style="color: #000000;">;
</span><span style="color: #008080;">33</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>      </span><span style="color: #0000FF;">try</span><span style="color: #000000;">
</span><span style="color: #008080;">34</span><span style="color: #000000;"><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_747_833_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_747_833_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_747_833_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_747_833_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_747_833_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_747_833_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_747_833_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_747_833_Open_Text').style.display='inline';"/>            </span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_747_833_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_747_833_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">35</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>                clazz </span><span style="color: #000000;">=</span><span style="color: #000000;"> TypeReference.FromString(className).Resolve();
</span><span style="color: #008080;">36</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>            }</span></span><span style="color: #000000;">
</span><span style="color: #008080;">37</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">catch</span><span style="color: #000000;"> (System.Exception)
</span><span style="color: #008080;">38</span><span style="color: #000000;"><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_883_898_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_883_898_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_883_898_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_883_898_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_883_898_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_883_898_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_883_898_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_883_898_Open_Text').style.display='inline';"/>            </span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_883_898_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_883_898_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">39</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>            }</span></span><span style="color: #000000;">
</span><span style="color: #008080;">40</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            Db4objects.Db4o.Reflect.IReflectClass rc </span><span style="color: #000000;">=</span><span style="color: #000000;"> clazz </span><span style="color: #000000;">==</span><span style="color: #000000;"> </span><span style="color: #0000FF;">null</span><span style="color: #000000;">
</span><span style="color: #008080;">41</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>                </span><span style="color: #000000;">?</span><span style="color: #000000;"> </span><span style="color: #0000FF;">null</span><span style="color: #000000;">
</span><span style="color: #008080;">42</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>                : </span><span style="color: #0000FF;">new</span><span style="color: #000000;"> Db4objects.Db4o.Reflect.Net.NetClass(_parent, clazz);
</span><span style="color: #008080;">43</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            Console.WriteLine(</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">ForName: </span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> </span><span style="color: #000000;">+</span><span style="color: #000000;"> clazz </span><span style="color: #000000;">+</span><span style="color: #000000;"> </span><span style="color: #800000;">&quot;</span><span style="color: #800000;"> -&gt; </span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> </span><span style="color: #000000;">+</span><span style="color: #000000;"> (rc </span><span style="color: #000000;">==</span><span style="color: #000000;"> </span><span style="color: #0000FF;">null</span><span style="color: #000000;"> </span><span style="color: #000000;">?</span><span style="color: #000000;"> </span><span style="color: #800000;">&quot;&quot;</span><span style="color: #000000;"> : rc.GetName()));
</span><span style="color: #008080;">44</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">return</span><span style="color: #000000;"> rc;
</span><span style="color: #008080;">45</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>    }</span></span><span style="color: #000000;">
</span><span style="color: #008080;">46</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>
</span><span style="color: #008080;">47</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>        </span><span style="color: #0000FF;">public</span><span style="color: #000000;"> </span><span style="color: #0000FF;">virtual</span><span style="color: #000000;"> Db4objects.Db4o.Reflect.IReflectClass ForObject(</span><span style="color: #0000FF;">object</span><span style="color: #000000;"> a_object)
</span><span style="color: #008080;">48</span><span style="color: #000000;"><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1281_1524_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1281_1524_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1281_1524_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1281_1524_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1281_1524_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1281_1524_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1281_1524_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1281_1524_Open_Text').style.display='inline';"/>    </span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1281_1524_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1281_1524_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">49</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>      </span><span style="color: #0000FF;">if</span><span style="color: #000000;"> (a_object </span><span style="color: #000000;">==</span><span style="color: #000000;"> </span><span style="color: #0000FF;">null</span><span style="color: #000000;">)
</span><span style="color: #008080;">50</span><span style="color: #000000;"><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1311_1334_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1311_1334_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1311_1334_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1311_1334_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1311_1334_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1311_1334_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1311_1334_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1311_1334_Open_Text').style.display='inline';"/>      </span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1311_1334_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1311_1334_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">51</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>        </span><span style="color: #0000FF;">return</span><span style="color: #000000;"> </span><span style="color: #0000FF;">null</span><span style="color: #000000;">;
</span><span style="color: #008080;">52</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>      }</span></span><span style="color: #000000;">
</span><span style="color: #008080;">53</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>      Db4objects.Db4o .Reflect .IReflectClass rc </span><span style="color: #000000;">=</span><span style="color: #000000;"> _parent.ForClass(a_object.GetType());
</span><span style="color: #008080;">54</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>      Console.WriteLine(</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">ForObject:</span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> </span><span style="color: #000000;">+</span><span style="color: #000000;"> a_object</span><span style="color: #000000;">+</span><span style="color: #800000;">&quot;</span><span style="color: #800000;"> -&gt; </span><span style="color: #800000;">&quot;</span><span style="color: #000000;">+</span><span style="color: #000000;">(rc</span><span style="color: #000000;">==</span><span style="color: #000000;"> </span><span style="color: #0000FF;">null</span><span style="color: #000000;"> </span><span style="color: #000000;">?</span><span style="color: #000000;"> </span><span style="color: #800000;">&quot;&quot;</span><span style="color: #000000;"> : rc.GetName()));
</span><span style="color: #008080;">55</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>      </span><span style="color: #0000FF;">return</span><span style="color: #000000;"> rc;
</span><span style="color: #008080;">56</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>    }</span></span><span style="color: #000000;">
</span><span style="color: #008080;">57</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>
</span><span style="color: #008080;">58</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>        </span><span style="color: #0000FF;">public</span><span style="color: #000000;"> </span><span style="color: #0000FF;">virtual</span><span style="color: #000000;"> </span><span style="color: #0000FF;">bool</span><span style="color: #000000;"> IsCollection(Db4objects.Db4o.Reflect.IReflectClass candidate)
</span><span style="color: #008080;">59</span><span style="color: #000000;"><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1618_2085_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1618_2085_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1618_2085_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1618_2085_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1618_2085_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1618_2085_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1618_2085_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1618_2085_Open_Text').style.display='inline';"/>    </span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1618_2085_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1618_2085_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">60</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">bool</span><span style="color: #000000;"> result </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000FF;">false</span><span style="color: #000000;">;
</span><span style="color: #008080;">61</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">if</span><span style="color: #000000;"> (candidate.IsArray())
</span><span style="color: #008080;">62</span><span style="color: #000000;"><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1702_1749_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1702_1749_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1702_1749_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1702_1749_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1702_1749_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1702_1749_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1702_1749_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1702_1749_Open_Text').style.display='inline';"/>            </span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1702_1749_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1702_1749_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">63</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>                result </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000FF;">false</span><span style="color: #000000;">;
</span><span style="color: #008080;">64</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>            }</span></span><span style="color: #000000;">
</span><span style="color: #008080;">65</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">if</span><span style="color: #000000;"> (</span><span style="color: #0000FF;">typeof</span><span style="color: #000000;">(System.Collections.ICollection).IsAssignableFrom(
</span><span style="color: #008080;">66</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>                ((Db4objects.Db4o.Reflect.Net.NetClass)candidate).GetNetType()))
</span><span style="color: #008080;">67</span><span style="color: #000000;"><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1916_1962_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1916_1962_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1916_1962_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1916_1962_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1916_1962_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1916_1962_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1916_1962_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1916_1962_Open_Text').style.display='inline';"/>            </span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1916_1962_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_1916_1962_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">68</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>                result </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000FF;">true</span><span style="color: #000000;">;
</span><span style="color: #008080;">69</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>            }</span></span><span style="color: #000000;">
</span><span style="color: #008080;">70</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            Console.WriteLine(</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Type </span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> </span><span style="color: #000000;">+</span><span style="color: #000000;"> candidate.GetName () </span><span style="color: #000000;">+</span><span style="color: #000000;"> </span><span style="color: #800000;">&quot;</span><span style="color: #800000;"> is Collection </span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> </span><span style="color: #000000;">+</span><span style="color: #000000;"> result);
</span><span style="color: #008080;">71</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">return</span><span style="color: #000000;"> result;
</span><span style="color: #008080;">72</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>    }</span></span><span style="color: #000000;">
</span><span style="color: #008080;">73</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>
</span><span style="color: #008080;">74</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>    </span><span style="color: #0000FF;">public</span><span style="color: #000000;"> </span><span style="color: #0000FF;">virtual</span><span style="color: #000000;"> </span><span style="color: #0000FF;">object</span><span style="color: #000000;"> DeepClone(</span><span style="color: #0000FF;">object</span><span style="color: #000000;"> context)
</span><span style="color: #008080;">75</span><span style="color: #000000;"><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_2139_2178_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_2139_2178_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_2139_2178_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_2139_2178_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_2139_2178_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_2139_2178_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_2139_2178_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_2139_2178_Open_Text').style.display='inline';"/>    </span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_2139_2178_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_2139_2178_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">76</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>      </span><span style="color: #0000FF;">return</span><span style="color: #000000;"> </span><span style="color: #0000FF;">new</span><span style="color: #000000;"> LoggingReflector();
</span><span style="color: #008080;">77</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>    }</span></span><span style="color: #000000;">
</span><span style="color: #008080;">78</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>
</span><span style="color: #008080;">79</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>        </span><span style="color: #0000FF;">public</span><span style="color: #000000;"> Db4objects.Db4o.Reflect.IReflectClass ForClass(Type clazz)
</span><span style="color: #008080;">80</span><span style="color: #000000;"><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_2262_2506_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_2262_2506_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_2262_2506_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_2262_2506_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_2262_2506_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_2262_2506_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_2262_2506_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_2262_2506_Open_Text').style.display='inline';"/>        </span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_2262_2506_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_2262_2506_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">81</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            Db4objects.Db4o.Reflect.IReflectClass rc </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000FF;">new</span><span style="color: #000000;"> Db4objects.Db4o.Reflect.Net.NetClass(_parent, clazz);
</span><span style="color: #008080;">82</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            Console.WriteLine(</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">ForClass: </span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> </span><span style="color: #000000;">+</span><span style="color: #000000;"> clazz </span><span style="color: #000000;">+</span><span style="color: #000000;"> </span><span style="color: #800000;">&quot;</span><span style="color: #800000;"> -&gt; </span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> </span><span style="color: #000000;">+</span><span style="color: #000000;"> (rc </span><span style="color: #000000;">==</span><span style="color: #000000;"> </span><span style="color: #0000FF;">null</span><span style="color: #000000;"> </span><span style="color: #000000;">?</span><span style="color: #000000;"> </span><span style="color: #800000;">&quot;&quot;</span><span style="color: #000000;"> : rc.GetName()));
</span><span style="color: #008080;">83</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">return</span><span style="color: #000000;"> rc;
</span><span style="color: #008080;">84</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>        }</span></span><span style="color: #000000;">
</span><span style="color: #008080;">85</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>
</span><span style="color: #008080;">86</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>        </span><span style="color: #0000FF;">public</span><span style="color: #000000;"> </span><span style="color: #0000FF;">void</span><span style="color: #000000;"> SetParent(Db4objects.Db4o.Reflect.IReflector reflector)
</span><span style="color: #008080;">87</span><span style="color: #000000;"><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_2592_2636_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_2592_2636_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_2592_2636_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_2592_2636_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_2592_2636_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_2592_2636_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_2592_2636_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_2592_2636_Open_Text').style.display='inline';"/>        </span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_2592_2636_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsCS.ZipsLoggingReflector.Cs_LoggingReflector.Cs_1503_51_2592_2636_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">88</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            _parent </span><span style="color: #000000;">=</span><span style="color: #000000;"> reflector;
</span><span style="color: #008080;">89</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>        }</span></span><span style="color: #000000;">
</span><span style="color: #008080;">90</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>
</span><span style="color: #008080;">91</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>    }</span></span><span style="color: #000000;">
</span><span style="color: #008080;">92</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockEnd.gif" align="top"/>}</span></span></div></pre></div></div>
</span>

<span name="cs_wiki_filter" csw_filters="vb">
<div class="FormattedSourceCode"><div class="fscHeader"><span class="fscFileName">LoggingReflector.vb</span></div><div class="fscCode"><pre ID="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51"><div><!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><span style="color: #008080;">01</span><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/None.gif" align="top"/><span style="color: #008000;">'</span><span style="color: #008000;"> Copyright (C) 2004 - 2007 db4objects Inc. http://www.db4o.com </span><span style="color: #008000;">
</span><span style="color: #008080;">02</span><span style="color: #008000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/None.gif" align="top"/></span><span style="color: #0000FF;">Imports</span><span style="color: #000000;"> System
</span><span style="color: #008080;">03</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/None.gif" align="top"/></span><span style="color: #0000FF;">Imports</span><span style="color: #000000;"> Db4objects.Db4o.Reflect
</span><span style="color: #008080;">04</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/None.gif" align="top"/></span><span style="color: #0000FF;">Imports</span><span style="color: #000000;"> Db4objects.Db4o.Reflect.Net
</span><span style="color: #008080;">05</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/None.gif" align="top"/>
</span><span style="color: #008080;">06</span><span style="color: #000000;"><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_149_3508_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_149_3508_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_149_3508_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_149_3508_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_149_3508_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_149_3508_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_149_3508_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_149_3508_Open_Text').style.display='inline';"/></span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_149_3508_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">Namespace Db4objects</span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_149_3508_Open_Text"><span style="color: #0000FF;">Namespace</span><span style="color: #000000;"> Db4objects.Db4odoc.Reflections
</span><span style="color: #008080;">07</span><span style="color: #000000;"><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_201_3494_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_201_3494_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_201_3494_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_201_3494_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_201_3494_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_201_3494_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_201_3494_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_201_3494_Open_Text').style.display='inline';"/>    </span><span style="color: #0000FF;">Public</span><span style="color: #000000;"> </span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_201_3494_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">Class LoggingReflector</span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_201_3494_Open_Text"><span style="color: #0000FF;">Class</span><span style="color: #000000;"> LoggingReflector
</span><span style="color: #008080;">08</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>        </span><span style="color: #0000FF;">Implements</span><span style="color: #000000;"> IReflector
</span><span style="color: #008080;">09</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>        </span><span style="color: #0000FF;">Private</span><span style="color: #000000;"> _arrayHandler </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> LoggingArray
</span><span style="color: #008080;">10</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>        </span><span style="color: #0000FF;">Private</span><span style="color: #000000;"> _parent </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> IReflector
</span><span style="color: #008080;">11</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>
</span><span style="color: #008080;">12</span><span style="color: #000000;"><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_354_379_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_354_379_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_354_379_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_354_379_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_354_379_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_354_379_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_354_379_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_354_379_Open_Text').style.display='inline';"/>        </span><span style="color: #0000FF;">Public</span><span style="color: #000000;"> </span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_354_379_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">Sub New()</span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_354_379_Open_Text"><span style="color: #0000FF;">Sub</span><span style="color: #000000;"> </span><span style="color: #0000FF;">New</span><span style="color: #000000;">()
</span><span style="color: #008080;">13</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>        </span><span style="color: #0000FF;">End Sub</span></span><span style="color: #000000;">
</span><span style="color: #008080;">14</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>
</span><span style="color: #008080;">15</span><span style="color: #000000;"><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_408_645_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_408_645_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_408_645_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_408_645_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_408_645_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_408_645_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_408_645_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_408_645_Open_Text').style.display='inline';"/>        </span><span style="color: #0000FF;">Public</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Overridable</span><span style="color: #000000;"> </span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_408_645_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">Function Array()</span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_408_645_Open_Text"><span style="color: #0000FF;">Function</span><span style="color: #000000;"> Array() </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> IReflectArray </span><span style="color: #0000FF;">Implements</span><span style="color: #000000;"> IReflector.Array
</span><span style="color: #008080;">16</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">If</span><span style="color: #000000;"> _arrayHandler </span><span style="color: #0000FF;">Is</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Nothing</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Then</span><span style="color: #000000;">
</span><span style="color: #008080;">17</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>                _arrayHandler </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000FF;">New</span><span style="color: #000000;"> LoggingArray(_parent)
</span><span style="color: #008080;">18</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">End</span><span style="color: #000000;"> </span><span style="color: #0000FF;">If</span><span style="color: #000000;">
</span><span style="color: #008080;">19</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">Return</span><span style="color: #000000;"> _arrayHandler
</span><span style="color: #008080;">20</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>        </span><span style="color: #0000FF;">End Function</span></span><span style="color: #000000;">
</span><span style="color: #008080;">21</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>
</span><span style="color: #008080;">22</span><span style="color: #000000;"><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_674_814_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_674_814_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_674_814_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_674_814_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_674_814_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_674_814_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_674_814_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_674_814_Open_Text').style.display='inline';"/>        </span><span style="color: #0000FF;">Public</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Overridable</span><span style="color: #000000;"> </span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_674_814_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">Function ConstructorCallsSupported()</span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_674_814_Open_Text"><span style="color: #0000FF;">Function</span><span style="color: #000000;"> ConstructorCallsSupported() </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Boolean</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Implements</span><span style="color: #000000;"> IReflector.ConstructorCallsSupported
</span><span style="color: #008080;">23</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">Return</span><span style="color: #000000;"> </span><span style="color: #0000FF;">True</span><span style="color: #000000;">
</span><span style="color: #008080;">24</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>        </span><span style="color: #0000FF;">End Function</span></span><span style="color: #000000;">
</span><span style="color: #008080;">25</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>
</span><span style="color: #008080;">26</span><span style="color: #000000;"><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_843_1285_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_843_1285_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_843_1285_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_843_1285_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_843_1285_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_843_1285_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_843_1285_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_843_1285_Open_Text').style.display='inline';"/>        </span><span style="color: #0000FF;">Public</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Overridable</span><span style="color: #000000;"> </span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_843_1285_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">Function ForClass()</span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_843_1285_Open_Text"><span style="color: #0000FF;">Function</span><span style="color: #000000;"> ForClass(</span><span style="color: #0000FF;">ByVal</span><span style="color: #000000;"> clazz </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> System.Type) </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> IReflectClass </span><span style="color: #0000FF;">Implements</span><span style="color: #000000;"> IReflector.ForClass
</span><span style="color: #008080;">27</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">Dim</span><span style="color: #000000;"> rc </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> IReflectClass </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000FF;">New</span><span style="color: #000000;"> NetClass(_parent, clazz)
</span><span style="color: #008080;">28</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">If</span><span style="color: #000000;"> rc </span><span style="color: #0000FF;">Is</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Nothing</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Then</span><span style="color: #000000;">
</span><span style="color: #008080;">29</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>                Console.WriteLine(</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">ForClass: </span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> </span><span style="color: #000000;">+</span><span style="color: #000000;"> clazz.FullName </span><span style="color: #000000;">+</span><span style="color: #000000;"> </span><span style="color: #800000;">&quot;</span><span style="color: #800000;"> -&gt; ... </span><span style="color: #800000;">&quot;</span><span style="color: #000000;">)
</span><span style="color: #008080;">30</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">Else</span><span style="color: #000000;">
</span><span style="color: #008080;">31</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>                Console.WriteLine(</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">ForClass: </span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> </span><span style="color: #000000;">+</span><span style="color: #000000;"> clazz.FullName </span><span style="color: #000000;">+</span><span style="color: #000000;"> </span><span style="color: #800000;">&quot;</span><span style="color: #800000;"> -&gt; </span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> </span><span style="color: #000000;">+</span><span style="color: #000000;"> (rc.GetName()))
</span><span style="color: #008080;">32</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">End</span><span style="color: #000000;"> </span><span style="color: #0000FF;">If</span><span style="color: #000000;">
</span><span style="color: #008080;">33</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">Return</span><span style="color: #000000;"> rc
</span><span style="color: #008080;">34</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>        </span><span style="color: #0000FF;">End Function</span></span><span style="color: #000000;">
</span><span style="color: #008080;">35</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>
</span><span style="color: #008080;">36</span><span style="color: #000000;"><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_1314_1990_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_1314_1990_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_1314_1990_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_1314_1990_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_1314_1990_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_1314_1990_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_1314_1990_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_1314_1990_Open_Text').style.display='inline';"/>        </span><span style="color: #0000FF;">Public</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Overridable</span><span style="color: #000000;"> </span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_1314_1990_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">Function ForName()</span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_1314_1990_Open_Text"><span style="color: #0000FF;">Function</span><span style="color: #000000;"> ForName(</span><span style="color: #0000FF;">ByVal</span><span style="color: #000000;"> className </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> </span><span style="color: #0000FF;">String</span><span style="color: #000000;">) </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> IReflectClass </span><span style="color: #0000FF;">Implements</span><span style="color: #000000;"> IReflector.ForName
</span><span style="color: #008080;">37</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">Dim</span><span style="color: #000000;"> clazz </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> System.Type </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Nothing</span><span style="color: #000000;">
</span><span style="color: #008080;">38</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">Try</span><span style="color: #000000;">
</span><span style="color: #008080;">39</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>                clazz </span><span style="color: #000000;">=</span><span style="color: #000000;"> Sharpen.Lang.TypeReference.FromString(className).Resolve()
</span><span style="color: #008080;">40</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>    
</span><span style="color: #008080;">41</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">Catch</span><span style="color: #000000;"> e </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> System.TypeLoadException
</span><span style="color: #008080;">42</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>                </span><span style="color: #0000FF;">Return</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Nothing</span><span style="color: #000000;">
</span><span style="color: #008080;">43</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">End</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Try</span><span style="color: #000000;">
</span><span style="color: #008080;">44</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>
</span><span style="color: #008080;">45</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">Dim</span><span style="color: #000000;"> rc </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> IReflectClass </span><span style="color: #000000;">=</span><span style="color: #000000;"> ForClass(clazz)
</span><span style="color: #008080;">46</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">If</span><span style="color: #000000;"> rc </span><span style="color: #0000FF;">Is</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Nothing</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Then</span><span style="color: #000000;">
</span><span style="color: #008080;">47</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>                Console.WriteLine(</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">ForName: </span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> </span><span style="color: #000000;">+</span><span style="color: #000000;"> clazz.FullName </span><span style="color: #000000;">+</span><span style="color: #000000;"> </span><span style="color: #800000;">&quot;</span><span style="color: #800000;"> -&gt; ... </span><span style="color: #800000;">&quot;</span><span style="color: #000000;">)
</span><span style="color: #008080;">48</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">Else</span><span style="color: #000000;">
</span><span style="color: #008080;">49</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>                Console.WriteLine(</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">ForName: </span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> </span><span style="color: #000000;">+</span><span style="color: #000000;"> clazz.FullName </span><span style="color: #000000;">+</span><span style="color: #000000;"> </span><span style="color: #800000;">&quot;</span><span style="color: #800000;"> -&gt; </span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> </span><span style="color: #000000;">+</span><span style="color: #000000;"> (rc.GetName()))
</span><span style="color: #008080;">50</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">End</span><span style="color: #000000;"> </span><span style="color: #0000FF;">If</span><span style="color: #000000;">
</span><span style="color: #008080;">51</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">Return</span><span style="color: #000000;"> rc
</span><span style="color: #008080;">52</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>
</span><span style="color: #008080;">53</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>        </span><span style="color: #0000FF;">End Function</span></span><span style="color: #000000;">
</span><span style="color: #008080;">54</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>
</span><span style="color: #008080;">55</span><span style="color: #000000;"><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_2019_2567_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_2019_2567_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_2019_2567_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_2019_2567_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_2019_2567_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_2019_2567_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_2019_2567_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_2019_2567_Open_Text').style.display='inline';"/>        </span><span style="color: #0000FF;">Public</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Overridable</span><span style="color: #000000;"> </span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_2019_2567_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">Function ForObject()</span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_2019_2567_Open_Text"><span style="color: #0000FF;">Function</span><span style="color: #000000;"> ForObject(</span><span style="color: #0000FF;">ByVal</span><span style="color: #000000;"> a_object </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Object</span><span style="color: #000000;">) </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> IReflectClass </span><span style="color: #0000FF;">Implements</span><span style="color: #000000;"> IReflector.ForObject
</span><span style="color: #008080;">56</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">If</span><span style="color: #000000;"> a_object </span><span style="color: #0000FF;">Is</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Nothing</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Then</span><span style="color: #000000;">
</span><span style="color: #008080;">57</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>                </span><span style="color: #0000FF;">Return</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Nothing</span><span style="color: #000000;">
</span><span style="color: #008080;">58</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">End</span><span style="color: #000000;"> </span><span style="color: #0000FF;">If</span><span style="color: #000000;">
</span><span style="color: #008080;">59</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">Dim</span><span style="color: #000000;"> rc </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> IReflectClass </span><span style="color: #000000;">=</span><span style="color: #000000;"> _parent.ForClass(a_object.GetType())
</span><span style="color: #008080;">60</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">If</span><span style="color: #000000;"> rc </span><span style="color: #0000FF;">Is</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Nothing</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Then</span><span style="color: #000000;">
</span><span style="color: #008080;">61</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>                Console.WriteLine(</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">ForObject: </span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> </span><span style="color: #000000;">+</span><span style="color: #000000;"> a_object.ToString </span><span style="color: #000000;">+</span><span style="color: #000000;"> </span><span style="color: #800000;">&quot;</span><span style="color: #800000;"> -&gt; ... </span><span style="color: #800000;">&quot;</span><span style="color: #000000;">)
</span><span style="color: #008080;">62</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">Else</span><span style="color: #000000;">
</span><span style="color: #008080;">63</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>                Console.WriteLine(</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">ForObject: </span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> </span><span style="color: #000000;">+</span><span style="color: #000000;"> a_object.ToString </span><span style="color: #000000;">+</span><span style="color: #000000;"> </span><span style="color: #800000;">&quot;</span><span style="color: #800000;"> -&gt; </span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> </span><span style="color: #000000;">+</span><span style="color: #000000;"> (rc.GetName()))
</span><span style="color: #008080;">64</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">End</span><span style="color: #000000;"> </span><span style="color: #0000FF;">If</span><span style="color: #000000;">
</span><span style="color: #008080;">65</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">Return</span><span style="color: #000000;"> rc
</span><span style="color: #008080;">66</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>        </span><span style="color: #0000FF;">End Function</span></span><span style="color: #000000;">
</span><span style="color: #008080;">67</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>
</span><span style="color: #008080;">68</span><span style="color: #000000;"><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_2596_3150_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_2596_3150_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_2596_3150_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_2596_3150_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_2596_3150_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_2596_3150_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_2596_3150_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_2596_3150_Open_Text').style.display='inline';"/>        </span><span style="color: #0000FF;">Public</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Overridable</span><span style="color: #000000;"> </span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_2596_3150_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">Function IsCollection()</span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_2596_3150_Open_Text"><span style="color: #0000FF;">Function</span><span style="color: #000000;"> IsCollection(</span><span style="color: #0000FF;">ByVal</span><span style="color: #000000;"> candidate </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> IReflectClass) </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Boolean</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Implements</span><span style="color: #000000;"> IReflector.IsCollection
</span><span style="color: #008080;">69</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">Dim</span><span style="color: #000000;"> result </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Boolean</span><span style="color: #000000;"> </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000FF;">False</span><span style="color: #000000;">
</span><span style="color: #008080;">70</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">If</span><span style="color: #000000;"> (candidate.IsArray()) </span><span style="color: #0000FF;">Then</span><span style="color: #000000;">
</span><span style="color: #008080;">71</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>                result </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000FF;">False</span><span style="color: #000000;">
</span><span style="color: #008080;">72</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">End</span><span style="color: #000000;"> </span><span style="color: #0000FF;">If</span><span style="color: #000000;">
</span><span style="color: #008080;">73</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">If</span><span style="color: #000000;"> (</span><span style="color: #0000FF;">GetType</span><span style="color: #000000;">(System.Collections.ICollection).IsAssignableFrom((</span><span style="color: #0000FF;">CType</span><span style="color: #000000;">(candidate, NetClass).GetNetType()))) </span><span style="color: #0000FF;">Then</span><span style="color: #000000;">
</span><span style="color: #008080;">74</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>                result </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000FF;">True</span><span style="color: #000000;">
</span><span style="color: #008080;">75</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">End</span><span style="color: #000000;"> </span><span style="color: #0000FF;">If</span><span style="color: #000000;">
</span><span style="color: #008080;">76</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            Console.WriteLine(</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Type </span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> </span><span style="color: #000000;">+</span><span style="color: #000000;"> candidate.GetName() </span><span style="color: #000000;">+</span><span style="color: #000000;"> </span><span style="color: #800000;">&quot;</span><span style="color: #800000;"> isCollection: </span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> </span><span style="color: #000000;">+</span><span style="color: #000000;"> result.ToString())
</span><span style="color: #008080;">77</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">Return</span><span style="color: #000000;"> result
</span><span style="color: #008080;">78</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>        </span><span style="color: #0000FF;">End Function</span></span><span style="color: #000000;">
</span><span style="color: #008080;">79</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>
</span><span style="color: #008080;">80</span><span style="color: #000000;"><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_3179_3303_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_3179_3303_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_3179_3303_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_3179_3303_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_3179_3303_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_3179_3303_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_3179_3303_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_3179_3303_Open_Text').style.display='inline';"/>        </span><span style="color: #0000FF;">Public</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Overridable</span><span style="color: #000000;"> </span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_3179_3303_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">Sub SetParent()</span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_3179_3303_Open_Text"><span style="color: #0000FF;">Sub</span><span style="color: #000000;"> SetParent(</span><span style="color: #0000FF;">ByVal</span><span style="color: #000000;"> reflector </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> IReflector) </span><span style="color: #0000FF;">Implements</span><span style="color: #000000;"> IReflector.SetParent
</span><span style="color: #008080;">81</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            _parent </span><span style="color: #000000;">=</span><span style="color: #000000;"> reflector
</span><span style="color: #008080;">82</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>        </span><span style="color: #0000FF;">End Sub</span></span><span style="color: #000000;">
</span><span style="color: #008080;">83</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>
</span><span style="color: #008080;">84</span><span style="color: #000000;"><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_3332_3480_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_3332_3480_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_3332_3480_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_3332_3480_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_3332_3480_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_3332_3480_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_3332_3480_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_3332_3480_Open_Text').style.display='inline';"/>        </span><span style="color: #0000FF;">Public</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Overridable</span><span style="color: #000000;"> </span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_3332_3480_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">Function DeepClone()</span><span id="ResourcesReferenceImplementation_StrategiesDb4o_Reflection_APIreflectionsVB.ZipsLoggingReflector.Vb_LoggingReflector.Vb_1614_51_3332_3480_Open_Text"><span style="color: #0000FF;">Function</span><span style="color: #000000;"> DeepClone(</span><span style="color: #0000FF;">ByVal</span><span style="color: #000000;"> context </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Object</span><span style="color: #000000;">) </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Object</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Implements</span><span style="color: #000000;"> IReflector.DeepClone
</span><span style="color: #008080;">85</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">Return</span><span style="color: #000000;"> </span><span style="color: #0000FF;">New</span><span style="color: #000000;"> LoggingReflector()
</span><span style="color: #008080;">86</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>        </span><span style="color: #0000FF;">End Function</span></span><span style="color: #000000;">
</span><span style="color: #008080;">87</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>    </span><span style="color: #0000FF;">End Class</span></span><span style="color: #000000;">
</span><span style="color: #008080;">88</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockEnd.gif" align="top"/></span><span style="color: #0000FF;">End Namespace</span></span></div></pre></div></div>
<p>[/filter] 
</p>

<p>It is easy to see that this reflector provides the same functionality as JdkReflector or NetReflector extended by console output. The following simple test will show how it works:</p>

<p> </p>

<p>The output can help you to track all the loaded classes. </p>
<p>
Reflection is a powerful tool, which plays a fundamental role in db4o. Understanding reflection will help you to understand the whole db4o functionality in detail. </p></div>
    </div>
    <div id="footer">
					This revision (10) was last Modified 2006-11-13T19:24:37 by Tetyana.
				</div>
  </body>
</html>