Extension methods pass by value, so setting
instance in the method does nothing. You can assign the returned value like this:
static void Main(string[] args)
{
TestClass = TestClass.New<TestClass>();
}
but why would you want to do that as opposed to just using new?