2009-07-31 20 views
2

Die einfache Klasse unten erbt von HashSet und muss daher die ISerialization-Mitglieder (in einer nicht standardmäßigen Weise) implementieren. Ich erhalte die folgende Ausnahme, wenn ich versuchen, eine Instanz der Gruppe serialisiert dann deserialisieren:Bitte erläutern Sie diese SerializationException zu mir

Prüfnorm UtilitiesTests.GroupTest.SerializeTest Ausnahme ausgelöst hat: System.Reflection.TargetInvocationException: Het doel van een aanroep heeft een uitzondering veroorzaakt. ---> System.Runtime.Serialization.SerializationException: Deckel nameprop ist niet gevonden ..

Leider ist dieses in holländisch ist. Es bedeutet, dass das Mitglied "nameprop" nicht gefunden werden konnte! Was ist los ??

using System; 
using System.Collections.Generic; 
using System.Runtime.Serialization; 

namespace Grouping 
{ 
    [Serializable] 
    public class Group<T> : HashSet<T> 
    { 
     public Group(string name) 
     { 
      Name = name; 
     } 

     protected Group(){} 

     protected Group(SerializationInfo info, StreamingContext context):base(info,context) 
     { 
      Name = info.GetString("nameprop"); 
     } 

     protected new void GetObjectData(SerializationInfo info,StreamingContext context) 
     { 
      base.GetObjectData(info,context); 
      info.AddValue("nameprop", Name); 
     } 

     public string Name { get; private set; } 
    } 
} 
+0

Wenn Sie einen Fehler unterdrücken müssen, lesen Sie diesen Hinweis auf http://lifeelement.com. SerializationException Member wurde nicht gefunden
http://lifeelement.com/news/serializationexception-member-was-not-found/. –

Antwort

6

Ihre GetObjectData Methode wird nie während der Serialisierung genannt, weil Sie die übergeordnete Methode nicht außer Kraft setzen - Sie können es Schatten. Sie sollten override statt new dort verwenden.

+0

Danke! Das war es ... Konnten Sie mich auf die englische Fehlermeldung zeigen, damit diese Frage einfacher von anderen Einfaltspinseln wie mir gefunden wird? – Dabblernl

+0

Ich weiß nicht wie ich den Code nicht wirklich ausgeführt habe, nur angeschaut :) –

Verwandte Themen