Назовите пользовательский класс в классе, созданном автоматически?

У меня есть два класса, которые я пытаюсь сгенерировать код, используя CodeDom. Первый класс (StudentModel), довольно просто, я могу генерировать с использованием CodeDom.

Во втором классе, то есть в классе ученика, я пытаюсь сослаться на класс StudentModel. Класс StudentModel будет создан перед созданием класса Student.

Но возможно ли создать второй класс (ученик) с использованием CodeDom???

public class StudentModel
{
  public string Name { get; set; }
}

public class Student
{

    void AddStudent(StudentModel model);
}

1 ответ

Я думаю, что вам просто нужно использовать имя первого типа для генерации метода:

CodeTypeDeclaration studentModelClass = …;

var addStudentMethod =
    new CodeMemberMethod
    {
        Name = "AddStudent",
        Parameters =
        {
            new CodeParameterDeclarationExpression(studentClass.Name, "student")
        }
    };
Другие вопросы по тегам