[英]How to access to a function whose access modifier is protected and exists in a class that inherits from another class in c#?
public class a {
protected virtual int mult(int x)
{
return x*x ;
}
}
public class b : a
{
protected override int mult(int x) { return x*x*x ; }
}
internal class Program { static void Main(string[] args) {
b jack = new b();
int v = jack.mult(5); // error
// so how can i access to mult() in main class without change access modifier to public ??????
} }
如何访问 function,其访问修饰符受保护并存在于 class 中,该 class 继承自 c# 中的另一个 class?
请注意, mult
function 在 class a
和 class b
中都被声明为protected
,这意味着它只能由 class 或其派生类中的代码访问。 由于b
是a
的派生 class,因此b
中的代码可以访问mult
function。
如果要从b
或b
a
子类以外的 class 访问mult
function,则需要将访问修饰符更改为public
或在b
或b
a
子类中提供调用mult
function 的公共方法。
在这种情况下,您在Main
方法中执行所有这些操作,该方法位于a
或b
之外的其他 class 中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.