【问题标题】:Accessing an object's parameter from an object inside it从对象内部的对象访问对象的参数
【发布时间】:2015-08-04 07:26:02
【问题描述】:

我正在编写一个程序,其中我在另一个类中有一个类。我需要知道我是否可以从内部访问外部类的属性。

类似这样的:

Module mod1

    Public Class c1
        Public var1 As Integer = 3

        Public Class c2

            Public Sub doSomething()
                'I need to access var1 from here. Is it possible?
            End Sub

        End Class

    End Class

End Module

非常感谢您的帮助!

编辑:我想做的例子

Dim obj1 As New c1 'Let's suppose that the object is properly initialized
Dim obj2 As New obj1.c2 'Let's suppose that the object is properly initialized

obj2.doSomething() 'Here, I want to affect ONLY the var1 of obj1. Would that be possible?

【问题讨论】:

  • 您需要c1 的实例才能访问var1,或者您需要将其设为共享变量。
  • @Saragis 我不能让它共享,因为 c1 的每个实例都会有不同的值,我不能实例 c1 因为我不想要一个新对象,但是那个c2 对象在里面。如果我没有正确解释自己,我在原帖中添加了一个示例

标签: .net vb.net basic


【解决方案1】:

您仍然需要在某处创建这两个对象之间的链接。这是一个示例,说明您可以如何做到这一点。

Dim obj1 As New c1
Dim obj2 As New c2(obj1)

obj2.doSomething()

doSomething 现在可以影响 c1c2 中定义的两个变量。实施:

Public Class c1
    Public var1 As Integer = 3
End Class

Public Class c2
    Private linkedC1 As c1

    Public Sub New(ByVal linkedC1 As c1)
        Me.linkedC1 = linkedC1
    End Sub

    Public Sub doSomething()
        'I need to access var1 from here. Is it possible?
        linkedC1.var1 += 1
    End Sub

End Class

【讨论】:

  • 那就是我要做的。非常感谢!
猜你喜欢
  • 2021-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-02
  • 1970-01-01
  • 2020-10-23
  • 2018-01-09
相关资源
最近更新 更多