繁体   English   中英

此代码段有什么问题? 它给我类型声明错误

[英]What is wrong with this code snippet? Its giving me type declaration error

我正在尝试将此代码转换为VB,但它给了我这个错误。

转换错误:无法转换代码。 细节:

-第1行第8列:无效的TypeDecl

请检查原始代码中是否有任何错误,然后重试。

  public Exam GetExamByExamID(int ExamID)
                {
             Exam myExam = new Exam(0,"",0,"","");  
              for(Exam exam1 : ExamArray)
            if(Exam.ExamID==ExamID)
              {
                 myExam.ExamID = exam1.ExamID;
                 myExam.ExamTitle = exam1.ExamTitle;
                     myExam.CreditHours = exam1.CreditHours;
                     myExam.Description = exam1.Description;
                         myExam.PrerequisiteExam = exam1.PrerequisiteExam;

              }
                  return myExam;

我将代码更改为此,但仍然是相同的错误。

public Exam GetExamByExamID(int ExamID)
                    {
                 Exam myExam = new Exam(0,"",0,"","");  
                  for(Exam exam1 : ExamArray)
                if(Exam.ExamID==ExamID)
                  {
                     myExam.ExamID = exam1.ExamID;
                     myExam.ExamTitle = exam1.ExamTitle;
                         myExam.CreditHours = exam1.CreditHours;
                         myExam.Description = exam1.Description;
                             myExam.PrerequisiteExam = exam1.PrerequisiteExam;

                  }
                      return myExam;
                       }

我到底需要更改什么? 请帮忙。

确定,我再次更改,但相同的错误..它说在第1行中的错误。

public Exam GetExamByExamID(int ExamID)
                    {
                 Exam myExam = new Exam(0,"",0,"","");  
                  for(Exam exam1 : ExamArray)
                if(exam1.ExamID==ExamID)
                  {
                     myExam.ExamID = exam1.ExamID;
                     myExam.ExamTitle = exam1.ExamTitle;
                         myExam.CreditHours = exam1.CreditHours;
                         myExam.Description = exam1.Description;
                             myExam.PrerequisiteExam = exam1.PrerequisiteExam;

                  }
                      return myExam;
                       }

我认为您应该发布整个课程,而不只是片段。 无论如何,我将首先进行挖掘。

Exam.ExamID and other Exam.* 

您确定他们引用了变量吗? 如果要引用此类的字段,则应使用this.ExamID

如果没有,这很可能是您的错误。

这只是一个猜测,但请尝试更改

public Exam GetExamByExamID(int ExamID)

public Exam GetExamByExamID(int id)

随着变化

if(exam1.ExamID==ExamID)

if(exam1.ExamID==id)

您从代码转换器得到的错误是因为您没有包括要转换的类Exam ,因此转换器错误在它第一次遇到未知类Exam时说“无效的类型声明”。

这可能对您有用:

 Public Function GetExamByExamID(ExamID As Integer) As Exam
    Dim myExam As New Exam(0, "", 0, "", "")
    For Each exam1 As exam In ExamArray
        If exam1.ExamID = ExamID Then
            With myExam
                .ExamID = exam1.ExamID
                .ExamTitle = exam1.ExamTitle
                .CreditHours = exam1.CreditHours
                .Description = exam1.Description
                .PrerequisiteExam = exam1.PrerequisiteExam
            End With
            Return myExam
        End If
    Next
    Return Nothing
End Function

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM