gpt4 book ai didi

C# 与嵌套类有关系

转载 作者:行者123 更新时间:2023-11-30 20:38:52 25 4
gpt4 key购买 nike

我是一名学习 C# 的 C++ 开发人员,我处于这样一种情况,我需要一个 C 类来拥有属于它的两个代表“机器人”的成员。机器人需要能够访问 C 的私有(private)成员,并且不需要在其他任何地方使用它们。在 C++ 中,我会使用“friend”关键字,但我不知道在这里做什么。我想过做这样的事情:

class C
{
private Member mem;
private Robot bot;

private class Robot
{
C owner;
public void function() { //Robot needs to use owner.mem here,
//but can't because it's private}
};
}

问题是我不知道如何说机器人被 C 的实例“拥有”,并且可以访问其成员。

最佳答案

一种方法是将外部类的实例作为引用传递给内部类的构造函数。

class C
{
private Member mem;
private Robot bot;

private class Robot
{
C owner;
public Robot(C c) {owner = c;}
public void function()
{
// Robot can use owner.mem here
}
};
}

关于C# 与嵌套类有关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34803812/

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