2017-01-03 4 views
1

Ich habe einen Webservice, die mir sagt, das der Funktionsparameter ist ..Konvertieren Sie eine GUID in eine ganze Powershell?

Public Function Create(ByVal Name As String, ByVal templateId As Integer) 

Das Problem ist die TemplateID eine GUID ist. Wenn ich dies in die Funktion übergebe, wird die Funktion nicht funktionieren, da sie eine ganze Zahl sein muss. Ich kann sagen, dass die TemplateID eine GUID aus einer SQL-Datenbank ist.

also wie kann ich diese GUID in eine ganze Zahl ändern, damit die Funktion es akzeptiert? ist es möglich?

Alle Parse-Tests sind als falsch zurück gekommen, was bedeutet, dass es nicht möglich ist.

+2

GUID ist alphanumerisch und daher können Sie es nicht in eine Ganzzahl konvertieren. Bsp: 1xy2 - Kann das eine ganze Zahl sein? Nein, das gilt auch für GUID. –

+0

Nur um sicher zu sein, meinst du das zum Beispiel? '51bcd3b9-a94b-45f0-a3f1-8194dca4ae7d' – sodawillow

+1

Wie bezieht sich diese Frage auf PowerShell? –

Antwort

1

Ich nehme von der Funktionsdefinition an, dass es Visual Basic ist, in dem der Typ Integer eine 32-Bit-Ganzzahl mit Vorzeichen ist. Selbst wenn es sich um eine vorzeichenlose 64-Bit-Ganzzahl handelt, ist eine [guid] 128-Bit, so dass ihr Wert nicht in eine Integer passt.

+0

Ich denke, das geht zurück zum Hersteller - ich kann keine ID als Ganzzahl übergeben, so dass die Funktion geändert werden muss – LDStewart

1

Es ist nicht möglich, eine GUID mit herkömmlichen Mitteln in eine ganze Zahl "umzuwandeln". Sie könnten einen speziellen Algorithmus erstellen, der die Konvertierung gemäß Ihrer eigenen Spezifikation durchführt, aber dafür gibt es keinen Standard.

Es gibt ein paar Optionen, die ich sehe, ohne weitere Details über das Szenario mit:

  1. die Funktion Ändern einer GUID als String
  2. Ändern Sie die SQL-Datenbank zu akzeptieren haben eindeutige Kennungen wie Ganzzahlen und GUIDs separat. (nicht ideal)
+0

Die Funktion ist vom Verkäufer fest codiert, ich kann das nicht ändern. Auch hier ist die SQL-Seite fest codiert. Ich bin verwirrt darüber, warum die Funktion nach einer Ganzzahl fragt, also hoffte ich, sie mit einem Convert "auszutricksen" – LDStewart

Verwandte Themen