gpt4 book ai didi

c# - 以下代码中 protected 内部访问说明符的意义

转载 作者:太空狗 更新时间:2023-10-30 00:25:47 25 4
gpt4 key购买 nike

好的,让我从一个例子开始。这是我在另一个程序集中的基类

namespace BL
{
public class BasicClass
{
protected internal void func()
{
//Code Logic
}
}
}

现在这是我在另一个程序集中的派生类

namespace DL
{
public class DerivedClass:BasicClass
{
private void hello()
{
func();
}
}
}

我可以从基类调用 func() ,因此它表明 protected 访问修饰符属性但是 internal 访问修饰符属性。是否应该允许它在另一个程序集中访问 func(),因为它声明为 internal。如果是这样,那么为什么称它为 protected internal 而不是简单的 protected

最佳答案

你可能想给 this阅读。

The protected internal accessibility level means protected OR internal, not protected AND internal. In other words, a protected internal member can be accessed from any class in the same assembly, including derived classes. To limit accessibility to only derived classes in the same assembly, declare the class itself internal, and declare its members as protected.

关于c# - 以下代码中 protected 内部访问说明符的意义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15410472/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com