I suppose to write a program that calculates the average of up to 50 numbers input by the user and stored in an array. The program should use a class name Statistics and have an AddNumber method that stores numbers into an arrey one at a time. The class should have a count property that keeps track of the number of numbers stored and a method called Average that returns the average of the numbers.

To write a program that fulfills these requirements, you can follow these steps:

1. Create a class named "Statistics" that will handle the calculations and storage of numbers.

2. Inside the "Statistics" class, declare an array to store the numbers. Since you need to store up to 50 numbers, you can declare an array of size 50.

3. Create a private integer variable called "count" to keep track of the number of numbers stored. Initialize it to 0.

4. Implement a public method called "AddNumber" that takes an integer parameter (let's call it "number") representing the number to be added. In this method, you will store the number in the array.

Here's the implementation of "AddNumber" method:

```csharp
public void AddNumber(int number)
{
if (count < 50)
{
numbers[count] = number;
count++;
}
else
{
// Handle the case when the array is already full
Console.WriteLine("Array is already full.");
}
}
```

5. Implement a public method called "Average" that calculates and returns the average of the stored numbers.

Here's the implementation of "Average" method:

```csharp
public double Average()
{
if (count == 0)
{
// Handle the case when there are no numbers stored
Console.WriteLine("No numbers stored.");
return 0;
}

int sum = 0;
for (int i = 0; i < count; i++)
{
sum += numbers[i];
}

return (double)sum / count;
}
```

Note that we divide the sum by the count using the cast `(double)` to ensure the result is a double, as dividing two integers would yield an integer result.

Here's an example usage of the "Statistics" class:

```csharp
class Program
{
static void Main(string[] args)
{
Statistics stats = new Statistics();

stats.AddNumber(10);
stats.AddNumber(20);
stats.AddNumber(30);

double average = stats.Average();
Console.WriteLine("Average: " + average);
}
}
```

In this example, the numbers 10, 20, and 30 are added to the "Statistics" object, and then the average is calculated and printed to the console.

You can extend this program by adding user input to get the numbers dynamically, but this basic structure provides the foundation for fulfilling the given requirements.