Receive an instance of A in the constructor. Even better is to have A inherit some interface and receive that interface in the constructor. 
public interface IA {}
public class A : IA {}
public class B 
{
    public IA AInstance { get; set; }
    public B (IA a)
    {
        AInstance = a;
    }
    public void test()
    {
        /* do something with `AInstance` */
    }
}
Look into the concepts of Dependency Injection and Inversion of Control:
- What is dependency injection?
- What is Inversion of Control?
And wrap it all under the SOLID principals 
If you can't get IA as a dependency but need to create a new instance of it in your B class then use the Factory design pattern and let B depend on some instance of ISomeFactory