У меня есть 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()
для результата?
dynamic
), но рассмотрите возможность использования строго типизированных решений, показанных в ответах. - person Alexei Levenkov   schedule 03.10.2014