2011-12-27 3 views
1

У меня есть класс, который реализует многие внутренние интерфейсы, и я бы хотел, чтобы этот читатель документации не мог видеть, что класс реализует все эти внутренние интерфейсы, потому что эта информация не имеет отношения к читателям.Как удалить внутренние интерфейсы со страницы справки класса, созданной с помощью Sandcastle или SHFB?

Например, если у меня есть следующий класс:

public class MyPublicClass : MyBasePublicClass, MyPublicInterface, MyInternalInterface1, MyInternalInterface2, MyInternalInterface3 
{ 

} 

public class MyBasePublicClass 
{ 

} 

public interface MyPublicInterface 
{ 
    // Interface members... 
} 

internal interface MyInternalInterface1 
{ 
    // Interface members... 
} 

internal interface MyInternalInterface2 
{ 
    // Interface members... 
} 

internal interface MyInternalInterface3 
{ 
    // Interface members... 
} 

Я хочу, чтобы читатель документации видит MyPublicClass как это:

public class MyPublicClass : MyBasePublicClass, MyPublicInterface 
{ 

} 

Это можно достичь с помощью Sandcastle или SHFB и как?

Спасибо!

ответ

0

я задал этот вопрос на Sandcastle Codeplex Обсуждении - How to remove internal interfaces from class help page?

Поскольку я не получил адекватный ответ, я закончил создание пользовательского Sandcastle Help File Builder Plug-In, который перехватывает в SHFB после отражения информации генерироваться.

Затем он открывает информационный файл отражения и удаляет информацию о реализации внутренних интерфейсов от типов, реализующих внутренние интерфейсы, и сохраняет измененный информационный файл отражения.

1

Я запускаю версию 1.9.3.0 графического интерфейса Builder Builder с помощью Sandcastle, которые имеют параметр DocumentInternals в разделе «Видимость». Этот параметр удаляет ссылки только на внутренние интерфейсы и удаляет их из документации, но они всегда отображаются в классе.

Так что я думаю, что нет простого решения для этого. Редактирование файлов Sandcastle - это решение.