Accessing a common method of generically typed objects in a data structure in c#
<p>I am trying to have a datastructure of an abstract class so I can access a method of different objects implementing that abstract class. This is my code:</p>

<pre><code>    using Subsync.App;
    List&lt;App&gt; installed_apps = new List&lt;object&gt;();
    public Views (string[] args)
            {
                //INSTALL APPS HERE.
                installed_apps.Add (new HelloWorld.HelloWorld ());
                //INSTALL END

                foreach (App app in installed_apps) {
                    foreach (KeyValuePair&lt;string, List&lt;object&gt;&gt; match in app.getTokens ()) {
                        tokens.Add (match.Key, match.Value);
                    }
                }

                //begin dispatch
                Dictionary&lt;string,List&lt;object&gt;&gt; tokenized = Tokenize(args);
                Dispatch(tokenized);
            }
</code></pre>

<p>In namespace Subsync:</p>

<pre><code>public abstract class App
    {
        public abstract Dictionary&lt;string, List&lt;object&gt;&gt; getTokens ();
    }
</code></pre>

<p>In namespace HelloWorld:</p>

<pre><code>public class HelloWorld : App
{

    public HelloWorld ()
    {
    }

    public override Dictionary&lt;string, List&lt;object&gt;&gt; getTokens ()
    {
        Dictionary&lt;string, List&lt;object&gt;&gt; ret = new Dictionary&lt;string, List&lt;object&gt;&gt; ();
        ret.Add("helloworld",new List&lt;object&gt;() {"0","-hw","-helloworld"});
        return ret;
    }
}
</code></pre>

<p>Compiling gives me the error</p>

<blockquote>
  <p>Error CS0246: The type or namespace
  name `App' could not be found. Are you
  missing a using directive or an
  assembly reference? (CS0246) (App)</p>
</blockquote>

<p>All the code files are in the same project folder. What am I doing wrong? Thanks!</p>
