gpt4 book ai didi

c# - 我如何才能将私有(private)变量的访问权限授予另一个类而不是程序员?

转载 作者:行者123 更新时间:2023-11-30 19:29:56 24 4
gpt4 key购买 nike

我什至不太确定如何表达我的问题,所以我将通过示例来说明。我想要相当于:

public class OuterClass 
{
public InnerClass DoStuff(InnerClass this_class)
{
this_class.number = 5;
return this_class;
}


public class InnerClass
{
private int number = 0;
}

}

我有一个内部类,程序员可以在其中设置一些变量等,但它也有一些他们不应该接触或不需要知道的内部变量。外部类与内部类的实例一起工作,它需要知道这些内部变量。我可以想出一些更复杂的方法来实现我想要的东西,但我很好奇,有没有办法完成我在 C# 中得到的上述内容的要点?还是根本不可能。

编辑:这是一个实际的例子,它是我使用的通用通信协议(protocol)(套接字通信)。有一个套接字包装器类 (OuterClass),您创建一个消息类 (InnerClass),在其中设置一些东西,然后将它交给套接字包装器,它处理所有内部内容。 Message 类有一些套接字包装器设置和使用的内部数据,我希望我可以在原始类中拥有这些数据,而不必使用不同的内部类来存储它。

最佳答案

我想你想说“允许访问我的另一个类,但不能访问我的程序集之外的类”。

简单的解决方案是将内部类字段声明为 internal,而不是 private。您在同一程序集中的类可以访问它们,但外部类不能。

关于c# - 我如何才能将私有(private)变量的访问权限授予另一个类而不是程序员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10643409/

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