簡體   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