Fai in modo che le proprietà di A vengano settate dal costruttore e che siano leggibili tramite delle property pubbliche di sola lettura. B creerà gli oggetti A impostandone i valori tramite il costruttore e dal momento della costruzione tutti potranno solo leggerli.
codice:
class A
{
    private int foo;
    private double bar;
    public A(int pFoo, double pBar)
    {
        foo = pFoo;
        bar = pBar;
    }

    public int Foo
    {
        get { return foo; }
    }
    
    public double Bar
    {
        get { return bar; }
    }
}