ASP, PERL, CGI, C und alles andere Wolle ma net so sein. Obwohl Perl, ASP, C und TCL zu den minderwertigen Internet-Skriptsprachen zählen, dürfen ab sofort hierzu auch Fragen gestellt werden. ;) |
 |
|

16-12-2009, 14:32
|
phpMorpheus2
Registrierter Benutzer
|
|
Registriert seit: Apr 2007
Beiträge: 646
|
|
[C#] Property ergänzen
Kann ich das erstellte Property um weitere Daten erweitern, sodass sogesehen mehr Daten drin sind?
Code:
public void crmNeuenDatensatzStapeln(string feldname, string feldwert)
{
StringProperty prop = new StringProperty();
prop.Name = feldname;
prop.Value = feldwert;
this.dynEntity.Properties = new Property[] { prop };
}
Wie der Funktionsname schon sagt will ich diese Funktion mehrmals ausführen mit immer unterschiedlichen Parametern die
ich übergebe und zum schluss führe ich die Funktion crmNeuenDatensatzSpeichern() aus und diese Funktion
benötigt dann alle gestapelten Propertys in der "thiy.dynEntity.Properties" !
Wie ergänze ich einen Property ?
Dankeschön
|

16-12-2009, 14:44
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.709
|
|
Hallo,
Momentan erzeugst du immer ein neues Array und überschreibst das alte, also wird nie was hinzugefügt. Da es ein Array ist und damit keine Adder-Methode (z. B. AddElement) hat, musst du den neuen Index von Hand vergeben und prop an der Stelle einfügen:
Code:
this.dynEntity.Properties[this.dynEntity.Properties.Length] = prop;
Gruß,
Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

16-12-2009, 14:47
|
phpMorpheus2
Registrierter Benutzer
|
|
Registriert seit: Apr 2007
Beiträge: 646
|
|
Zitat:
Zitat von AmicaNoctis
Hallo,
Momentan erzeugst du immer ein neues Array und überschreibst das alte, also wird nie was hinzugefügt. Da es ein Array ist und damit keine Adder-Methode (z. B. AddElement) hat, musst du den neuen Index von Hand vergeben und prop an der Stelle einfügen:
Code:
this.dynEntity.Properties[this.dynEntity.Properties.Length] = prop;
Gruß,
Amica
|
Achja,
|

16-12-2009, 14:53
|
phpMorpheus2
Registrierter Benutzer
|
|
Registriert seit: Apr 2007
Beiträge: 646
|
|
Dennoch kann ich ohen vorherige instanzierung nicht prüfen wieviele Einträge das Property hat und somit kann ich nicht bestimmen wann er das Property erzeigen und wann nur hinzufügen soll.
Eine Idee?
|

16-12-2009, 15:07
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.709
|
|
Wofür gibt es Konstruktoren? Darin kannst du das Array als leeres Array initialisieren (nicht instanziieren!). Oder sehe ich das falsch? Ich hab keine Ahnung von C#, daher gehe ich da nur mit Logik und dem Wissen aus anderen Sprachen ran.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

16-12-2009, 15:11
|
phpMorpheus2
Registrierter Benutzer
|
|
Registriert seit: Apr 2007
Beiträge: 646
|
|
Das habe ich auch schon gesucht!
Wie bei php gibt es in C# kein __construct.
Zumindest habe ich nichts gefunden.
|

16-12-2009, 15:17
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.709
|
|
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

16-12-2009, 15:35
|
phpMorpheus2
Registrierter Benutzer
|
|
Registriert seit: Apr 2007
Beiträge: 646
|
|
Es muss wohl eine Addierungsfunktion oder dergleichen geben denn ich kann
Code:
his.dynEntity.Properties[this.dynEntity.Properties.Length]
nicht nutzen, da ich immer darauf hingewiesen werde, das der Index außerhalb des gültigkeitsbereiches liegt.
|

16-12-2009, 15:41
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.709
|
|
Google sagt mir, dass man Arrays umkopieren muss: Add Item to Array - C# - Snipplr
Wie man Google benutzt, weißt du aber? Ich habe das letzte Mal vor 5 Jahren C# gecodet, da waren die noch bei .NET Framework 1.1. Was ich dir hier also schreibe ist alles entweder geraten oder gegooglet. Warum kriegst du das dann nicht hin?
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

16-12-2009, 15:45
|
phpMorpheus2
Registrierter Benutzer
|
|
Registriert seit: Apr 2007
Beiträge: 646
|
|
Zitat:
Zitat von AmicaNoctis
Google sagt mir, dass man Arrays umkopieren muss: Add Item to Array - C# - Snipplr
Wie man Google benutzt, weißt du aber? Ich habe das letzte Mal vor 5 Jahren C# gecodet, da waren die noch bei .NET Framework 1.1. Was ich dir hier also schreibe ist alles entweder geraten oder gegooglet. Warum kriegst du das dann nicht hin?
|
Weil ich wohl viel zu viele andere Dinge im Kopf habe was meine Sicht auf das ganze beeinträchtigt.
Kurz: Ich steh einfach auf dem Schlauch
Edit:
Mensch, den Text versteh ich einfach nicht.
Ist es denn so schwer einfach nen neuen Index zu vergeben?
In php ist es ja einfach, in C# wieder mal nicht ..
Geändert von phpMorpheus2 (16-12-2009 um 15:52 Uhr)
|

16-12-2009, 16:03
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.709
|
|
Denn verabschiede dich doch einfach von der Idee Array und nimm irgendeine Collection-Klasse.
<5 Minuten später>
Hab ich grad gegooglet: ArrayList-Methoden (System.Collections)
Jetzt ist bei mir übrigens Schluss, da deine Mitarbeit unter aller Kanone ist.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

16-12-2009, 16:22
|
phpMorpheus2
Registrierter Benutzer
|
|
Registriert seit: Apr 2007
Beiträge: 646
|
|
Die Arraylist lässt nur einen Wert pro row zu!
Bei den StringProperty kann man .name und .value vergeben.
Ich werde aber mal etwas versuchen.
|

16-12-2009, 16:24
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.709
|
|
Aaaargh! Ich meine selbstverständlich eine ArrayList aus StringProperty-Objekten statt des momentanen Arrays aus StringProperty-Objekten
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

16-12-2009, 16:55
|
phpMorpheus2
Registrierter Benutzer
|
|
Registriert seit: Apr 2007
Beiträge: 646
|
|
Code:
public void crmNeuenDatensatzStapeln(string feldname, string feldwert)
{
StringProperty prop = new StringProperty();
System.Collections.ArrayList aList = new System.Collections.ArrayList();
prop.Name = feldname;
prop.Value = feldwert;
aList.Add(prop);
this.dynEntity.Properties = new Property[] { aList };
}
Ich fülle nun die ArrayList mit den Property-Werten auf (mit Add).
Danach packe ich die gesammelte List als new Property in die dynEntity
(Gut, hier im Beispiel passiert das jedes mal wenn ein neues Satz geschr. wird, ist aber nur ein Beispiel)
Doch kann ich nicht vom Typ arraylist in typ Property übergeben.
Mal schaun ob man konvertieren kann...
Und falls ja, ob es überhaupt klappt..
|

16-12-2009, 17:14
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.709
|
|
Zitat:
Zitat von phpMorpheus2
Ich fülle nun die ArrayList mit den Property-Werten auf (mit Add).
|
und zwar jedes Mal eine neue Instanz, also fängst du wieder bei Null an.
Zitat:
Zitat von phpMorpheus2
Danach packe ich die gesammelte List als new Property in die dynEntity
|
Tust du nicht. Du erzeugst ein neues Property-Array (wegen der eckigen Klammern) mit einem Element und überschreibst (immer noch) das alte.
Du erzeugst also bei jedem Eintrag eine ArrayList mit der StringProperty drin und dann willst du diese ArrayList in ein Array einfügen, das vom Typ Property ist. Das kann doch nicht funktionieren.
Ändere den Typ von this.dynEntity.Properties auf List<StringProperty> (ja, genau so, mit den eckigen Klammern) und füge die neue StringProperty mit Add ein. Fertig. ( Edit)
Zitat:
Zitat von phpMorpheus2
Doch kann ich nicht vom Typ arraylist in typ Property übergeben.
|
Daran hättest du eigentlich schon merken müssen, dass das totaler Käse ist.
Lerne die Grundlagen! C# - Galileo OpenBook
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
Geändert von AmicaNoctis (16-12-2009 um 17:23 Uhr)
Grund: ArrayList<StringProperty> muss List<StringProperty> heißen
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|