![]() |
Microsoft Visual C# Express beendet sich einfach?
hi,
ich habe in meinem Projekt eine neue Datei für eine Klasse(Komponente) angelegt, diese sieht ca so aus:
Code:
So, wenn ich nun zum Tab von Form.cs wechsle und mir eine Komponente dieses Codes s.o auf die Form ziehe, beendet sich MSVC#... Hat jemand ne Ahnung wieso? Bug?
using System;
using System.Collections.Generic; using System.Text; using System.ComponentModel; using System.Net.Sockets; namespace IRC { class IRCClient : Component { const short MESSAGE_BUFFERSIZE = 512; private TcpClient tcpClient = new TcpClient(); public string Hostname { get { return Hostname; } set { Hostname = value; } } public short Port { get { return Port; } set { Port = value; } } public delegate void ConnectEventHandler(object sender, EventArgs e); public event ConnectEventHandler OnConnect; public void Connect() { tcpClient.Connect(Hostname, Port); } public void Disconnect() { tcpClient.Close(); } public void Raw(string Message) { if (tcpClient != null) { byte[] buf = new byte[MESSAGE_BUFFERSIZE]; Message += "\r\n"; buf = System.Text.Encoding.UTF8.GetBytes(Message.ToCharArray()); tcpClient.GetStream().Write(buf, 0, buf.Length); } } public void Message(string Target, string Message) { Raw(String.Format("PRIVMSG {0} :{1}", Target, Message)); } public void Notice(string Target, string Message) { Raw(String.Format("NOTICE {0} :{1}", Target, Message)); } public void Join(string Channel) { Raw(String.Format("JOIN {0}", Channel)); } public void Join(string Channel, string Password) { Raw(String.Format("JOIN {0} {1}", Channel, Password)); } public void Part(string Channel) { Raw(String.Format("PART {0}", Channel)); } public void Part(string Channel, string Message) { Raw(String.Format("PART {0} :{1}", Channel, Message)); } public void Quit() { Raw("QUIT"); } public void Quit(string Message) { Raw(String.Format("QUIT :{0}", Message)); } public void Invite(string Nickname, string Channel) { Raw(String.Format("INVITE {0} {1}", Nickname, Channel)); } public void Nick(string Nickname) { Raw(String.Format("NICK :{0}", Nickname)); } } } |
Re: Microsoft Visual C# Express beendet sich einfach?
Zitat:
Zitat:
|
Re: Microsoft Visual C# Express beendet sich einfach?
Moin Elvis,
den Teil den du gequotet hast, der sieht für mich fehlerfrei aus - auch wenn er das wohl nicht sein wird wenn du ihn quotest :???: . Muss ich evtl vorher noch ne Variable für die Properties anlegen? Dachte dass der Kopf der Property selbst schon die Variable ist. Könnte ja sein, dass sich "get" immer wieder endlos aufruft? Also so die Theorie *g*... hmm |
Re: Microsoft Visual C# Express beendet sich einfach?
Aus Delphi kennt man ja da den "private"-Abschnitt mit diversen FVariablen... Ja, du hast da eine Endlosschleife drin.
|
Re: Microsoft Visual C# Express beendet sich einfach?
Zitat:
@Pseudo Wo denkt du denn, dass eine Instanz deiner Klasse die Werte von HostName und Port ablegt? Ich kann kein Feld sehen, in dem die Werte liegen könnten. |
Re: Microsoft Visual C# Express beendet sich einfach?
Ich hatte sie nur kurzzeitig als public, weil als ich sie private hatte ist das o.g Phänomen erst aufgetreten *g*. Nun aber auch wenn public ist, d.h daran liegt es wohl nicht - sollte ja auch nicht.
@Elvis: Ich dachte, dass bei
Code:
die Property "Port" selbst die Variable repräsentiert, hab ich mich wohl getäuscht hm? *g.
public short Port
{ get { return Port; } set { Port = value; } } Danke für eure Hilfe :). Mal testen |
Re: Microsoft Visual C# Express beendet sich einfach?
Zitat:
Delphi-Quellcode:
Mööp = class
public property HostName : Lala read HostName write HostName; |
Re: Microsoft Visual C# Express beendet sich einfach?
Zitat:
Anders gesagt: Im Getter gibst Du zurück, was in der Eigenschaft Port steht. Um dieses zu ermitteln musst Du den Getter von Port aufrufen. Im Getter gibst Du zurück, was in der Eigenschaft Port steht. Um dieses zu ermitteln musst Du den Getter von Port aufrufen. Im Getter gibst Du zurück, was in der Eigenschaft Port steht. Um dieses zu ermitteln musst Du den Getter von Port aufrufen. Im Getter gibst Du zurück, was in der Eigenschaft Port steht. Um dieses zu ermitteln musst Du den Getter von Port aufrufen. Im Getter gibst Du zurück, was in der Eigenschaft Port steht. Um dieses zu ermitteln musst Du den Getter von Port aufrufen. ... ...:cat:... |
Re: Microsoft Visual C# Express beendet sich einfach?
Zitat:
|
Re: Microsoft Visual C# Express beendet sich einfach?
Zitat:
...:cat:... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz