Это путь в Рослине к go через метод в C# строка за строкой?
Что я пытаюсь сделать, это проанализировать комментарии внутри UnitTest и создать документацию:
Это пример теста, который я хочу проанализировать
[TestClass]
public class ClassToAnalyze
{
[TestMethod]
public void MethodToAnalyze()
{
// * Start Testing
Assert.IsTrue(true);
// * Test something other
var text = new string("foobar");
Assert.IsNotNull(text);
// ** Test additional strings
Assert.AreEqual("foobar",text);
// + Test Numbers
TestNumbers();
}
private void TestNumbers()
{
// ** Test integer
var count = 3;
Assert.AreEqual(3, count);
// ** Test Double
var pi = 3.14;
Assert.IsTrue(pi > 0);
}
}
Вы можете видеть комментарии, помеченные звездочкой, это сделать c уровень 1, а тот, у которого 2 звездочки, - это уровень 2 Подобно несортированному списку в уценке.
Но комментарий со знаком + отмечает, что после этого это вызов метода, к которому также относятся комментарии для документации.
Например: я анализирую код Testmethod, все работает нормально. Но комментарий // + Test Numbers указывает на то, что они являются дополнительными комментариями в методах TestNumbers () . Я уже разработал способ анализа комментариев в TestNumbers () , но во время анализа я не вижу связи между комментарием // + Test Numbers и вызовом TestNumbers ( ) в строке после.
То, что я пробовал:
Я попробовал это, но мне удалось получить только список утверждений, и я не нашел способа получить викторины до каждое утверждение.
Как я мог это сделать?
foreach (var method in _classDeclarationSyntax.DescendantNodes().OfType<MethodDeclarationSyntax>())
{
var blockSyntax = methodDeclarationSyntax.Body;
var syntaxNodes = blockSyntax.ChildNodes();
}