C# Syntax beyond me, a beginner : <p>Okay, so still very new to C#, so sorry if this is obvious...</p>

<p>There is some code I can't follow that was created by someone who is much better at C#than I am.</p>

<p>We have a class, call it "CC", and it has a number of fields, one of which is "FORM_NBR".</p>

<p>So, in a nutshell:</p>

<pre><code>public class CC
    {
    public CC();

    //Many, many fields...
    ...
    public long FORM_NBR { get; set; }
    ...
    }
</code></pre>

<p>At some point, an object is created...</p>

<pre><code>CC c = new CC();
</code></pre>

<p>and then this line is called:</p>

<pre><code>c.FORM_NBR = c.FORM_NBR.GetCheckDigit(' ');
</code></pre>

<p>Now, there is this function deep in the library we inherited:</p>

<pre><code>public static short GetCheckDigit(this long nFormNbr, char chFormTypCd)
{
    short nCkDgt = 0;   // Default to 0

    switch (chFormTypCd)
    {
        //Many, many cases...
        ...

        default:
            nCkDgt = CalculateCheckDigit(nFormNbr);
            break;
    }

    return nCkDgt;
}
</code></pre>

<p>My question is this.  Being new-ish to C#, how is GetCheckDigit getting called from a long?  What is this syntax?</p>

<p>I don't even know how I would describe/google this!</p>
