从属性获取对主类的引用

时间:2013-10-28 05:24:26

标签: vb.net class

我有一个Class1,它有几个属性(Property1,Property2,...)

出于某些设计原因,我只能访问Property1。

有没有办法获得对Class1的引用?

我尝试了Property1.Parent,Property1.Base但都失败了。

我正在使用一个繁重的解决方法,即为每个属性创建一个单独的类,并引用主类:

Public Class DerivedProperty1
    Inherits Property1

    Public ParentClass as Class1

    Public Sub New(ParentClass as Class1)
        me.ParentClass = ParentClass
    End Sub
End Class

然后Class1将成为

Public Class Class1
    Public DerivedProperty1 as DerivedProperty1
    ...
End Class

还有其他方法与此解决方法不同吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

没有什么可以构建的。

这是因为Class1.Property属性实际上只隐藏了对存储在其他地方的Property1Class类实例的引用。因此,多个Property1Class实例可以引用相同的Class1实例。

你的命名误导。 Property1Class类不是从Class1类派生的。它只是被该类用作属性之一。

因此,如果您需要这种功能,您必须自己编写代码。