Что не так с этим фрагментом кода? Это дает мне ошибку объявления типа
Я пытаюсь преобразовать этот код в 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;
}
3 ответа
Ошибка, которую вы получаете от преобразователя кода, заключается в том, что вы не включили класс 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
Я думаю, что вы должны опубликовать весь класс, а не только фрагмент. В любом случае, у меня будет первое копание в этом.
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)