Member 11403304 Ответов: 3

Как исправить синтаксическую ошибку BC30035?


Я попытался преобразовать код C# в VB.Net но я получаю синтаксическую ошибку в строке внутри скобок, начинающуюся со слова (New SubmitDocumentRequest + ProcessSubmitDocumentRequestMessage())
Как мне это исправить?

Вот код C#
try
{
    strMessageType = objXmlContentDoc.DocumentElement.LocalName;
    switch (strMessageType)
    {
        case  "SubmitDocumentRequestMessage":
            new SubmitDocumentRequest().ProcessSubmitDocumentRequestMessage(ref aobjXMLInputSoapEnvelopeDoc, ref objXmlContentDoc);
            break;
        default:
			throw new System.Exception("Unknown Message Type");
    }
 catch (System.Exception ex)
 {
    aobjBroker.PostMessageWarehouseInformationalMessage("System Error: " + ex.Message, 3);
        return;
}



Вот код, который я преобразовал в VB.Сеть с синтаксической ошибкой

Try
    strMessageType = objXmlContentDoc.DocumentElement.LocalName
    Select Case strMessageType
		Case "SubmitDocumentRequestMessage"
			(New SubmitDocumentRequest + ProcessSubmitDocumentRequestMessage(aobjXMLInputSoapEnvelopeDoc, objXmlContentDoc))
		Case Else
            Throw New System.Exception("Unknown Message Type")
    End Select
Catch ex As System.Exception("System Error: " + ex.Message, 3)
    Return
End Try


Что я уже пробовал:

Try
    strMessageType = objXmlContentDoc.DocumentElement.LocalName
    Select Case strMessageType
		Case "SubmitDocumentRequestMessage"
			(New SubmitDocumentRequest + ProcessSubmitDocumentRequestMessage(aobjXMLInputSoapEnvelopeDoc, objXmlContentDoc))
		Case Else
            Throw New System.Exception("Unknown Message Type")
    End Select
Catch ex As System.Exception("System Error: " + ex.Message, 3)
    Return
End Try

F-ES Sitecore

Если вам нужно что-то преобразовать в vb.net я бы посоветовал вам действительно изучить синтаксис, он не сильно отличается от c#, честно говоря, если вы не видите проблемы с этим преобразованием, то я бы задался вопросом, понимаете ли вы вообще язык c#

MadMyche

Какая версия VB.Net-что? Вы изменили компилятор, чтобы соответствовать?

Member 11403304

Спасибо за ваше предложение. Точка хорошо приняты.

3 Ответов

Рейтинг:
2

Dave Kreskowiak

Вам не нужен знак"+", чтобы продолжить Линг кода на новой строке.

Вы также должны вернуть объект для вызова метода. Ваш код, похоже, хочет создать экземпляр "SubmitDocumentRequest.ProcessSubmitDocumentRequestMessage". Это не работает для вызова метода на объекте.

Чтобы упростить отладку, не используйте ярлыки. Попробуйте сделать это таким образом:

Try
    strMessageType = objXmlContentDoc.DocumentElement.LocalName
    Select Case strMessageType
        Case "SubmitDocumentRequestMessage"
            Dim request As New SubbmitDocumentRequest
            request.ProcessSubmitDocumentRequestMessage(aobjXMLInputSoapEnvelopeDoc, objXmlContentDoc)
        Case Else
            Throw New System.Exception("Unknown Message Type")
    End Select
Catch ex As System.Exception("System Error: " + ex.Message, 3)
    Return
End Try


Рейтинг:
2

Member 11403304

Мне больше не нужна помощь в этом деле.


Рейтинг:
1

Slacker007

strMessageType не объявляется первым перед использованием.