Logo UGIdotNET

Discussione 'Domandone sui genirics...'

# Pubblicato il 24 giu 2004 13.28 - Rispondi
theEvil @
Domandone sui genirics...
ho seguito il workshop del 22 e ho voluto provare alcune cose....

using System;

/// <summary>
/// Summary description for Persona
/// </summary>
public class Persona
{
public Persona()
{
//
// TODO: Add constructor logic here
//
}

private string nome;
private string cognome;

public string Nome
{
get { return nome; }
set { nome = value; }
}

public string Cognome
{
get { return cognome; }
set { cognome = value; }
}
}

poi dall'esterno .....

using System;


namespace ASP {

public partial class Default_aspx
{
void Page_Load(object sender, EventArgs e)
{

}

void Button1_Click(object sender, EventArgs e)
{
System.Collections.Generic.Collection<Persona> persone =
new System.Collections.Generic.Collection<Persona>();

persone.Add("Ciao");

}

}
}

Non dovrei ottenere errore a compile time ??
Invece compila perfettamente, ottengo errore solo a run-time.

Le questioni sono :
- non ho capito ancora bene i generics... :-)
- la ctp non ha ancora capito bene i generics...(????)
- non saprei...

Sapreste indicarmi ???

PS: Non si potrebbe aprire nel forum una sezione dedicata a whidbey e il framework 2.0 ???
# Pubblicato il 24 giu 2004 13.35 - Rispondi
Alessandro Di Noia
Re: Domandone sui genirics...
> Non dovrei ottenere errore a compile time ??
> Invece compila perfettamente, ottengo errore solo a run-time.

Non sono molto ferrato nench'io sull'argomento ma mi pare di aver letto da qlc parte che i generics eseguono il controllo sulla compatibilità dei tipi a runtime. Ciò spiegherebbe il comportamento descritto.

Se qualcuno vuole confermare o smentire.....

Alessandro Di Noia
# Pubblicato il 24 giu 2004 13.37 - Rispondi
Marco Barzaghi
Re: Domandone sui genirics...
> Non dovrei ottenere errore a compile time ??
si, "la ctp non ha ancora capito bene i generics...(????)" :-p

HTH M.rkino

> PS: Non si potrebbe aprire nel forum una sezione dedicata a whidbey e il
> framework 2.0 ???
In attesa che lo staff valuti la proposta si potrebbe inziare a dare come regola che le domande in tema di c#2.0, Framework 2.0 piuttosto che asp.ent 2.0 abbiano nel subject il prefisso "[WHIDBEY]" in modo da poterle individuare e distinguere dalla domande sulle attuali versioni.

thx M.rkino
--
Marco Barzaghi - [MVP - MCP]
http://mvp.support.microsoft.com - http://italy.mvps.org
UGIDotNet - User Group Italiano .NET, http://www.ugidotnet.org
Read my WebLog: http://www.ugidotnet.org/436.blog
# Pubblicato il 24 giu 2004 14.09 - Rispondi
Raffaele Rialdi [MVP]
Re: Domandone sui genirics...

UGI 6255 wrote:
> ho seguito il workshop del 22 e ho voluto provare alcune cose....
:-)

> Non dovrei ottenere errore a compile time ??
> Invece compila perfettamente, ottengo errore solo a run-time.
Esatto, hai capito bene.

Non posso riprodurre il problema nella tua stessa condizione perchè sto
usando la May preview e non più la March (non c'è stato il tempo fisico di
distribuire una build più recente e già si parla della probabile uscita
della beta1 a giorni).
Nella May questo codice non compila e ti obbliga ad una cosa del genere:
persone.Add(new Persona());

Stiamo cercando di dare una build più aggiornata per l'8 Luglio dove potrò
erogare una sessione più lunga su C# 2.0 che darà maggiori dettagli di
quanto già visto il 22.


> Le questioni sono :
> - non ho capito ancora bene i generics... :-)
Non sono certo un argomento banale, ma mi sembra che invece li hai capiti
:-)

> - la ctp non ha ancora capito bene i generics...(????)
Molto probabile :-D
D'altra parte è una alpha e ci sono ancora tante cose che il compilatore
ancora non fa come dovrebbe.


> PS: Non si potrebbe aprire nel forum una sezione dedicata a whidbey e
> il framework 2.0 ???
Posta nei suggerimenti e proposte la tua richiesta e vediamo se l'argomento
è molto richiesto ....

--
Raffaele Rialdi
Microsoft .NET MVP http://mvp.support.microsoft.com -
http://italy.mvps.org UGIdotNET - User Group Italiano .NET
http://www.ugidotnet.org Weblog: http://www.ugidotnet.org/2082.blog



----------------------
Questo messaggio è stato postato da microsoft.public.it.dotnet.csharp.
# Pubblicato il 24 giu 2004 13.39 - Rispondi
Massimo Prota
Re: Domandone sui genirics...
Smentisco... E' una delle differenze principali dai template di C++.
Ma non saprei di preciso quale può essere il problema in questo caso.
# Pubblicato il 24 giu 2004 13.40 - Rispondi
theEvil @
Re: Domandone sui genirics...
Scusa ma il controllo dei tipi a run-time non serve a niente, secondo me (o meglio non migliore niente, visto che quello c'è ovunque).
Se ho un controllo a run-time e qualcosa non va ---> eccezzione...... e a questo punto il vantaggio dei generics dove sta ?

Boh ? mi ha lasciato stupito questo comportamento di whidbey...ma credo sia un baco.
# Pubblicato il 24 giu 2004 13.44 - Rispondi
Marco Barzaghi
Re: Domandone sui genirics...
> Non sono molto ferrato nench'io sull'argomento ma mi pare di aver letto da qlc parte
> che i generics eseguono il controllo sulla compatibilità dei tipi a runtime. Ciò
> spiegherebbe il comportamento descritto.

L'uso dei generics garantisce il controllo a compile-time... il comportamento descritto è probabilmente dovuto a qualche bug... siamo ancora in beta :-p

"C# Programming Language Future Features"
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vstechart/html/vbconCProgrammingLanguageFutureFeatures.asp

"generics are checked at compile-time. When your program instantiates a generic class with a supplied type parameter, the type parameter can only be of the type your program specified in the class definition. For example, when your program created a Stack of Customer objects, it was no longer able to push an integer onto the stack. By enforcing such behavior, you can build code that is more reliable"

HTH M.rkino
--
Marco Barzaghi - [MVP - MCP]
http://mvp.support.microsoft.com - http://italy.mvps.org
UGIDotNet - User Group Italiano .NET, http://www.ugidotnet.org
Read my WebLog: http://www.ugidotnet.org/436.blog
# Pubblicato il 24 giu 2004 13.41 - Rispondi
theEvil @
Re: Domandone sui genirics...
sono daccordo.
Modificherò i miei thread.
# Pubblicato il 24 giu 2004 13.48 - Rispondi
theEvil @
Re: Domandone sui genirics...
credevo si potessero modificare i thread anche dopo il logout, invece non ci riesco.
# Pubblicato il 24 giu 2004 13.54 - Rispondi
Alessandro Di Noia
Re: Domandone sui genirics...
....infatti mi sbagliavo :)

Grazie mille delle risposte, sono servite ovviamente anche a me a capirci qlc di +

Alex Di Noia
# Pubblicato il 24 giu 2004 14.41 - Rispondi
Andrea Saltarello [UGIdotNET]
Re: Domandone sui genirics...
> > PS: Non si potrebbe aprire nel forum una sezione dedicata a whidbey e
> > il framework 2.0 ???
> Posta nei suggerimenti e proposte la tua richiesta e vediamo se l'argomento
> è molto richiesto ....
fatto... Nel senso che abbiamo creato il gruppo. :-)

--
.A [Microsoft MVP .NET]
UGIdotNET - User Group Italiano .NET
http://www.ugidotnet.org
Read my blog at: http://www.ugidotnet.org/4.blog

# Pubblicato il 24 giu 2004 14.52 - Rispondi
Lawrence Oluyede
Re: Domandone sui genirics...

In data Thu, 24 Jun 2004 14:09:12 +0200, Raffaele Rialdi [MVP] ha scritto:

> Stiamo cercando di dare una build più aggiornata per l'8 Luglio dove potrò
> erogare una sessione più lunga su C# 2.0 che darà maggiori dettagli di
> quanto già visto il 22.

Sarò in prima fila con la mano alzata :P

--
Lawrence
"ain't nothin' but fun."
----------------------
Questo messaggio è stato postato da microsoft.public.it.dotnet.csharp.
# Pubblicato il 24 giu 2004 15.44 - Rispondi
Raffaele Rialdi [MVP]
Re: Domandone sui genirics...

> Sarò in prima fila con la mano alzata :P
LOL, allora dovrò portare dei gadget per farti stare bravo :-P

--
Raffaele Rialdi
Microsoft .NET MVP http://mvp.support.microsoft.com -
http://italy.mvps.org UGIdotNET - User Group Italiano .NET
http://www.ugidotnet.org Weblog: http://www.ugidotnet.org/2082.blog



----------------------
Questo messaggio è stato postato da microsoft.public.it.dotnet.csharp.

© 2001 User Group Italiano UGIdotNET. Tutti i diritti riservati. Note legali. - Partita IVA 01927050185