OriginalGriff
Ошибка означает то, что она говорит: существует по крайней мере один маршрут через метод, который может привести к тому, что ничего не будет возвращено.
На практике это не может произойти, но ..... если я исправлю ваш отступ:
public TextBox txtbox(string textid)
{
TextBox txt = new TextBox();
int i = 1;
while (i<3)
{
txt.ID = textid+i.ToString();
txt.Text = "inserted from class";
return txt;
}
}
Система этого не делает
i
всегда будет меньше, чем
3
, поэтому он предполагает, что есть случаи, когда цикл вообще не вводится, и в этом случае нет возвращаемого значения.
Но... вы не можете вернуть несколько значений, и если вы используете
return
внутри цикла метод немедленно завершает работу и больше ничего не делает - так что ваш цикл (который никогда бы не вышел, если бы не
return
утверждение в значительной степени бессмысленно, поскольку весь ваш метод оценивает это:
public TextBox txtbox(string textid)
{
TextBox txt = new TextBox();
txt.ID = textid + "1";
txt.Text = "inserted from class";
return txt;
}
Если вы хотите вернуть несколько значений, вам нужно изменить сигнатуру метода, чтобы он возвращал коллекцию : a
TextBox[]
или
List<TextBox>
возможно, а потом собрать коллекцию перед выходом.