正如标题所说,我遇到了一个问题,我必须在课堂上调用某些私人函数。
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的私有函数和变量,我该怎么办?
赞赏任何建议或意见:)
答案 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