Можно ли скрыть некоторые параметры метода, например необязательные параметры для рекурсивной функции, которую пользователь никогда не должен устанавливать?
Я думаю, что нет, так что, чтобы обойти это, является обычной практикой помещать эти функции в нестатические классы и отслеживать вещи, которые мы хотим скрыть в приватных переменных экземпляра класса?
Просто для полноты хочу скрыть два последних параметра:
<Extension>
Public Function ToXmlDoc(key As Win32.RegistryKey,
Optional exportOptions As ExportOptions = ExportOptions.Recursive,
Optional regValueOptions As Win32.RegistryValueOptions = Win32.RegistryValueOptions.DoNotExpandEnvironmentNames,
Optional useEmptyValues As Boolean = False,
Optional xDoc As Xml.XmlDocument = Nothing,
Optional xParentNode As Xml.XmlNode = Nothing) As XmlDocument