Ich bin durch die Sitzungsschlüssel durchschleifen und Einträge und ihre Werte zu einer Hashtable hinzufügen, die ich dann serialisieren. Das Problem, das ich habe, ist, dass es ein Objekt in der Sitzung gibt, das nicht serialisierbar ist, und es sollte sowieso nicht serialisiert werden. Ich bin auf der Suche um, und viele eingebauten Typen haben die ISerializable Attribut nicht implementieren, so dass für die Prüfung nicht funktioniert:Wie kann ich feststellen, ob eine Klasse serialisiert werden kann?
if (val is ISerializable)
{
...
}
Also, wie kann ich testen das? Macht das Sinn?
Serialisierung klingt wie ein Overkill. Einige Leute benutzen die Serialisierung für das Klonen :-) ... Eine erfolgreiche Serialisierung garantiert auf jeden Fall keinen Erfolg beim nächsten Mal. –
@Toro, nein, tut es nicht. Es sagt Ihnen nur, ob das Objekt am Serialisierungspunkt serialisierbar war. Ich denke nicht, dass es Overkill ist, weil es keinen anderen Weg gibt, den du versuchst. – JaredPar
Ich würde [Serializable] verwenden und dann eine Ausnahme behandeln, wenn es fehlschlägt. Du musst das ziemlich genau so machen. Zumindest, wenn es nicht als serialisierbar gekennzeichnet ist, können Sie es vermeiden, es zu versuchen. –