I\'m quite new to C# and OOP so please bear with me.
I have two classes with different namespaces:
namespace Class1
public class class1
{
 public do         
        
Everybody here gave you the right answer for accessing the fields, but in the case of area and volume you are approaching the problem in a procedural, not OO way. This is an example showing you how to access the internal fields, and an OO way to approach this kind of problems:
public abstract class Shape
{
    public abstract double Area();
    public abstract double Perimeter();
}
public class Circle : Shape
{
    public double Radius;
    public override double Perimeter()
    {
        return 2 * Radius * Math.PI;
    }
    public override double Area()
    {
        return Radius * Radius * Math.PI;
    }
}
public class Square : Shape
{
    public double Side;
    public override double Perimeter()
    {
        return Side * 4;
    }
    public override double Area()
    {
        return Side * Side;
    }
}
public abstract class Solid
{
    public abstract double Volume();
}
public abstract class CircleBaseSolid : Solid
{
    protected Circle Base = new Circle();
    public double Radius
    {
        get { return Base.Radius; }
        set { Base.Radius = value; }
    }
    public double Height;
}
public class Cylinder : CircleBaseSolid
{
    public override double Volume()
    {
        return Base.Area() * Height;
    }
}
public class Cone : CircleBaseSolid
{
    public override double Volume()
    {
        return Base.Area() * Height / 3;
    }
}
public abstract class SquareBaseSolid : Solid
{
    protected Square Base = new Square();
    public double Side
    {
        get { return Base.Side; }
        set { Base.Side = value; }
    }
    public double Height;
}
public class SquareParallelepiped : SquareBaseSolid
{
    public override double Volume()
    {
        return Base.Area() * Height;
    }
}
public class SquarePyramid : SquareBaseSolid
{
    public override double Volume()
    {
        return Base.Area() * Height / 3;
    }
}