Vb.net 从另一个类访问公共类中的私有函数和变量
正如标题所说,我遇到了一个问题,我必须在类中调用某些私有函数Vb.net 从另一个类访问公共类中的私有函数和变量,vb.net,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
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
然后在我的另一个班级,第2班,我增加了:
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的私有函数和变量,而不必公开所有内容
任何建议或意见都将不胜感激:)根据我的意见,这里有一些代码:
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
根据我的评论,这里有一些代码:
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
“私有”减速的整个想法是使其私有化。。。与第二个类一样,您需要在第一个类中创建属性,当设置时,可以调用其内部函数之一,并通过propertyRemember返回某些内容,您可以在属性的“set”和“get”方法中执行“work”…对,感谢您指出这一点。如果您需要访问某些私有字段和函数,为什么它们是私有的?也许其中一个应该是“父”用作助手的私有内部类。然后,可以根据需要使用内部类,但函数不向世界其他地方公开。。。与第二个类一样,您需要在第一个类中创建属性,当设置时,可以调用其内部函数之一,并通过propertyRemember返回某些内容,您可以在属性的“set”和“get”方法中执行“work”…对,感谢您指出这一点。如果您需要访问某些私有字段和函数,为什么它们是私有的?也许其中一个应该是“父”用作助手的私有内部类。然后,可以根据需要使用内部类,但函数不向世界其他地方公开。至于私有函数,我有没有办法在我的Class1实例中使用它们?私有函数可以在其父类的“内部”使用。。。因此,类1中的任何其他函数都可以使用类1中的私有函数。那么,使用公共函数调用一些私有函数是否可以接受?我会通过属性来实现,就像上面答案中的代码一样。如果你的公共函数调用你的私有函数结果完全一样。。然后您实际上有一个公共函数:-)私有函数不能在父实例化的上下文之外使用。。。例如,一个属性,可以调用3个不同的私有函数,从中获取一些信息,重新工作,并提供输出。。。这就是你会使用私有函数的地方,不应该直接从“外部”调用。没有问题,如果你需要的话,请随意获得更多的澄清。至于私有函数,我有什么方法可以在我的Class1实例中使用它们吗?私有函数可以在其父类的“内部”使用。。。因此,类1中的任何其他函数都可以使用类1中的私有函数。那么,使用公共函数调用一些私有函数是否可以接受?我会通过属性来实现,就像上面答案中的代码一样。如果你的公共函数调用你的私有函数结果完全一样。。然后您实际上有一个公共函数:-)私有函数不能在父实例化的上下文之外使用。。。例如,一个属性,可以调用3个不同的私有函数,从中获取一些信息,重新工作,并提供输出。。。这是您将使用私有函数的地方,不应该直接从“外部”调用。没有问题,如果需要,请随时获取更多的说明。