从另一个类访问公共类中的私有函数和变量

时间:2014-07-15 13:35:56

标签: vb.net

正如标题所说,我遇到了一个问题,我必须在课堂上调用某些私人函数。

Public Class Class1
private Type
Private Name
private Function()

我尝试过以下操作:

Public Class Class1
  Dim copyClass As Class1
  Public Shared Instance As Class1

  Public Sub New()
    MyBase.New()
    copyClass = Me
  End Function
  Public Function createInstance() As Class1
    Instance = copyClass
    Return Instance
  End Function

然后在我的另一个班级Class2中,我添加了:

  Public Property callingObject As wdCopyPatch
    Get
      Return copyObject
    End Get
    Set(value As wdCopyPatch)
      copyObject = value
    End Set
  End Property

现在,我可以在Class1

中的函数中执行以下操作
Dim Ob as Class2
Ob.callingObject = createInstance() 

这允许我使用Class2中的copyObject,但只允许我访问Class1的公共函数和变量。如何在不将所有内容公开的情况下访问Class1的私有函数和变量,我该怎么办?

赞赏任何建议或意见:)

1 个答案:

答案 0 :(得分:3)

根据我的评论,这里有一些代码:

Sandbox是我的私有函数类,以及从私有函数获取信息的公共属性。

otherclass,调用沙箱的此属性。

Public Class sandbox

    Public ReadOnly Property myHiddenValue() As String
        Get
            Return get_that_sucker()
        End Get

    End Property

    Private Function get_that_sucker()
        Return "boo!"
    End Function

End Class

Public Class otherClass

    Public Sub mySub()
        Dim mysandbox As New sandbox
        MsgBox(mysandbox.myHiddenValue)
    End Sub

End Class