C# 中的 Friend 关键字
在面向对象编程中,“friend”关键字提供对某些类的私有类成员的受控访问。虽然 C 提供了“friend”关键字,但 C# 缺乏此功能的直接等效项。
替代方案:InternalsVisibleTo
C# 利用 InternalsVisibleTo 属性来实现对 private 的有限访问成员,主要用于测试目的。此属性将程序集或命名空间指定为受信任,从而允许它们访问对外部代码隐藏的内部成员。
示例
请考虑 AssemblyInfo.cs 中的以下示例:
[assembly: InternalsVisibleTo("OtherAssembly")]
此属性使程序集可供“OtherAssembly”访问。现在可以从“OtherAssembly”访问程序集中标记为内部的任何方法或属性。
测试中的使用
InternalsVisibleTo 属性在单元测试中特别有用场景。通过将程序集标记为测试程序集的 InternalsVisibleTo,私有成员可以出于测试目的而访问,同时对其他外部代码保持隐藏。
注意事项
虽然 InternalsVisibleTo 提供了一种机制对于受控访问,它与 C“friend”关键字有几个不同之处方式:
以上是C# 如何实现类似于 C 的'Friend”关键字对私有成员的受控访问的功能?的详细内容。更多信息请关注PHP中文网其他相关文章!