【问题标题】:c# + programming logic - Can I access a constructor object from constructed object?c# + 编程逻辑 - 我可以从构造对象访问构造函数对象吗?
【发布时间】:2016-09-10 14:10:41
【问题描述】:

请原谅我在这方面不够精确,但我是一个 c# 菜鸟,只学习编程。这是一个我目前无法真正测试的问题,但必须决定如何解决它。

我有一个 SampleClass:

public class SampleClass {
    string Name;
    SecondClass SecondClass;
    string Attribute;
    public SampleClass (string Name, SecondClass SecondClass)
    {
    this.Name = Name;
    this.SecondClass = SecondClass;
    Attribute = SecondClass.HakunaMatata;
    }
}

还有第二类

public class SecondClass{
    public string HakunaMatata;
    public SecondClass (string HakunaMatata){
    this.HakunaMatata = HakunaMatata;
}

到目前为止一切顺利。现在我需要知道是否可以向 SampleClass 添加一个函数来将 HakunaMatata 从 Second class 更改为? 喜欢:

if (Name == "Simba"){
SecondClass.HakunaMatata = "Dont'w worry, be happy"}

通过将此代码插入到 SampleClass 中,我会更改用于构造 SampleClass 的 SecondClasses 对象的值,还是程序会复制它以用于构造目的?它会在 SampleClass 的下一个实例上更改 SampleClass 属性吗?

【问题讨论】:

    标签: c# unity3d logic


    【解决方案1】:

    是的,因为string 是一个引用类型,而您的string Attribute 实际上是指SecondClass.HakunaMatata。顺便说一句,你在SampleClass 中的这一行

    Attribute = SampleClass.HakunaMatata;
    

    应该是

    Attribute = SecondClass.HakunaMatata;
    

    【讨论】:

    • 谢谢你,更正了 Attribiute,非常感谢你帮我解决这个问题。
    猜你喜欢
    • 2018-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-14
    • 2011-02-20
    • 2023-03-25
    相关资源
    最近更新 更多