<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to keywords-ref</title><link>https://sourceforge.net/p/asil/wiki/keywords-ref/</link><description>Recent changes to keywords-ref</description><atom:link href="https://sourceforge.net/p/asil/wiki/keywords-ref/feed" rel="self"/><language>en</language><lastBuildDate>Thu, 20 Feb 2014 19:10:33 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/asil/wiki/keywords-ref/feed" rel="self" type="application/rss+xml"/><item><title>keywords-ref modified by Will Pittenger</title><link>https://sourceforge.net/p/asil/wiki/keywords-ref/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Forces a type to be a reference type.  If the type is already a reference, you get a reference to a reference to the type.  Can be applied to variables that are &lt;strong&gt;&lt;a class="" href="/p/asil/wiki/keywords-const/"&gt;const&lt;/a&gt;&lt;/strong&gt;, &lt;strong&gt;&lt;a class="" href="/p/asil/wiki/keywords-var/"&gt;var&lt;/a&gt;&lt;/strong&gt;, &lt;strong&gt;&lt;a class="" href="/p/asil/wiki/keywords-expression/"&gt;expression&lt;/a&gt;&lt;/strong&gt;, return values as well as &lt;strong&gt;&lt;a class="" href="../keywords-typealias"&gt;typealias&lt;/a&gt;&lt;/strong&gt; declarations.  If a formal parameter to a procedure or property was declared as &lt;strong&gt;ref&lt;/strong&gt;, the name of the actual parameter must be preceded by &lt;strong&gt;ref&lt;/strong&gt; as well.  Not the same as &lt;strong&gt;&lt;a class="" href="/p/asil/wiki/keywords-out/"&gt;out&lt;/a&gt;&lt;/strong&gt;.  See the &lt;strong&gt;&lt;a class="" href="/p/asil/wiki/keywords-out/"&gt;out&lt;/a&gt;&lt;/strong&gt; keyword page and &lt;a class="alink" href="/p/asil/wiki/By%20value%20versus%20by%20reference/"&gt;[By value versus by reference]&lt;/a&gt; for details.  If you need to combine &lt;strong&gt;ref&lt;/strong&gt; with &lt;strong&gt;&lt;a class="" href="/p/asil/wiki/keywords-out/"&gt;out&lt;/a&gt;&lt;/strong&gt;, use a type alias.  Can't be used in the same type as &lt;strong&gt;&lt;a class="" href="/p/asil/wiki/keywords-byvalue/"&gt;byvalue&lt;/a&gt;&lt;/strong&gt; even with a type alias.&lt;/p&gt;
&lt;p&gt;The sample below is for &lt;strong&gt;&lt;a class="" href="/p/asil/wiki/keywords-var/"&gt;var&lt;/a&gt;&lt;/strong&gt;, but other uses are similar.  For more on what /TypeDescriptor/ can be, see &lt;a class="" href="../Appendices-Terms-Type%20descriptors"&gt;Type descriptors&lt;/a&gt;.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;\var\ [\ref\] [\readonly\] [\const\] /TypeDescriptor/ /identifier/
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The next sample show the syntax for an actual parameter.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;(\ref\ | \out\ | \byvalue\) /identifier/
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Will Pittenger</dc:creator><pubDate>Thu, 20 Feb 2014 19:10:33 -0000</pubDate><guid>https://sourceforge.netca2f4a5352e4fb5f9a0cf0ab70f50e3608d0db43</guid></item></channel></rss>