当前位置: 首页 > 编程语言 > C#

在CSharp中,“friend”关键字的等价物是什么?分享

时间:2023-04-11 00:04:38 C#

CSharp中的“friend”关键字相当于什么?CSharp中的“friend”关键字等价于什么?如何使用“内部”关键字?我读过“internal”关键字是C#中“friend”的替代品。我在我的C#项目中使用DLL,我有源代码,但我不想修改现有代码。我继承了这个类,我可以以任何我想要的方式使用我继承的类。问题是父类中的大部分代码都有受保护的方法。可以使用朋友以某种方式访问??或调用这些受保护的方法吗?您可以使用关键字访问修饰符internal将类型或类型成员声明为只能由同一程序集中的代码访问。您可以使用System.Rutime.CompilerServices定义的InternalsVisibleToAttribute类来声明一个类型,该类型只能由同一程序集中或指定程序集中的代码访问。当您使用任何其他访问修饰符时(例如private使用第一个。完整地:internalclassMyClass{...}您使用第二个像这样:[assembly:InternalsVisibleTo("MyFriendAssembly",PublicKey="...")]internalclassMyVisibleClass{...}这两个在C#中都可以被认为是友元。受保护的方法已经可以用于派生类。不,'internal'与'friend'不一样(至少在C++中是'friend')friend指定这个类只能被一个特定的类访问。internal指定程序集中的任何类都可以访问这个类。1)Internal是VB.NET'friend'关键字的C#等价物,如您所猜(不是替代品)2)像这样使用它internalvoidFunction(){}internalClassClassname(){}internalintmyInt;内部intMyProperty{得到;放;3)它基本上是一个访问修饰符,它指示标记为内部的类/函数/可变/属性的可访问性,就好像它被编译到程序集中并且程序集是公共的,并且对任何其他程序集都是私有的你的子类将能够访问您继承的类的受保护成员。您想让其他类可以访问这些受保护的成员吗?内部相当于朋友。受保护的方法只能在同一个类或继承者中使用。如果您试图向继承者公开受保护的方法,您可以将它们包装在公共方法中。以上是C#学习教程:在CSharp中,“friend”关键字等价于什么?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: