Я пытаюсь сгенерировать функцию с параметрами.Добавление заголовка функции и тела работает нормально, но когда я пытаюсь добавить параметры, я получаю исключение, которое мне не удалось решить.
func.AddParameter("num", "int");
Я получаю исключение:
Не удалось вернуть новый элемент кода.Возможно синтаксическая ошибка.Имя нового элемента: num
Вот как я сгенерировал заголовок и тело функции:
VCCodeFunction func = (VCCodeFunction)(((VCFileCodeModel)(file.FileCodeModel)).AddFunction("testfunc", vsCMFunction.vsCMFunctionFunction, "testClass2"));
func.BodyText = "for(int i=0; i < 5; ++i){}\n return 1;";
Это создает:
testClass2 testfunc()
{
for (int i = 0; i < 5; i++) {}
return 1;
}
как временное решениеЯ обошёл проблему, вручную добавив параметры на один символ слева от того места, где начинается тело (или в скобках)
var tp = func.GetStartPoint(vsCMPart.vsCMPartBodyWithDelimiter);
var ep = tp.CreateEditPoint();
ep.CharLeft();
ep.Insert("int num");
, но я чувствую, что это плохая практика.что я делаю не так?