Xml Schema Definition (XSD) von einer Klasse - Fehlende using-Direktive oder Assembly-Verweis?

 - (Technik, Technologie, Programmierung)

2 Antworten

Mit csc kommt niemals eine XSD-Datei raus. Es wird immer versucht, die CS-Datei in eine Assembly zu kompilieren. Da Du vermutlich nur PersonenKonfiguration.cs angegeben hast, schlägt der Kompiliervorgang entsprechend fehl.

Im Übrigen fehlt ein Anführungszeichen vor xy.

C# Xml Array?

Hallo, ich habe eine Frage bezüglich XmlArrays in einer Klasse. Ich habe eine Klasse PersonenKonfiguration mit einem XmlArray Person (siehe Code).

[XmlRoot(ElementName = "PersonenKonfiguration")]
public class PersonenKonfiguration
{
    [XmlArray ("Person")]
    public List<Person> Personen { get; set; }
    
}

Ich habe eine weitere Klasse Person in der sozusagen die ChildNodes sind, also Name, Vorname und Wohnort (siehe Code).

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

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

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

Wwas muss dann noch in die jeweilige Klasse ergänzt werden, damit es dann in etwa so aussieht:

<Personenkonfiguration>
    <Person>
        <Name>Mustermann</Name>
        <Vorname>Max</Vorname>
        <Wohnort>Musterstadt</Wohnort>
    </Person>
    <Person>
        <Name>Mustermann</Name>
        <Vorname>Max</Vorname>
        <Wohnort>Musterstadt</Wohnort>
    </Person>
    <Person>
        <Name>Mustermann</Name>
        <Vorname>Max</Vorname>
        <Wohnort>Musterstadt</Wohnort>
    </Person>
</Personenkonfiguration>
...zur Frage

C# Objekte verändern ohne sie neu zu erzeugen?

Hallo, ich will ein Objekt verändern, ohne es mit = new neu zu erzeugen. Der Grund dafür ist, ich habe Personen in einer Datenbank und diese haben feste IDs und wenn ich doch die Person (das Objekt) neu erzeuge ist die ID futsch.

Code:

public void BindPerson(Person selectedPerson)
{
	this.textBoxVorname.Text = selectedPerson.Vorname;
	this.textBoxName.Text = selectedPerson.Name;
	this.textBoxStrasse.Text = selectedPerson.Straße;
	this.textBoxHausnummer.Text = selectedPerson.Hausnummer.ToString();
	this.textBoxWohnort.Text = selectedPerson.Wohnort;
	this.textBoxPLZ.Text = selectedPerson.PLZ.ToString();
    _selectedPerson = selectedPerson;
}

private void buttonOK_Click(object sender, EventArgs e)
{
	var vorname = textBoxVorname.Text;
    var name = textBoxName.Text;
    var straße = textBoxStrasse.Text;
    int hausnummer = Convert.ToInt32(textBoxHausnummer.Text);
    var wohnort = textBoxWohnort.Text;
    int plz = Convert.ToInt32(textBoxPLZ.Text);

	_selectedPerson = new Person()
	{
	    Vorname = vorname,
	    Name = name,
	    Straße = straße,
	    Hausnummer = hausnummer,
	    Wohnort = wohnort,
	    PLZ = plz
	};
    Close();
}



Ich will das es keine new Person ist, ich habe ja die selectedPerson in der Variable _selectedPerson gespeichert und diese möchte ich jetzt im buttonOK_Click verwenden, möchte aber nicht

_selectedPerson = new Person()

machen weil sonst die ID der selectedPerson weg ist weil es eben eine neue Person ist. Versteht ihr was ich meine? :D

...zur Frage

C# EncryptedXml-Klasse nicht mehr verfügbar?

Hallo, ich verwende in meinem Programm die EncryptedXml-Klasse, jedoch wird sie mir als Fehler angezeigt, wenn ich eine neue Instanz der Klasse erstelle. Gibt es irgend einen Ersatz für die Klasse?

...zur Frage

Wie sieht die Punktnotation in Java aus oder wie kann ich auf auf andere Klassen zugreifen?

Wie kann ich in der Klasse Telefon die Methoden aus der Klasse Telefonbuch verwenden ? Wenn ich es mit Punktnotation versuche wie z.B.

public void eintrag_hinzufuegen(String name)
{
    Telefonbuch.hinzufuegen(name);
}

, kommt die Fehlermeldung : non static method cannot be referenced from a static context

1)

import java.util.ArrayList;
public class Telefon
{
protected ArrayList <Telefonbuch> telefonbuch;
protected boolean eingeschaltet;
        
        public Telefon()
    {
        // initialise instance variables
        telefonbuch = new ArrayList <Telefonbuch>();
    }
    
    public void anrufen (String name)
    {
    }
    
    public void einschalten()
    {
        eingeschaltet = true;
    }
    
    public void telefonbuch_uebersicht()
    {
        
    }
    
    public void eintrag_hinzufuegen(String name)
    {
    }
    
    public void eintrag_entfernen(String name)
    {
    }
    
    public boolean eintrag_suchen(String name)
    {
    }
}

2)

import java.util.Arrays;

/**
 * Write a description of class Telefonbuch here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class Telefonbuch
{
    // instance variables - replace the example below with your own
    private int anzahl_eintrag;
    private int kapazitaet;
    private String[] name_liste;
    protected boolean gefunden;

    /**
     * Constructor for objects of class Telefonbuch
     */
    public Telefonbuch()
    {
        // initialise instance variables
        String [] name_liste = new String[kapazitaet];
        gefunden = false;
    }
    
    public void set_kapazitaet(int x)
    {
        kapazitaet = x;
    }
    
    public void telefonbuch_uebersicht()
    {
        for(int i=0; i < name_liste.length; i++)
        {
        System.out.println(name_liste[i]);
        }
    }
    
    public void hinzufuegen(String name)
    {
        
    }
    
    public void entfernen(String name)
    {
    }
    
    public boolean suchen(String name)
    {
        for(int i=0; i < name_liste.length; i++)
        {
         if(name_liste[i].equals(name))
         {
         gefunden = true;
         }
         else
         {
         //Abbruch
         }
        }
        return gefunden;
    }
}

...zur Frage

C# Abbrechen-Button?

Hallo, ich habe ein Problem mit meiner Anwendung. Ich habe eine Form die heißt z.B. Form1 und eine Form2. Beim klick auf den Hinzufügen-Button in Form1 öffnet sich Form2 (dort sollen dann Daten in Textboxen eingegeben). Wenn ich dann auf den Speichern-Button klicke werden diese eingegebenen Daten in eine Datenbank gespeichert und in einem Datagridview in Form1 angezeigt. Das Problem hierbei ist, der Abbrechen-Button in Form2 funktioniert nicht (beim klick auf den Abbrechen-Button soll man wieder zurück zu Form1 kommen). Ich habe eine Datenbank Kontext Klasse "PersonDbContext" in der zwei Methoden sind, einmal zum hinzufügen und einmal entfernen einer Person aus dem grid sowie Datenbank.

DbContext:

public class PersonDbContext : DbContext
	{
		public DbSet<Persons> Person { get; set; }
    public void AddPerson(Persons person)
    {
        Person.Add(person);
        SaveChanges();
        MessageBox.Show(@"Person wurde erfolgreich hinzugefügt.");
    }

    public void RemovePerson(Persons person)
    {
        Person.Attach(person);
        Entry(person).State = EntityState.Deleted;
        SaveChanges();

        MessageBox.Show(@"Person wurde erfolgreich gelöscht.");
    }
}

Form1:

private void buttonHinzufügen_Click(object sender, EventArgs e)
		{
			var dlg = new PersonDialog();
			dlg.ShowDialog();
			var person = dlg.Persons;
        _db.AddPerson(person);
        _db.SaveChanges();
    }

PersonDialog ist die 2. Form die sich dann öffnet (Form2).

Wenn ich auf meinen Abbrechen-Button in meiner 2. Form klicke bekomme ich immer den Fehler das der Wert nicht null sein darf.

Also im DbContext in der AddPerson-Methode heißt es dann der Wert darf nicht null sein (bei Person.Add(person);

public void AddPerson(Persons person)
		{
            //Wert darf nicht null sein.
    		Person.Add(person);
        SaveChanges();
        MessageBox.Show(@"Person wurde erfolgreich hinzugefügt.");
    }

Wenn ich aber eben keine Person hinzufügen will (keine Daten in Form2 eingeben will) ist es null. Ich muss sogesehen eine neue Person hinzufügen und die dann per Löschen-Button in Form1 wieder entfernen weil ich sonst ja die Exception kriege. Also wie bringe ich den Abbrechen-Button in Form2 zum laufen (damit es egal ist ob der Wert null ist bzw halt nichts eingegeben wurde)?

Danke euch. :)

...zur Frage

C# XML-Element mit einem symmetrischen Schlüssel verschlüsseln ohne XmlDocument?

Hallo, ich würde gerne wissen, wie man eine Xml-Datei mit einem symmetrischen Schlüssel verschlüssel ohne ein XmlDocument? Weil ich finde überall Beispiele mit XmlDocument und ich habe eine serialisieren Methode und eine deserialisieren Methode die das öffnen/speichern schon übernehmen und so würde ja alles doppelt gemacht werden?! z.B. brauche ich doch dann das xmlDoc.Save() nicht weil das eben meine serialisieren Methode macht. Also, ist es möglich mit einem symmetrischen Schlüssel zu verschlüsseln/entschlüsseln ohne XmlDocument? Wenn ja, wie?

Danke.

...zur Frage

Was möchtest Du wissen?