How do I create a Null Object in C#

Martin Fowler’s Refactoring discusses creating Null Objects to avoid lots of

if (myObject == null)

tests.
What is the right way to do this? My attempt violates the “virtual member call in constructor” rule.
Here’s my attempt at it:

public class Animal
{
    public virtual string Name { get; set; }
    public virtual string Species { get; set; }
    public virtual bool IsNull 
    { 
        get { return false; }
    }
}

public sealed class NullAnimal : Animal
{
    public override string Name
    {
        get{ return "NULL"; }
        set { }
    }
    public override string Species
    {
        get { return "NULL"; }
        set { }
    }
    public virtual bool IsNull
    {
        get { return true; }
    }
}

How do I create a Null Object in C#