You will not be able to accomplish this through inheritance. Try using the Composite Pattern.
In it, you have several objects that implement and interface and would be would be "composed" of a static class having it as its member. The benefit is that you could then add behaviors to each new class that implements your interface and the would be interchangeable at runtime.
EDIT:
public class Foo
{
protected static class StaticClass
{
public static int Count { get; set; }
}
public virtual string GetBars()
{
return "I am Foo: " + StaticClass.Count++;
}
}
public class FooToo:Foo
{
public override string GetBars()
{
return "I am Foo Too: " + StaticClass.Count++;
}
}
then...
Foo foo = new Foo();
Foo fooToo = new FooToo();
Console.WriteLine(foo.GetBars());
Console.WriteLine(fooToo.GetBars());