我正在尝试将此代码转换为VB,但它给了我这个错误。
CONVERSION ERROR:代码无法转换。详细说明:
- 第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;
}
答案 0 :(得分:1)
我认为你应该发布整个课程而不仅仅是片段。无论如何,我将第一次挖掘它。
Exam.ExamID and other Exam.*
你确定他们引用了一个变量吗?如果您指的是此类的字段,则应使用this.ExamID
等等
如果没有,这很可能是您的错误。
答案 1 :(得分:0)
这只是猜测,但尝试更改
public Exam GetExamByExamID(int ExamID)
到
public Exam GetExamByExamID(int id)
随着改变
if(exam1.ExamID==ExamID)
到
if(exam1.ExamID==id)
答案 2 :(得分:0)
您从代码转换器获得的错误是因为您没有包含要转换的类考试,因此转换器错误在第一次遇到未知类时会说“无效的类型声明”的考试即可。
这可能适合你:
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