<span class="hljs-keyword">namespace</span> <span class="hljs-title">Foo</span> <span class="hljs-comment">// namespace</span>
{
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title">Greet</span> : <span class="hljs-title">Base</span> <span class="hljs-comment">// class</span>
    {
        <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">Greet</span><span class="hljs-params">(<span class="hljs-keyword">string</span> who)</span> <span class="hljs-comment">// function</span>
        </span>{
            Who = who;
        }

        <span class="hljs-function">Type&lt;<span class="hljs-keyword">int</span>&gt; <span class="hljs-title">f</span><span class="hljs-params">(<span class="hljs-keyword">int</span> val = <span class="hljs-number">0</span>)</span>
        </span>{
          <span class="hljs-keyword">return</span> <span class="hljs-keyword">new</span> Type&lt;<span class="hljs-keyword">int</span>&gt;(val);
        }
    }

}
