Вернуть один из двух возможных объектов разных типов, разделяющих метод

У меня есть 2 класса:

public class Articles
{
    private string name;

    public Articles(string name)
    {
        this.name = name;
    }

    public void Output()
    {
        Console.WriteLine("The class is: " + this.GetType());
        Console.WriteLine("The name is: " + name);
    }
}

А также

public class Questionnaire 
{
    private string name;

    public Questionnaire(string name)
    {
        this.name = name;
    }

    public void Output()
    {
        Console.WriteLine("The class is: " + this.GetType());
        Console.WriteLine("The name is: " + name);
    }
}

Я хочу написать метод, который принимает целое число (1 означаетArticles должен быть возвращен, 2 означаетQuestionnaire) и имя.

Этот метод должен возвращать экземпляр одного из этих двух классов:

public [What type??] Choose(int x, string name)
    {
        if (x == 1)
        {
           Articles art = new Articles(name);
           return art;
        }
        if (x == 2)
        {
            Questionnaire ques = new Questionnaire(name);
            return ques;
        }
    }

Какой тип возврата я должен использовать, чтобы я мог позвонитьOutput() на результат?

Ответы на вопрос(6)

Ваш ответ на вопрос