Das folgende VB.NET-Code funktioniert:Warum mein Code nicht kompiliert in VB.NET aber das Äquivalent in C# nicht
Dim request As Model.LearnerLogbookReportRequest = New Model.LearnerLogbookReportRequest
request.LearnerIdentityID = Convert.ToInt32(Session("identityID"))
request.EntryVersion = LearnerLogbookEntryVersion.Full
Dim reportRequestService As IReportRequestService = ServiceFactory.GetReportRequestService(ServiceInvoker.LearnerLogbook)
reportRequestservice.SaveRequest(request)
Der folgende C# -Code nicht kompilieren:
LearnerLogbookReportRequest request = new LearnerLogbookReportRequest();
request.LearnerIdentityID = theLearner.ID;
request.EntryVersion = LearnerLogbookEntryVersion.Full;
IReportRequestService reportRequestService = ServiceFactory.GetReportRequestService(ServiceInvoker.LearnerLogbook);
reportRequestService.SaveRequest(ref request);
Die LearnerLogbookReportRequest wird erklärt, wie:
Public Class LearnerLogbookReportRequest
Inherits AbstractReportRequest
Fehler:
Error 11 Argument 1: cannot convert from 'ref RACQ.ReportService.Common.Model.LearnerLogbookReportRequest' to 'ref RACQ.ReportService.Common.Model.AbstractReportRequest' C:\p4projects\WEB_DEVELOPMENT\SECURE_ASPX\main-dev-codelines\LogbookSolution-DR6535\RACQ.Logbook.Web\Restful\SendLogbook.cs 64 50 RACQ.Logbook.Web
Warum kann die C# -Version nicht kompiliert werden?
+1 - Ich schlug auf Meta vor, dass neue Plakate zum VB.NET-Tag vorgeschlagen werden, um ihre Option Strict Setting zu überprüfen http://meta.stackexchange.com/questions/144007/inform-new-posters-tagging-vb -net-to-check-option-strict-setting, aber es wurde abgelehnt. Ich habe dem Tag-Wiki jedoch eine Notiz hinzugefügt, was es wert ist. Diese Einstellung sollte standardmäßig aktiviert sein. –