是否可以隐藏方法上的某些参数,例如用户永远不应设置的递归函数的可选参数?
我不认为,因此要解决此问题,将这些函数放入非静态类中并跟踪要隐藏在实例化类的私有变量中的事情是否是正常的做法?
为了完整起见,我想隐藏最后两个参数:
<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
答案 0 :(得分:1)
您可以使用参数创建函数/方法的internal
或private
版本。除此之外,没有,您只能设置可选参数,每个有权访问的人都可以看到
其他资源
Access Modifiers (C# Programming Guide)
public
可以由同一程序集或引用该程序集的另一个程序集中的任何其他代码访问该类型或成员。
private
类型或成员只能由相同类或结构中的代码访问。
protected
类型或成员只能由同一类或从该类派生的类中的代码访问。
internal
可以通过同一程序集中的任何代码访问类型或成员,但不能从另一个程序集中访问。
protected internal
类型或成员可以由声明它的程序集中的任何代码访问,也可以从派生内部访问 类在另一个程序集中。
private protected
类型或成员只能在其声明程序集中通过同一类中的代码或类型为 从该类派生的。
此处是Vb文档
最后,如果您不希望C#回答,请不要使用标签