.net 无法在类内创建第二个Dictionary属性

.net 无法在类内创建第二个Dictionary属性,.net,vb.net,.net,Vb.net,clsFile有2个字典,然而,在构造函数中,第一个字典总是创建的,但是第二个字典最终什么都不是 字典是相同的(长的,clsEmployee);但之前我尝试过制作第二个(长,clsCondition)和(字符串,clsCondition)——但都没有效果。类clsEmployee和clsCondition也是代码中的对象 clsFile的代码: Option Explicit On Imports System.Data.OleDb Imports System.Data.SqlClient I

clsFile有2个字典,然而,在构造函数中,第一个字典总是创建的,但是第二个字典最终什么都不是

字典是相同的(长的,clsEmployee);但之前我尝试过制作第二个(长,clsCondition)和(字符串,clsCondition)——但都没有效果。类clsEmployee和clsCondition也是代码中的对象

clsFile的代码:

Option Explicit On
Imports System.Data.OleDb
Imports System.Data.SqlClient
Imports System.Text.RegularExpressions


Public Class clsFile


'-- CLASS LOCAL VARIABLES DECLARATION
Private cnDB As SqlConnection
Private m_Number As String
Private m_Auditor As clsEmployee
Private m_User As clsEmployee
Private m_Reviewer As clsEmployee
Private m_FileTypeId As Long
Private m_ReviewStatusId As Long
Private m_ActionDTTM As Date
Private m_SelectDTTM As Date
Private m_ReviewDTTM As Date

Private m_inAudit As Boolean
Private m_ReviewersDict As Dictionary(Of Long, clsEmployee)
Private m_ConditionsDict As Dictionary(Of Long, clsEmployee)


**************************************PROPERTIES***********************************

  Public Property Reviewers() As Dictionary(Of Long, clsEmployee)
    Get
        Reviewers = m_ReviewersDict

    End Get

    Set(ByVal ReviewersDict As Dictionary(Of Long, clsEmployee))
        m_ReviewersDict = ReviewersDict
    End Set
End Property

Public Property Conditions() As Dictionary(Of Long, clsEmployee)
    Get
        Conditions = m_ConditionsDict

    End Get

    Set(ByVal ConditionsDict As Dictionary(Of Long, clsEmployee))
        m_ConditionsDict = Conditions
    End Set
End Property
**************构造函数********************


` 当单步执行代码时-Me.Conditions=nothing,即使构造函数已经运行。我使用VB.net,VS2005

你知道为什么吗? 谢谢

当然可以

Set(ByVal ConditionsDict As Dictionary(Of Long, clsEmployee))
        m_ConditionsDict = Conditions
End Set
应该是

Set(ByVal ConditionsDict As Dictionary(Of Long, clsEmployee))
        m_ConditionsDict = ConditionsDict
End Set

为什么使用这种旧的VB6方法从方法/属性返回值?改为使用
Return
。但不确定这是否会导致您的问题。因此,与其使用getter中的
Conditions=m_ConditionsDict
,不如使用
返回m_ConditionsDict
。@TimSchmelter:您为什么不询问VS2005?至少应该在VS2008上,据我所知,2005年是有车的。
Set(ByVal ConditionsDict As Dictionary(Of Long, clsEmployee))
        m_ConditionsDict = ConditionsDict
End Set