次VB.NETのコードが動作する失敗しない:なぜ私のコードは、VB.NETでコンパイルが、C#で相当
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)
次のC#コードはコンパイルに失敗します。
LearnerLogbookReportRequest request = new LearnerLogbookReportRequest();
request.LearnerIdentityID = theLearner.ID;
request.EntryVersion = LearnerLogbookEntryVersion.Full;
IReportRequestService reportRequestService = ServiceFactory.GetReportRequestService(ServiceInvoker.LearnerLogbook);
reportRequestService.SaveRequest(ref request);
LearnerLogbookReportRequest
Public Class LearnerLogbookReportRequest
Inherits AbstractReportRequest
エラー:
として宣言されています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
なぜC#のバージョンがコンパイルに失敗しますか?
+1 - 私は、VB.NETタグの新しいポスターが、オプションの厳密な設定を確認することを提案しました。http://meta.stackexchange.com/questions/144007/inform-new-posters-tagging-vb -net-to-check-option-strict-settingが、投票されました。しかし、私はTag Wikiにその価値について何かノートを追加しました。この設定は、デフォルトでオンになっている必要があります。 –