Dichiarare variabile di un tipo e inizializzare con un'altro?

giovedì 04 giugno 2015 - 10.34
Tag Elenco Tags  C#  |  VB.NET  |  .NET 1.0  |  .NET 1.1  |  .NET 2.0  |  .NET 3.0  |  .NET 3.5  |  .NET 4.0

FabAO Profilo | Newbie

Buongiorno,
è possibile dichiarare una variabile di un tipo e inizializzarla con un'altro?
per esempio in C#:

vehicle v = new car;

Se si in quale contesto si usa?
Grazie - Fabio.

alx_81 Profilo | Guru

>Buongiorno,
ciao

>è possibile dichiarare una variabile di un tipo e inizializzarla con un'altro?
>per esempio in C#:
>vehicle v = new car;

>Se si in quale contesto si usa?
entrambi i tipi devono avere la stessa interfaccia ( IMezziDiTrasporto per intenderci).
Oppure uno dei tipi deve ereditare dall'altro.

Guarda qui:

public class vehicle { public string Targa { get; set; } public string Marca { get; set; } public int Cilindrata { get; set; } public int Cavalli { get; set; } public int NumeroDiRuote { get; set; } } public class car : vehicle { public string Modello { get; set; } }

e poi puoi usarle un po' come serve a te:
var v = new vehicle { Cavalli = 100, Cilindrata = 1400, Marca = "carrozza", Targa = "AB 444 CD" }; var c = new car { Cavalli = 66, Cilindrata = 1000, Marca = "FIAT", Targa = "AB 555 CD", Modello = "CENTO" }; vehicle res = new car { Cavalli = 120, Cilindrata = 1600, Marca = "ALFA", Targa = "AB 333 CD", Modello = "DUECENTO" };


Alessandro Alpi | SQL Server MVP | Engage IT Services s.r.l.
MCP|MCITP|MCTS|MCT
http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com

FabAO Profilo | Newbie

Grazie Alessandro,

però mi rimane un piccolo dubbio, nel tuo esempio...

vehicle res = new car

è uguale a dichiarare ?

car res = new car

alx_81 Profilo | Guru

>vehicle res = new car
>è uguale a dichiarare ?
>car res = new car
eh no.. una è car e l'altra è vehicle.. solo che car eredita le cose di vechicle ed eventualmente estende o ridefinisce la parent.

Alessandro Alpi | SQL Server MVP | Engage IT Services s.r.l.
MCP|MCITP|MCTS|MCT
http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5