Как программно импортировать документацию из файла .xml в файл .cs?

Swift 4.0

Для async Request-Response вы можете выполнить обработчик завершения пользователем. См. Ниже, я изменил ваше решение с помощью парадигмы обработки завершения.

func getGenres(_ completion: @escaping (NSArray) -> ()) {

        let urlPath = "http://creative.coventry.ac.uk/~bookshop/v1.1/index.php/genre/list"
        print(urlPath)

        guard let url = URL(string: urlPath) else { return }

        let task = URLSession.shared.dataTask(with: url) { (data, response, error) in
            guard let data = data else { return }
            do {
                if let jsonResult = try JSONSerialization.jsonObject(with: data, options: JSONSerialization.ReadingOptions.mutableContainers) as? NSDictionary {
                    let results = jsonResult["genres"] as! NSArray
                    print(results)
                    completion(results)
                }
            } catch {
                //Catch Error here...
            }
        }
        task.resume()
    }

Вы можете вызвать эту функцию, как показано ниже. Простой

getGenres { (array) in
    // Do operation with your array
}
1
задан google dev 16 January 2019 в 15:23
поделиться

1 ответ

используйте CodeDom, Roslyn является платформой компилятора и не поможет вам в вашей проблеме.

  1. Загрузка CS в граф кодов
  2. Найдите методы / свойства в графе и добавьте CodeCommentStatement - см. https://docs.microsoft.com/en-us/. dotnet / framework / отражение и кодирование / как создать файл XML-документации-файл-использование-кодирование
  3. Создать новый исходный файл из графа (пример в ссылке Я предоставил)

РЕДАКТИРОВАТЬ: может быть, проще использовать библиотеку Microsoft.CodeAnalysis (добавить пакет nuget Microsoft.CodeAnalysis.CSharp) из roslyn

var syntaxTree= CSharpSyntaxTree.ParseText(code);

//search for the methods and properties and add comments
// ** your code **
//

//getting the  new sourcecode
var root = (CompilationUnitSyntax)syntaxTree.GetRoot();
var mc= new ModelCollector();
mc.Visit(root);

string newCode = JsonConvert.SerializeObject(mc.models);

Вот Метод создания новых комментариев: https://docs.microsoft.com/en-us/dotnet/api/microsoft.codeanalysis.csharp.syntaxfactory.comment?view=roslyn-dotnet

[ 1111] полный документ библиотеки: https://docs.microsoft.com/en-us/dotnet/api/microsoft.codeanalysis.csharp?view=roslyn-dotnet

0
ответ дан user1519979 16 January 2019 в 15:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: