Nur eine Vermutung: Der operator * ist überschrieben so dass Typumwandlung auf einfache Pointer-Ebene stattfinden kann, jedoch nicht bei Pointer auf Pointer Ebene.
So das die einzige Möglichkeit die du hast ist über eine temp Variable mit einen Pointer zu gehen.
Das hab ich nur mal als Spaß reingemacht. Im Grunde ist dies ein Property, auf dies nur Zugegriffen werden kann. Somit Kann über A auf B zugegriffen werden.
Jedes Control, auch Form, hat ein Property Controls, hier kannst du zur Laufzeit weiter Controls, z.B. ListView hinzufügen ( Add(...), bzw. entfernen ( Remove(...) ). Schau dir dazu am besten an wie es der Desigener macht. Mit Insert kannst auch an eine bestimmte Position in der Liste einfügen.
Zum Zugriff auf dein dynamischee Control merkst du dier am besten in einer Variable dein Control, als du andauernd die List durchgehst.
Wie sieht es aber umgekehrt aus, wenn ich von KlasseA auf eine Funktion von KlasseB zugreifen möchte ?
Dies verstößt gegen das Konzept der OOP, da deine Klasse B die Klasse A erweitert, kann ja die A von B nicht wissen. Tauchen solche Probleme auf liegt eindeutig ein Designfehler vor.
Vielleicht hilft dir ja dies Lösung weiter in Klasse A eine virtual Methode schrieben und diese in B überschreiben, so kann diese Methode ganz normal in A aufgerufen werden.
abbes schrieb:
welche vorteile bringt die abfrage ueber parameter?
Sicherheit.
abbes schrieb:
und wie sieht's da mit der abfrage-zeit aus?
Sorry, da habe ich keine Vergleichswerte.
Also, ich habe mir mal ein Testproject erstellt und dein Zeug von oben eingestzt und es lief alles. Eventuel mach doch mal ein Komplett neues Build (Rebuild).
Ich hab das Problem inzeischenlösen können, indem ich die scaleTrasnform nicht mehr nutze. Die hat irgendwelche Probleme gemacht. ????
Trotzdem Danke!!! Ist natürlich soweiso besser einzelne Varis zu locken anstatt gleich das ganze Objekt. Danke für den Tipp!
hi,
weiss nich obs auch einfacher geht, aber ich hatte mir mal ne hilfsklasse dafür von TcpClient abgeleitet, weil der das Socket-Objekt versteckt, das einem diese Auskünfte geben kann.
hier die klasse:
public class myTCPClient : System.Net.Sockets.TcpClient
{
myTCPClient(TcpClient client) : base()
{}
public String RemoteIP()
{
return this.Client.RemoteEndPoint.ToString();
}
}
die Funktion RemoteIP liefert zwar die ip zurück, aber analog dazu bekommt man von RemoteEndPoint auch andere infos.
grüsse
Stoichkov,
Stoichkov schrieb:
Gibt es eine Möglichkeit in C# den Benutzernamen und das Passwort beim Start eines Programmes mit zu übergeben?
Du kannst via "Impersonation" als ein anderer Nutzer agieren - guckst Du hier.