Я пытался сделать это недавно, и я уверен, что F # игнорирует атрибут EditorBrowsable
.
Единственный способ заставить объявление исчезнуть из IntelliSense - это использовать ObsoleteAttribute
, но это также означает, что вы получите предупреждение, когда вы фактически используете функцию.Это немного прискорбно, но это может быть нормально, если вы используете функцию только из некоторого файла реализации, где вы можете отключить предупреждение:
Объявление в одном файле:
module Internal =
[<System.ObsoleteAttribute>]
let foo = 10
Файл реализациикоторый отключает предупреждения и использует foo
:
// Disable 'obsolete' warning
#nowarn "44"
// 'Internal' is empty (and is not shown in the completion list)
Internal.foo
Атрибут может применяться к модулям, функциям и типам, поэтому он довольно гибкий.