如何将值传递给对象变量

时间:2014-09-15 09:22:14

标签: vb.net

我在2012年的vb.net中有一个名为Class的学生。使用一个名为read的方法,该方法在被调用时会检索具有ID,姓名,入学和其他详细信息的学生。

和另一个继承的表单,用于显示应用程序(程序,类级别,部门等)中学生和其他对象的详细信息

    Public Sub Createnewrecord() Implements IMyObjects.CreateNewRecord
    Dim frm As Object = GetObjectTypes(ManagedObjectChild)
    frm.state = PublicTypes.FORM_STATE.AddStateMode
    frm.loadform()
    End Sub

在New按钮中我调用Createnewrecord,我能够基于我在继承表单属性中设置的managedobject和managed objectchild打开表单NewObject。

删除项目我试试这个

public Sub DeleteSelectedRecord(byval SelectedItemCode as string)
dim ObjectOfManagedObjectType as object=GetObjectTypes(ManagedObject) 
' return a new   Managed object as for GetObjectTypes below 
ObjectOfManagedObjectType=ObjectOfManagedObjectType.read(selectedItemCode)
objectOfManagedObjectType.delete

' Say the managed object is  Student class, ObjectofManagedobjecttype =new 
Student(selecteditemcode) would return a new student object with accessible code, name
and every detail. the class is implemented and working fine. As for the implementation of the class, the delete method deletes an item like where itemcode=me.code.

当我测试ObjectofmanagedOBjectType时,它什么都没有,因此属性不包含任何值。

我不明白为什么在debuger中,我看到read方法实际执行并返回一个有效的对象(具有属性中的值)。我附上我附加依赖函数。有没有工作,或更好的方法来做到这一点?我听说过反思,但我不知道如何使用它。

    Public Function GetObjectTypes(ByVal objectT As PublicTypes.OBJECT_TYPE) As Object

    Select Case objectT
        Case PublicTypes.OBJECT_TYPE.ClassLevel
            Return New ClassLevel
        Case PublicTypes.OBJECT_TYPE.Department
            Return New Department
        Case PublicTypes.OBJECT_TYPE.Fee
            Return New Fee
        Case PublicTypes.OBJECT_TYPE.Level
            Return New Level
        Case PublicTypes.OBJECT_TYPE.SchoolYear
            Return New SchoolYear
        Case PublicTypes.OBJECT_TYPE.SchoolYearAE
            Return New frmSchoolYearAE
        Case PublicTypes.OBJECT_TYPE.Program
            Return New Program
        Case PublicTypes.OBJECT_TYPE.programAE
            Return New frmProgramAE
        Case PublicTypes.OBJECT_TYPE.Student
            Return New Student
    End Select
    Return Nothing
End Function

Public Enum OBJECT_TYPE
    Program
    programAE
    Student
    StudentAE
    Level
    LevelAE
    SchoolYear
    SchoolYearAE
    Department
    DepartmentAE
    ClassLevel
    ClassLevelAE
    Fee
End Enum

1 个答案:

答案 0 :(得分:0)

这就是我想要实现的目标。

    Public Sub DeleteObject(ByVal ObjectTypeName As PublicTypes.OBJECT_TYPE, ByVal   ObjectCode As String)
    Dim MYobject As Object = GetObjectTypes(ObjectTypeName)
    Dim objectToDelete As Object = MYobject.read(ObjectCode)
    objectToDelete.Delete()
End Sub