CC-nél erősen tíltott a var kulcsszó használata c#-ban. Bár leírás szerint erősen típusos deklarációról van szó, bár technikailag igaz, de olvashatatlanná teszi a kódot, mert nem látod a definiált típusát a változónak. Már ezért magában tiltott, de ami igazán veszélyessé teszi, az például a foreach.
Ha van egy olyan logikád, ahol eredetileg Dictionary
a deklaráció, majd bonyolultabb kód miatt átadod IDictionary interface-en keresztül a referenciát, majd deklarálod a következő sort:
foreach(var item in [eredetileg Dictionary típusú változó])
akkor döbbenten fogod tapasztalni, hogy NEM KeyValuePair lesz az item típusa, hanem DictionaryEntry.
Viszont mivel foreach runtime oldja fel, ezért az explicit deklarált KeyValuePair működni fog és megfelelő lesz a típus.
http://www.voiceoftech.com/swhitley/index.php/2012/08/stop-using-var/
VálaszTörlés