PDA

View Full Version : Problemi con C#


HipT
16-05-2007, 17:14
Ciao a tutti.
Sto' seguendo il libro "C# Pocket"
ma praticamente tutti i programmi che sono nel libro non mi funzionano:cry:
Uso Microsoft C# Visual Studio Express 2005.
Ad esempio.In questo programma per I/O..dov'è l'errore?:cry:
using System;
using System.Text;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Threading;

namespace pocket_Csharp
{
public class ServerProcesor
{
private Socket clientSocket;

public ServerProcessor(Socket s)
{
this.clientSocket=s;
}
public void process()
{
try
{
byte[] b=new byte[100];
int k=clientSocket.Recive(b);

string clientSentence =" ";
for(int i=0;i<k;i++)
clientSentence +=Convert.ToChar(b[i]).ToString();

string capitalizedSentence =clientSentence.ToUpper();

ASCIIEncoding asen =new ASCIIEncoding();
clientSocket.Send(asen.GetBytes(capitalizedSentence));
clientSocket.Close();
}
catch(SocketException se)
{
Console.WriteLine("Eccezione SocketException...");
Console.WriteLine("Source:" + se.Source);
Console.WriteLine("Message :" +se.Message);
}
cathc (Exception e);
{
Console.WriteLine("Eccezione generica...");
Console.WriteLine("Source:"+ e.Source);
Console.WriteLine("Message :" + e.Message);
}
}
}
}

Il compilatore mi dice:
-"Il metodo della classe,dello struct o dell'interfaccia deve avere un tipo restituito;
-è previsto il segno ")".
-è previsto il punto e virgola ( ; )
-")" è un termine non valido nell'espressione.
Altra cosa strana è che gli ultimi 3 errori me li da' sulla stessa riga, quella
"cathc (Exception e);"
Ma allora...come può essere previsto il segno ")",l'ho inserito, e allo stesso tempo dirmi che ")" non è un termine valido per l'espressione??:cry:

Il primo errore invece è quì:
public ServerProcessor(Socket s)
forse devo linkare qualcosa?

Grazie a tutti!
Ciao!

RaouL_BennetH
16-05-2007, 17:35
Per quanto riguarda l'errore sulla exception:



//non è "cathc" e non ci vuole il ";" quindi:

catch(Exception e)
{
//istruzioni
}



Per il secondo errore quando chiami la classe (suppongo dalla funzione Main) come la chiami?

0rph3n
16-05-2007, 17:46
Per il secondo errore quando chiami la classe (suppongo dalla funzione Main) come la chiami?

il secondo errore è dovuto semplicemente ad fatto che il costruttore non è il costruttore :D

perchè il nome della classe è ServerProcesor, mentre quello che dovrebbe essere il costruttore (ed avere quindi lo stesso nome della classe) si chiama invece ServerProcessor.
il compilatore quindi lo considera come un metodo comune che necessita della dichiarazione del tipo di dato restituito e ne segnala la mancanza.

RaouL_BennetH
16-05-2007, 17:52
il secondo errore è dovuto semplicemente ad fatto che il costruttore non è il costruttore :D

perchè il nome della classe è ServerProcesor, mentre quello che dovrebbe essere il costruttore (ed avere quindi lo stesso nome della classe) si chiama invece ServerProcessor.
il compilatore quindi lo considera come un metodo comune che necessita della dichiarazione del tipo di dato restituito e ne segnala la mancanza.

lol :D

Non me ne sono accorto :D