hallo xpHelper,
es scheint dass dir noch einiges an Grundlagenwissen fehlt. (sorry, das klingt jetzt nach Oberlehrer).
Kann dir aber nur raten erstmal ein Buch durchzuarbeiten um solche Sachen auszuräumen.
Siehe z.b.
http://www.galileocomputing.de/openbook/visual_csharp/visual_csharp_07_003.htm
Gruß
hallo,
in gewisser weise schon, dann wenn du den wert des properties durch get und set einfach ein ein privates feld weiterreichst. properties machen da sinn, wo der zugriff durch entsprechenden code kontrolliert wird. das ist mit public attributen nicht möglich. weiterhin sind properties vorraussetzung um beispielsweise (designerfähige) GUI komponenten zu erstellen.
Schau dir mal Timer und System.IO.FileSystemWatcher an.
von welchen 2 variablen sprichst du??
das ist sicherlich keine neuerung in c# sondern wohl ehr ein fehler in deinem programm. um dir weiter helfen zu können ist mehr sourcecode von nöten.
ich vermute mal, dass du NS.ReadByte() noch irgendwo anders aufrufst und nicht dem string hinzufügst.
ungeachtet dessen, kann ich dir nur raten, sachen wie
string str;
byte b;
..
str+=(char)b;
unbedingt zu vermeiden. damit erzeugst du für jedes byte einen neuen string, in den der inhalt des alten string hineinkopiert wird.
besser mit stringbuilder:
StringBuilder sb = new StringBuilder();
while (NS.DataAvailable)
{
b = NS.ReadByte();
sb.Append(b.ToString());
}
string str = sb.ToString();
Assemblies, die im Assembly.Load Kontext geladen wurden, sind solange im Speicher wie die AppDomain aus der sie geladen wurden, sprich, dein Programm.
Hallo,
von der Lokalisierung einzelner Komponenten würde ich dir dringend abraten.
Das Control sollte statt dessen die Texte der Buttons als Properties zur Verfügung stellen. Damit ist gewährleistet, dass die Daten in den üblichen Übersetzungsprozess für WinForms Anwendungen gelangen (indem im Designer Form.Localizable auf true gesetzt wird).
mit deklarierender klasse meine ich die klasse, die das event deklariert. =)
mit unterklasse meine ich eine klasse, die von der deklarierenden klasse abgeleitet wird. und in dieser kannst du das event eben nicht mehr per
if (this.AddGseEvent != null)
AddGseEvent(item, this);
feuern. Sondern du würdest statt dessen in deiner Unterklasse schreiben:
OnAddGse(item);
was wiederrum das event in der basisklasse feuern würde.
mach dir am besten mal ein szenario mit 2 klassen die einander beerben und events feuern, dann wird es dir bestimmt schnell klar.
mit den OnXY Methoden haben Unterklassen die Möglichkeit, vor dem feuern des events einzugreifen, bzw. das Event selbst nochmal auszulösen, indem sie die Methode überschrieben. das würde sonst nicht gehen, da events immer nur von der deklarierenden Klasse gefeuert werden können.
Original von sarabande
Du kriegst jetzt mal nen ganz heissen Tipp von einem abgewichsten P-Hasen.
Ohne Worte...lol
Regex ist aber da das Mittel erster Wahl. Erfahrung kann man sich aneignen.
oder einfach alles mit dem VS Version Selector öffnen.
das wurde im forum schon öfters besprochen...stichwörter sind installer, setup, msi.
hast du jetzt die list mit zahlen gefüllt oder eigenen objekten?
um was für eine klasse handelt es sich da?
--> Synatxfehler.
File.WriteAllText muss es heissen.
Von Welchen Zeichen & sprichst du? Was ist xd2 für ein Objekt? Können nicht hellsehen =)
Hallo zusammen,
ohne das Heft zu kennen denke ich, dass es beim Preis von knapp 15€ vielleicht sinnvoller wäre, direkt zu einem Buch zu greifen. Beispielsweise dieses hier, was bei 17€ liegt und von zwei bekannten Fachautoren geschrieben wurde:
Hallo,
.NET Programme werden in IL Code (Intermediate Language) übersetzt, und zum Ausführen von einem JIT Compiler wiederrum in den entsprechenden nativen Maschinencode übersetzt.
Damit ist eine - zumindest theoretische - Plattformunabhängigkeit erreicht. Es muss "nur" der JIT Compiler ausgetauscht werden.
Stichwort zum Schutz des Codes vor Reverse Engineering ist Obfuscation.
Original von marsgk
Btw.:Lokalisieren kannst du auch ganz einfach ohne VS.
Habe ja nicht behauptet, dass es ohne Designer oder gar VS nicht geht. =)
Ohne Designer fehlt aber z.b. das Localizable Attribut, was die Auslagerung in Resourcen automatisiert.
Wie erstellt ihr denn WPF Anwendungen?
Ich schreibe den XAML Code per Hand, da Cider ja noch nicht sonderlich viel kann.
GUI selber programmieren ist zwar besser, aber kostet auch viel Zeit. Von daher erstelle ich die GUI nur per Designer. Dies bringt auch - vor allem unter .NET - gewisse Vorteile bei der späteren Lokalisierung der Software.
Um was für eine Anwendung handelt es sich denn?
Web-Services sind sinnvoll aber auch langsam.
Hi,
ich gebe dir recht, dass http-clients theoretisch laufen müssten (in einem one-way szenario).
bei vielen kommunikationsmodellen in WCF (z.b. duplex), bei denen der server einen callback veranlasst, würde es aber wieder zu problemen kommen. denn dann muss ja der client als server agieren und dazu den HttpListener verwenden.
ich kann also nur davon abraten, es überhaupt mit win2k zu versuchen.
WCF kann unter Win2k nicht laufen, da es auf dem Http Kernel Mode treiber und entsprechender API (wie IIS 6.0) aufsetzt, die es erst ab Windows XP SP2 bzw. Windows Server 2003 gibt.
beispielsweise so:
Type type = typeof(List<>);
Type[] typeParameter = { typeof(string) };
Type genericType = type.MakeGenericType(typeParameter);
List<string> list = (List<string>) Activator.CreateInstance(genericType);
Indem du keinen Eventhandler für Click registrierst.
warum denn in ein dataset? das ist meiner meinung nach das overhead-objekt überhaupt =)
zum schnellen lesen von xml sollte XmlTextReader die erste wahl sein.
du könntest das logfile auch zeilenweise in einen array einlesen und diesen zur darstellung in der textbox beginnend mit der letzten zeile anzeigen.
da fehlt sowas wie
using System.Web.UI;
bitte such doch mal im forum oder bei google. da findest du genügend infos zum thema.
für dich sind die Klassen im Namespace Microsoft.Win32.Registry interessant.
Nein, da die WPF eine neue GUI Bibliothek ist, die mit Windows Forms nichts zu tun hat. Du kannst allerdings XAML und WinForms Dialoge in einer Anwendung prarallel benutzen.
was mir spontan als quick&dirty lösung einfällt:
wenn die textfelder gefüllt worden sind, läufst du einmal über alle diese textfelder und merkst dir die jeweiligen texte in einem array.
beim verlassen machst du nochmal das selbe und prüfst dabei, ob die jeweiligen texte noch gleich sind.
wie sieht denn die xml datei aus? ist das bild auch wirklich als base64 codiert? wie liest du den datenblock aus?
vielleicht hilft dir auch ein memory profiler weiter.
füg mal ganz oben in die erste zeile
using System;
ein, und lies ein Buch zu C# durch, etwa
http://www.amazon.de/Die-Kunst-programmieren-m-CD-ROM/dp/3860630989
erg ist nicht deklariert, ich denke du wolltest statt
int erf=0;
wohl
int erg=0;
schreiben?
=)
Hallo,
abgesehen von der exception würde dein code immer nur die letzte vorhandene MAC Adresse mit der gewollten vergleichen.
die exception tritt auf, weil du vor dem aufruf von ToString() nicht prüfst, ob der rückgabewert null ist.
Habs mal etwas umgeändert:
static void Main(string[] args)
{
ManagementClass mClass = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection coll = mClass.GetInstances();
bool found=false;
foreach (ManagementObject mO in coll)
{
if (mO != null)
{
object property = mO.GetPropertyValue("MacAddress");
if (property == null)
break;
if (property.ToString().Equals("00-0A-F7-2E-3C-0D"))
{
found=true;
break;
}
}
}
if (found)
{
//mac-addresse vorhanden
}
else return;
}
Ich würde den Klasssenbegriff nicht so pauschal mit einem "Bauplan" gleichsetzen.
Klassen sind Strukturen, die Daten beinhalten (Properties, Felder), und Code, um diese Daten auf gewisse Weise zu manipulieren. Zusätzlich kapseln Klassen ihren Inhalt und bieten Schnittstellen an, um darauf zuzugreifen.
Objekte sind Instanzen, die von einer Klasse erzeugt werden.
System.Math ist eine Klasse mit einer statischen Methode Pow(). Auf statische Member wird nicht über eine Instanz (Objekt) zugegriffen, sondern über die Klasse selbst.
Ich hoffe dass hilft dir irgendwie weiter.
Nimm doch eine der Überladungen von Image.Save, die vom Compact Framework unterstützt werden.
Es empfiehlt sich ein Blick in die MSDN. =)
Reflection ist ein wahnsinniger Bestandteil von .NET. So schnell kriegt man das nicht kleingeredet 🙂
Das lag, wie jetzt schon oftmals gesagt, auch nie in meiner Absicht.
ich denke es ist ok so, verstehe aber nicht, warum du ein statisches feld benutzt. damit kannst du dann insgesamt nur 3 personen hinzufügen, egal wie viele objekte du von Kundenliste erzeugst. Wenn das so gewollt ist, ist es natürlich richtig.
du könntest mit einem pattern wie "<.+>" bzw. "<.+>.*</.+>" erstmal alle tags löschen. danach wird es wahrscheinlich leichter sein, die daten auszulesen.
l_test.Text = "ID=" + ((Button)sender).ID;