Как я могу заставить GhostDoc правильно документировать реализацию интерфейса?
Я использовал Ghostdoc Free год назад в Visual Studio 2015, и мне очень понравилось то, что он сделал, и решил купить его. Теперь я должен использовать Visual Studio 2012 и заметил, что комментарии к классам не так хороши, как раньше.
Теперь он просто говорит:
/// The ClassName class.
тогда как раньше было бы различать классы, которые реализуют интерфейсы с чем-то вроде:
/// Implements the <see cref="IInterfaceName"
Я посмотрел в правилах, но я не уверен, как извлечь имена из интерфейсов. Теперь у меня есть это:
/// Generates the summary documentation of the class.
private void GenerateSummaryDocumentation()
{
// Assign the current code element.
var codeElement = Context.CurrentCodeElement;
// If the class appears to be a base class.
if (codeElement.Name.EndsWith("Base"))
{
// Write the summary documentation of the class.
this.WriteLine("Provides a base class to derive {0} of.", Context.ExecMacro("$(TypeName.Words.All)"));
}
else
{
if (codeElement.HasBaseTypes)
{
var baseType = codeElement.BaseTypes[0];
baseType = baseType.Substring(baseType.LastIndexOf(".") + 1);
this.WriteLine("Implementation of {0}", baseType);
}
else
{
// Write the summary documentation of the class.
this.WriteLine("Provides a class that implements a {0}", Context.ExecMacro("$(TypeName.Words.All)"));
}
}
return;
}
Что приводит к этому:
/// Provides a class that implements a class name
который просто берет имя класса и разделяет его. А также /// Implementation of IInterfaceName
что немного тупо (в случае нескольких интерфейсов)
Какие-нибудь примеры, которые вставили бы здесь имя интерфейса?
1 ответ
CodeElement.BaseTypes[0] в шаблоне правила должен был вернуть имя интерфейса для сгенерированного комментария.
Мы рады помочь вам решить эту проблему, пожалуйста, напишите нам в службу поддержки на submain dot com
Спасибо!