.NET

Nachfolgend ein kleines Beispiel, wie man die Daten einer Klasseninstanz in XML serialisiert.

Über die XML-Attribute wird die Repräsentation der Eigenschaften im XML geregelt.

using System.Xml;
using System.Xml.Serialization;
using System.IO;

namespace Data2Xml
{
    [XmlRoot("Person")]
    public class Person
    {
        [XmlElement("Firstname")]
        public string Firstname { get; set; }

        [XmlElement("Name")]
        public string Name { get; set; }

        public Person()
        {
        }

        public string ToXml()
        {
            XmlSerializer s = new XmlSerializer(this.GetType());
            StringWriter xmlWriter = new StringWriter();
            s.Serialize(xmlWriter, this);
            xmlWriter.Close();

            return xmlWriter.ToString();
        }
    }
}

Aufrufbeispiel:

Person per = new Person();

per.Name = "Mustermann";
per.Firstname = "Max";

string xml = per.ToXml();

Ergebnis ( Rückgabewert von ToXml() ):

<Person xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:xsd="http://www.w3.org/2001/XMLSchema">
 <Firstname>Max</Firstname>
 <Name>Mustermann</Name>
</Person>

In einem weiteren Artikel hab ich beschrieben, wie eine Silverlight DLL auch unter .NET/WPF verwendet werden kann. Dabei ist man allerdings auf die Verwendung von nur wenigen Namesspaces beschränkt. Wie ist es jedoch bei Entwicklung einer UI bis hin zu Custom Controls. Hier möchte ich mich auf die Entwicklung eines Custom Controls konzentrieren, da das für mich in einem besonderen Fokus steht.

Habe zunächst versucht die Testentwicklung unter Visual Studio 2010 und Silverlight 4 Beta durchzuführen. Zu deisem Zeitpunkt war eine RC des VS verfügbar, jedoch konnte man die Silverlight 4 Beta nur zum Studio Beta installieren. Gequält durch viel zu viele Abstürze des VS, vermutlich hervorgerufen durch die komplexere Projektstruktur mit Links zu Dateien in der “Solution” und Prokjekte, habe ich nun das Studio 2008 und SL 3 verwendet. Einfachere Projekt konnte ich in der Beta des Visual Studio allerdings anstandslos erstellen, bauen und debuggen.

Probleme und Lösungsvorschläge zum CrossDevelopment eines CustomControls:

Continue reading