В чём причина ошибки "Нет перегруженного метода, который соответствует делегату"? - C#
Формулировка задачи:
Имеем:
где:
Ошибка 1 Нет перегруженного метода для "Calc", который соответствует делегату "System.Threading.ParameterizedThreadStart"
Как заставить это работать?
А вообще до какого кол-ва потоков многопоточность себя оправдывает?
foreach (var file in allFiles) { myThreads.Add(new Thread(new ParameterizedThreadStart(Calc))); //Ошибка!!! Calc(myLengthList, myNestingList, file); }
private static void Calc(List<ElementOfLengthResultList> myLengthList, List<ElementOfNestingResultList> myNestingList, string file) { SyntaxTree tree = SyntaxTree.ParseFile(file); IEnumerable<MethodDeclarationSyntax> methods = tree.GetRoot().DescendantNodes().OfType<MethodDeclarationSyntax>(); foreach (var method in methods) { if (method.Body != null) { BlockSyntax methodBody = method.ChildNodes().OfType<BlockSyntax>().Single(); IEnumerable<StatementSyntax> bs = methodBody.DescendantNodes().OfType<BlockSyntax>(); int Length = methodBody.DescendantNodes().OfType<StatementSyntax>().Except(bs).Count(); int nestingLevel = new NestingLevelVisitor().Visit(method); string nameOfFile = Path.GetFileName(file); int number = tree.GetLineSpan(method.Identifier.Span, false).StartLinePosition.Line + 1; ElementOfLengthResultList elementLength = new ElementOfLengthResultList(Length, nameOfFile, number); ElementOfNestingResultList elementNesting = new ElementOfNestingResultList(nestingLevel, nameOfFile, number); myLengthList.Add(elementLength); myNestingList.Add(elementNesting); } } }
PS: дико извиняюсь за не тот раздел, случайно вышло, перенесите пожалуйста
Решил проблему так:
Thread th = new Thread(delegate() { Calc(myLengthList, myNestingList, file); });
Решение задачи: «В чём причина ошибки "Нет перегруженного метода, который соответствует делегату"?»
textual
Листинг программы
Thread th = new Thread(delegate() { Calc(myLengthList, myNestingList, file); }); myThreads.Add(th); th.Start();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д