gpt4 book ai didi

c# - 访问另一个类的 protected 成员

转载 作者:太空宇宙 更新时间:2023-11-03 17:21:41 25 4
gpt4 key购买 nike

我有一个 A 类,我需要从中访问 B 类的 protected 成员,就像在 C++ 中使用 friend 关键字一样。但是,内部修饰符不适合我的需要。 B 类需要创建 A 类的实例,修改其私有(private)数据,并返回对该类的引用。这些 A 类成员需要对原始调用者保密。

public class A
{
protected int x;
}

public class B
{
public static A CreateClassA()
{
A x = new A();
x.x = 5; // ERROR : No privilege
return x;
}
}

最佳答案

您可以使用 protected internal 而不是 internal 来访问同一程序集中的所有类,以及其他程序集中的子类:

public class A
{
protected internal int x;
}

public class B
{
public static A CreateClassA()
{
A x = new A();
x.x = 5; // hurray
return x;
}
}

关于c# - 访问另一个类的 protected 成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10375090/

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