| 

.NET C# Java Javascript Exception

0
Hallo, folgende Methode hat bisher gute Dienste geliefert um zu prüfen ob
ein beliebiges Objekt der Eigenschaft zugewiesen werden kann.
Sie soll aber auch eine Zuweisung mit impliziter Konvertierung zulassen,
z.B int an double. Wie ließe sich hier prüfen ob eine implizite Konvertierung
von valueType nach propertyInfo.PropertyType existiert?

internal static bool MatchesType(PropertyInfo propertyInfo, object value)
{
Type valueType = value.GetType();
if (!propertyInfo.PropertyType.IsAssignableFrom(valueType))
{
s_log.WarnFormat(ExtMsgProcRes.PropertyHasWrongType, propertyInfo.Name,
valueType.Name, propertyInfo.PropertyType);
return false;
}
return true;
}


Danke T.M.
News:
22.07.2011
Gast
1
1 Antwort
1
Hi!

Schau dir mal TypeDescriptor.GetConverter(Type trype) an. Der zurueckgelieferte TypeConverter hat u.a. Methoden CanConvertTo und CanConvertFrom.

Cheers,
Nessi
22.07.2011
BrucklynBoy 41 2
Danke, aber ich habe keine Möglichkeit gefunden, damit zwischen impliziter und expliziter Konvertierung zu unterscheiden, was unbedingt nötig ist, da obige Prüfung vor einer automatischen Zuweisung steht.
Gruß T.M.
– Gast 22.07.2011
Wenns implizit ginge, kannst dus ja trotzdem explizit konvertieren. Was haelt dich also davon ab, den Wert immer explixit zu konvertieren? Falls es nicht geht, kannst du die EXception ja abfangen.
BrucklynBoy 22.07.2011

Stelle deine .net-Frage jetzt!