首页 > 后端开发 > C++ > C#如何实现类似C的'friend”关键字的功能?

C#如何实现类似C的'friend”关键字的功能?

Mary-Kate Olsen
发布: 2024-12-29 17:24:18
原创
590 人浏览过

How Does C# Achieve Functionality Similar to C  's

C# 中的 Friend 关键字等效

在 C 中,“friend”关键字将一个类的私有成员的访问权限授予另一个类。在 C# 中,没有直接等效项,但“InternalsVisibleTo”属性提供了用于测试目的的有限访问。

“InternalsVisibleTo”属性的使用

“InternalsVisibleTo”属性放置在每个程序集中的 AssemblyInfo.cs 文件中。它指定允许哪些其他程序集访问其内部成员,其中包括私有成员。

示例

要允许 Tester 类访问另一个类的私有成员:

// AssemblyInfo.cs
[assembly: InternalsVisibleTo("TesterAssembly")]
登录后复制

请注意,“TesterAssembly”必须是包含测试器的程序集的名称

限制

“InternalsVisibleTo”并不是“friend”关键字的真正等价物,并且有一些限制:

  • 仅内部成员是公开的,不是私有成员。
  • 只能用于程序集,不能用于类。
  • 它不会授予对继承的私有成员的访问权限。
  • 它仅用于测试目的,不应用于其他场景。

以上是C#如何实现类似C的'friend”关键字的功能?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板