У меня есть класс проведения сложных научных расчетов. Он настроен только на то, чтобы позволить пользователю создать правильно созданный экземпляр дела. Однако для правильного тестирования кода требуется установить внутренние переменные состояния напрямую, поскольку справочные документы предоставляют эти данные в своих тестовых примерах. Сделано неправильно, однако, это может сделать недействительным состояние.
Поэтому у меня должна быть возможность, функция-член, устанавливать внутренние переменные из программ модульного тестирования. Но я хочу настоятельно отговорить обычных пользователей от вызова этой функции. (Да, решительный пользователь может испортить что угодно ... но я не хочу рекламировать , что есть способ сделать что-то неправильно .)
Было бы хорошо, если бы можно было сказать Intellisense, чтобы, например, не показывать функцию.
Лучшее решение, которое у меня есть на данный момент, это просто назвать функцию как-то так: DangerousSet ().
Какие еще варианты у меня есть?
Последующие Up
Я нашел ответ Дэвида Б. наиболее полезным в моей ситуации. Спасибо!
Предложение Муфасы использовать рефлексию было великим, но сложным для реализации (для меня).
Предложение Криса использовать декоратор было хорошо, но не получилось.
Предложение BFree по XML также хорошо, и уже использовалось, но на самом деле не решает проблему.
Наконец, предложение BillTheLizard о том, что проблема в исходных документах, не поддается контролю. Международные эксперты публикуют высокотехнологичные книги и журнальные статьи для использования их сообществом. Тот факт, что они не отвечают моим конкретным потребностям, является фактом жизни. Альтернативных документов просто нет.