免责声明:我对PHP,Java和VBA有一些经验,但我主要是一名前端开发人员,所以Javascript更属于我。
我正在尝试创建一些在MS Access数据库中实现接口的类,我甚至无法使该概念起作用。
我有什么:
Option Explicit
Public Name As String
Public Property Get Name() As String
End Property
Public Property Let Name(ByVal vNewValue As String)
End Property
Option Explicit
Implements IFeed
Private Name As String
Private Property Let IFeed_Name(ByVal newName As String)
Name = newName
End Property
Private Property Get IFeed_Name() As String
IFeed_Name = Name
End Property
Public Sub testFeedClass()
Dim test As CFeed
Set test = New CFeed
test.Name = "New Feed" ' Doesn't work
Debug.Print test.Name
End Sub
我花了将近一天的时间将私人公共场所改为公共场所,公共场所改为私人场所以及大量其他事情,但我无法让它发挥作用。有人可以指出我哪里出错了吗?我确信这很简单。
答案 0 :(得分:3)
在VBA中,已实现接口的成员不会将其置于类对象本身中,例如他们用C#的implicit interface implementation。
要使用已实现的接口,您需要将对象强制转换为该接口:
Dim test As IFeed
Set test = New CFeed
test.Name = "New Feed"