Whenever I try to create a new CD object I get a stack overflow. I want a parameter to be passed into mediaFactory so that it could be determined what type of media is created. Could anyone point out why I might be having problems with this when I do this "Dim media As CD = New CD()"
Thanks
Public MustInherit Class MediaFactory
Inherits MediaContext
Implements IMedia
Public Sub New(ByVal typeId As Integer)
MyBase.new()
_mediaTypeId = typeId
End Sub
Private _mediaTypeId As Integer
Public Property mediaTypeId() As Integer Implements IMedia.mediaTypeId
Get
Return _mediaTypeId
End Get
Set(ByVal value As Integer)
_mediaTypeId = value
End Set
End Property
End Class
Public Class CD
Inherits MediaFactory
Implements IMedia
Public Sub New()
MyBase.New(1)
End Sub
Public Sub New(ByVal name As String)
MyBase.New(1)
MyBase.title = name
End Sub
End Class
Public Class MediaContext
Private Shared _strategies As New Dictionary(Of MediaEnum, IMedia)()
Public Sub New()
_strategies.Add(MediaEnum.CD, New CD())
End Sub
Public Sub New(ByVal name As String)
_title = name
End Sub
Private _title As String
Public Property title() As String
Get
Return _title
End Get
Set(ByVal value As String)
_title = value
End Set
End Property
End Class