【发布时间】:2014-09-05 17:42:34
【问题描述】:
正如标题所说,我遇到了一个问题,我必须在类中调用某些私有函数。
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 的私有函数和变量而不公开所有内容?
感谢任何建议或 cmets :)
【问题讨论】:
-
“私有”减速 si 使其私有化的整个想法...就像您对第二堂课所做的那样,您需要在第一堂课中创建属性,设置后可以调用一个它的内部函数,并通过属性返回一些东西
-
记住,你可以在属性的“set”和“get”方法中做“工作”...
-
好的,感谢您指出这一点。
-
如果您需要访问某些私有字段和函数,为什么它们是私有的?
-
也许一个应该是“父”用作帮助器的私有内部类。然后,内部类可以根据需要使用,但功能不会暴露给世界其他地方。
标签: vb.net