Вернуть один из двух возможных объектов разных типов, разделяющих метод
У меня есть 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()
на результат?