C# .net Code in Delphi .net? Funktionen Parse, Enum
Hallo, irgendwie komme ich nicht dahinter wie man die Zeile in Delphi.net schreibt. Kann mir vllt. jemand bitte helfen? big thx
C# .net Code:
Delphi-Quellcode:
item.ListingType = (ListingTypeCodeType)Enum.Parse(typeof(ListingTypeCodeType), CboListType.SelectedItem.ToString());
|
Re: C# .net Code in Delphi .net? Funktionen Parse, Enum
Wenn ich mir das im Reflector angucke, sollte das so aussehen:
Delphi-Quellcode:
item.ListingType := (Enum.Parse(typeof(ListingTypeCodeType),
CboListType.SelectedItem.ToString) as ListingTypeCodeType); |
Re: C# .net Code in Delphi .net? Funktionen Parse, Enum
Hallo, danke für den Tip, aber leider hat es nicht geklappt
Zitat:
Delphi-Quellcode:
ItemTypeInstanz.ListingType := (Enum.Parse(typeof(ListingTypeCodeType),
frm_eBayAuktionsEingabe.CmB_ListingType.Items) as ListingTypeCodeType); |
Re: C# .net Code in Delphi .net? Funktionen Parse, Enum
Also an folgendem konkreten Beispiel kompiliert es ohne Probleme:
Delphi-Quellcode:
was nicht geht
var
X: System.Windows.Forms.DialogResult; begin X := (Enum.Parse(typeof(DialogResult), 'text') as System.Windows.Forms.DialogResult); end;
Delphi-Quellcode:
Versuche mal vollständige Qualifizierer (Namespace, etc.)
var
X: System.Windows.Forms.DialogResult; begin X := (Enum.Parse(typeof(DialogResult), 'text') as DialogResult); end; ...:cat:... |
Re: C# .net Code in Delphi .net? Funktionen Parse, Enum
Hättest du es anstatt als Delphi.Net Code[1] als C# Code markiert, hätte ein Übersetzungslink C# -> D.Net auftauchen sollen.
Code:
Dein Problem wird übrigens einfach nur sein, dass Enum ein Keyword im D.Net Compiler ist.
item.ListingType = (ListingTypeCodeType)Enum.Parse(typeof(ListingTypeCodeType), CboListType.SelectedItem.ToString());
Das allererste, was man in so einem Fall in einem nicht case-senseitiven .Net Compiler macht ist es, vor das Wort ein & zu setzen. Das ist allgemeine .Net Konvention für Compilerbauer und bedeutet, dass man nicht dass Keyword sondern einen gleichnamigen Bezeichner meint. In deinem Fall also System.Enum. btw: Ich könnte dafür wetten, dass ich das schon einmal in einem deiner Thread erwähnt habe oder zumindest in einem den du hier zu D.Net gelesen hast... [1]Warum zum Geier nimmt man Syntax highlighting von D.Net für C#? :gruebel: Nachtrag: Zitat:
Dein D.Net (nachdem ich ihn mir doch angesehen habe...) Versucht den Inhalt der Collection Items in eine Instanz deines Enum typen zu konvertieren. Die C' Version war wenigstens schlau genug um es mit dem ausgewählten Item zu machen... |
Re: C# .net Code in Delphi .net? Funktionen Parse, Enum
Zitat:
...:cat:... |
Re: C# .net Code in Delphi .net? Funktionen Parse, Enum
Zitat:
In CHrome ist es ein Keyword und wäre es eins in D.Net gewesen wäre die Fehlermeldung die gleiche gewesen. :zwinker: Denn in deinem Code Beispiel ässt sich "System.Windows.Forms.DialogResult" sicherlich auch durch &DialogResult ersetzen. Auch wenn es kein Keyword ist. |
Re: C# .net Code in Delphi .net? Funktionen Parse, Enum
Zitat:
Aber zum Glück geht es hier nicht um DialogResult, sondern um ListingTypeCodeType. |
Re: C# .net Code in Delphi .net? Funktionen Parse, Enum
Anscheinend klappt es so...thx
Delphi-Quellcode:
ItemTypeInstanz.ListingType := (Enum.Parse(typeof(ebay.Service.Core.Soap.ListingTypeCodeType),
frm_eBayAuktionsEingabe.CmB_ListingType.Items.ToString) as ebay.Service.Core.Soap.ListingTypeCodeType); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz