Thursday, December 11, 2008

C# a quanto obrigas...

Sim, claro ... após 600 linhas de codigo para fazer um servidor não há muito que possa estar mal além de uns typos ... certo? .... errado... estaria certo se estivesse a falar de C .... o velhinho C .... mas com o C# aquilo que parecia estar certo pode estar errado ... muito errado... (e de notar que este problema aqui descrito nem foi o pior ... apenas o mais simples de entender). Vejamos como exemplo o seguinte pedaço de codigo: foreach (ClientInfo client in clientList) { if (clientSocket == client.socket) { client.state = ClientInfo.State.READY; } if (client.state == ClientInfo.State.READY) { msgToSend.current++; } } onde clientList é um ArrayList da struct ClientInfo (podia ser um List mas havia problemas semelhantes, mesmo tentando com clientList[index].state).... e onde está o problema? simples, dentro de um foreach podem apenas ler .... yep .... aprendi isso da pior forma.... ou seja, após ter finalizado toda a implementação e testado tudo o resto ... eu definitivamente não me dou bem com OO... Parece que não fui o unico (mais detalhado)... >.< ... bem problema resolvido ... struct pra class ... hora de implementar o cliente ... (definitivamente não vou acabar isto a horas)

No comments: