Autor Beitrag
DaSashStYle
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Fr 18.07.08 11:21 
hallo, ich habe das problem, dass ich nicht weiß wie ich ein Onjekt zu einem String Konvertieren kann. Besser, am folgenden Beispiel hapert es ein wenig

So erstmal vorweg habe ich ein Array mit vorhanden Borderstyles angelegt um damit eine RadioButtonList zu füllen.

Füllen tue ich sie in meiner Page_Load Funktion

ausblenden C#-Quelltext
1:
2:
3:
        string[] borderStyleArray = Enum.GetNames(typeof(BorderStyle));
        lstBorder.DataSource = borderStyleArray;
        lstBorder.DataBind();


Der Dazugehörige ASXPX Code:

ausblenden Quelltext
1:
<asp:RadioButtonList ID="lstBorder" AutoPostback="true" runat="server" OnSelectedIndexChanged="ControlChanged" Width="177px" Height="59px" />					


Eine Weitere Funktion, die durch den AutoPostBack aufgerufen wird, sobald ein Radio geändert oder mackiert wurde, soll die Eingabe nun Auswerten und Ausgeben.

Dies ist der direkte code der mir im Buch geliefert wird. gibt natürlich sofort eine Fehlermeldung.

ausblenden C#-Quelltext
1:
2:
3:
TypeConverter converter = TypeDescriptor.GetConverter(typeof(BorderStyle));
pnlCard.BorderStyle = converter.ConvertFromString(
lstBorder.SelectedItem.Text);


Also im grunde geht es ja darum, die "Objekte" des Eingebundenen Enums (Besser das des mackierten), somit also den namen in einen string zu Convertieren. kann mir jemand sagen wo in diesen zeilen der fehler liegt? Ich habe in der MSDN versucht einiges über die arbeitsweise des TypeConverter und Type Discriptors zu erfahren, hat mich allerdings auch cnith weiter gebracht.

Danke schonmal Im vorraus und Sorry, wenn ich es hier an die falsche stelle gepostet haben sollte.

Moderiert von user profile iconChristian S.: Code- durch C#-Tags ersetzt


Zuletzt bearbeitet von DaSashStYle am Fr 18.07.08 13:08, insgesamt 1-mal bearbeitet
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Fr 18.07.08 13:08 
user profile iconDaSashStYle hat folgendes geschrieben:
kann mir jemand sagen wo in diesen zeilen der fehler liegt?
Statt uns Uneingeweihte würde ich lieber den fragen, der die Fehlermeldung kennt :tongue: .

PS: Es gibt auch Enum.Parse.
DaSashStYle Threadstarter
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Fr 18.07.08 13:14 
bei der Fehlermeldung Handelt es sich um

Error 1 Cannot implicitly convert type 'object' to 'System.Web.UI.WebControls.BorderStyle'. An explicit conversion exists (are you missing a cast?) Zeile: 60

Bei zeile 60, handelt es sich um diese:

pnlCard.BorderStyle = converter.ConvertFromString(lstBorder.SelectedItem.Text);

so wie hier ist auch mein converter im code unterringelt.
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Fr 18.07.08 14:57 
Sagen wir's mal so: Wenn du diesen Fehler nicht selbst beheben kannst, solltest du dich weder mit ASP.Net noch mit TypeDescriptors auseinandersetzen, sondern mit einem Anfänger-Tut wie diesem hier.
DaSashStYle Threadstarter
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Fr 18.07.08 15:08 
Anscheind bist du ein Progger, der alles meint zu können. Hat nie hilfen gebraucht und gammelt nur in einem forum um nette kommentare zu geben! Diese zwei zeilen die mir schwierigkeiten machen, kommen aus einem anfänger tut und sind ansheind da schon fehler haft, sonst würde ich dich ganz siche nicht nerven.

Die andere möglichkeit wäre, du bist ein möchtegern Progger der dieses kleine Problem nicht selber lösen kann und mih deswegen auf ein anfänger tut verweisen möchte! Danke! Auf deine Meinung kann ich des weiteren verzichten, vielelciht findet sich ja jemand anderes, der mir helfen kann!

kleiner Tipp an dich, eine Möglichkeit wäre es gewesen zu sagen:

so also da und da ist dein fehler, so sieht es richtig aus, aber wenn du damit nicht selber klar kommst, solltest du dir vielleicht doch nochmal überlegen die und die seite in dem und dem anfänger tut zu lesen!

Danke!
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Fr 18.07.08 16:31 
@DaSashStYle: Persönliche Angriffe werden wir hier nicht dulden, also reiss Dich bitte zusammen!

Sebastian glaubt sicherlich nicht, dass er nie Hilfe gebraucht hat. Bei den meisten "alten Hasen" im Forum ist es wohl eher genau umgekehrt: Sie haben den Lernprozess ebenfalls durchlaufen und somit die Erfahrung gemacht, wie dieser am besten funktioniert. Und da macht man auch die Erfahrung, dass man sich nicht mit fortgeschrittenen Sachen beschäftigen sollte, wenn's bei den Grundlagen noch hakt.

Und in diesem Fall hätte Sebastian Dir eigentlich nur nochmal wiederholen können, was der Compiler Dir schon sagt: "An explicit conversion exists (are you missing a cast?)".

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
DaSashStYle Threadstarter
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Sa 19.07.08 14:14 
Es sollte kein Persönlicher Angriff sein, klang nur recht arrogant die aussage von Khabarakh und das denke ich ist auch nicht in ordnung, wenn jemand am lernen ist. Ich gebe zu, dass ich da vielleicht ein wneig hoch eingestiegen bin. Kann allerdings nichts mit der fehlermeldung anfangen. Will lediglich wissen, was sie zu bedeuten hat. entweder halt eine Lösung für mein Problem oder seiten explicit, die sich mit dem Problem beschäftigen. Ich bin gerade von c++ (Codegear) auf c# (visual studio) umgestiegen, weshalb mir das nicht ganz klar ist mit der fehlermeldung. Zumal ich diesen Codeteil aus einm Buch für anfänger habe. Ich habe keine lust allegrundlagen nochmal durchzuarbeiten, da nur Teile Lücken vorhanden sind. Mich da auf ein komplettes Anfänger tut zu verweisen, es durchzuarbeiten bringt mih nicht weiter.

@ sebastian: Vielleicht kannst du mit explizit sagen, womit ich mich auseinander setzen soll um diese Fehlermeldung selber interpretieren zu können.
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Sa 19.07.08 14:29 
Zitat:
Cannot implicitly convert type 'object' to 'System.Web.UI.WebControls.BorderStyle'. An explicit conversion exists (are you missing a cast?)

convert.ConvertFromString liefert Dir ein Object, welches Du aber nicht einem BorderStyle zuweisen kannst, weil es keinen impliziten Cast gibt. Es gibt aber einen expliziten Cast.

Du findest etwas im OpenBook dazu unter dem Stichwort "explizite Konvertierung": www.galileocomputing...1189baaa706577579804

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
DaSashStYle Threadstarter
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Do 24.07.08 22:18 
Danke diiiir! Habs durchgearbeitet, zum x. Mal, aber da ich es bei mienem programm nciht schaffe um zusetzen fehlt mir wohl immer noch irgendwo etwas.... Naja diese lücke werde ich dann einfach bei gelegenheit auffüllen wenn mal zeit dazu ist. Werd die lösung dann auhc hier reinposten, damit sie zugänglich für alle ist und es nicht zu einem weiteren Post weges einem solchen problem kommt.
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Do 24.07.08 22:21 
Wenn Du mal zeigst, wie Du's probiert hast, kann man Dir sicherlich auch noch weiter helfen :-)

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".