【问题标题】:Is it possible to hide a method parameter in .Net是否可以在.Net中隐藏方法参数
【发布时间】:2019-02-26 04:15:18
【问题描述】:

是否可以隐藏方法上的某些参数,例如用户不应该设置的递归函数的可选参数?

我想不,所以要解决这个问题,将这些函数放入非静态类并跟踪我们想要隐藏在实例化类的私有变量中的内容是否正常?

为了完整起见,我想隐藏最后两个参数:

    <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

【问题讨论】:

    标签: c# .net vb.net methods


    【解决方案1】:

    您可以使用参数制作函数/方法的internalprivate 版本。除此之外,不,您只能制作 可选参数,每个有权访问的人都可以看到


    其他资源

    Access Modifiers (C# Programming Guide)

    • public 同一程序集或引用它的其他程序集中的任何其他代码都可以访问该类型或成员。

    • private 类型或成员只能由同一类或结构中的代码访问。

    • protected 类型或成员只能通过同一类中的代码或从该类派生的类中的代码访问。

    • internal 同一程序集中的任何代码都可以访问类型或成员,但不能从另一个程序集中访问。

    • protected internal 类型或成员可以被声明它的程序集中的任何代码访问,也可以从派生的 另一个程序集中的类。

    • private protected 类型或成员只能在其声明程序集中通过同一类中的代码或 派生自该类。


    此处有 Vb 文档

    Access Levels in Visual Basic


    最后如果您不想要 C# 答案,请不要使用标签

    【讨论】:

    • 感谢回复,C#没问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多