Toon posts:

[C#] Hmmz, vreemde error?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hmmz, 'k krijg nu een vreemde foutmelding. Namelijk de volgende:

An unhandled exception of type 'System.InvalidOperationException' occurred in system.xml.dll

Additional information: There was an error reflecting 'Interlink_XP.Settings'.

'k begrijp er niets van. Die class is naar mijn weten gewoon goed. Iemand bekend met deze error?

Verwijderd

Op welke regel code krijg je deze error? Hier kan niemand iets mee...

Verwijderd

Topicstarter
Ehmz, sorry, vergeten. Komt ie:
code:
1
2
3
4
5
6
7
8
9
10
private void HandleGetData() {
    XmlSerializer serializer = new XmlSerializer(typeof(Settings));
    StringBuilder sb = new StringBuilder();
    StringWriter sw = new StringWriter(sb);
    serializer.Serialize(sw, mvarMaster.ServerSettings);
    encdatatowrite = EncryptByteData(sb.ToString());
    string templine = EncryptData("DATA/" + encdatatowrite.Length);
    templine = templine.Replace("\n", "|");
    mvarStreamWriter.WriteLine(templine);
}

Dit is de procedure waarin de foutmelding ontstaat, en de foutmelding krijg ik op regel 1 van deze void.

  • whoami
  • Registratie: December 2000
  • Laatst online: 20:10
Blijkbaar gaat hij door die typeof over z'n nek lijkt me.

Is die Settings een object of is dat een class? Indien het een class is kan je er geen typeof op doen natuurlijk.
Kun je het eens testen door die typeof weg te laten, en als argument voor die constructor geef je gewoon (hard-coded dan) de juiste class waarvan je gegevens wilt gaan serializen.

https://fgheysels.github.io/


Verwijderd

Topicstarter
Hmmz, volgens de documentatie moest het zo, en hij heeft het ook gedaan, dus 'k begrijp niet zo goed waarom die het nu opeens niet meer doet. Er zal blijkbaar toch ergens iets veranderd zijn in de structuur van die class, maar 'k zie zo niet wat er anders zou kunnen zijn.

edit:

Het enigste wat er eigenlijk sinds de laatste keer dat ie langs dit stukje gekomen is er bij gekomen is in die class is de volgende code:
[code][XmlElement(Type = typeof(Ban))]
public ArrayList Bans = new ArrayList();[/code]
Lijkt me dus dat ie daar over struikelt, maar waarom, want volgens mij is hier toch niets mee. 'k heb gebruik het zelfde bij een aantal andere ArrayLists:
[code][XmlElement(Type = typeof(User))]
public ArrayList Users = new ArrayList();
[XmlElement(Type = typeof(SecurityRule))]
public ArrayList SecurityRules = new ArrayList();[/code]
Ennuhm, hiermee doet ie 't wel.


Verwijderd

Topicstarter
Heb nog eens ffies groupsgegoogled, en naar aanleiding van een aantal berichten daar heb ik nog eens de hele Exception doorgekeken. En wat blijkt. IPEndPoint kan niet worden geserialized omdat deze class geen default public constructor heeft. Dat schiet dus weer lekker op. Moe'k op een andere manier dus m'n IP adresjes gaan opslaan.

edit:

Wacht ffies, volgens de documentatie is IPEndPoint wel serializable. Er staat zelfs een Serializable attribute voor :?.
Pagina: 1