Лист экземпляров C#
Здраствуйте, форумчане. Не могу разобраться с листом экземпляров, надеюсь на Вашу помощь. Используя фабричный метод в программе, не могу разобраться с заполнением листа экземпляром, делаю его публичным, но не могу получить доступ к нему внутри класса.
class Menu
{
public void menu()
{
List<Project> projects = new List<Project>();
// манипуляции с меню
switch (menu)
{
case 1:
CreateFunc(new ProjectType());
break;
}
static void CreateFunc(CreateType create)
{
create.NewObject();
}
}
Сам фабричный метод:
abstract class CreateType
{
public abstract ICreate Add();
public void NewObject()
{
var createtype = Add();
createtype.Adding();
}
}
class ProjectType : CreateType
{
public override ICreate Add()
{
return new Project();
}
}
И класс из которого нужно данные передать в лист projects:
public interface ICreate
{
public void Adding();
}
class Project : ICreate
{
public void Adding()
{
Console.Clear();
string name;
string language;
string level;
// манипуляции по заданию переменных name, language, level
projects.Add()
}
}
Суть в том, что мне нужно сохранить эти данные, чтобы использовать в классе Меню, буду благодарен за помощь.
Ответы (1 шт):
Автор решения: Sergey
→ Ссылка
class Menu
{
public void menu()
{
List<Project> projects = new List<Project>();
// манипуляции с меню
switch (menu)
{
case 1:
CreateFunc(new ProjectType());
break;
}
void CreateFunc(ICreateType create)
{
projects.Add(create.Create());
}
}
}
public interface ICreateType
{
public Project Create();
}
class ProjectType : ICreateType
{
public Project Create()
{
return new Project();
}
}
public class Project
{
public string Name { get; set; }
public string Language { get; set; }
public string Level { get; set; }
public Project()
{
Name = "";
Language = "";
Level = "";
}
}