2010-03-03 6 views

Répondre

10

Fondamentalement lorsque vous souhaitez fournir des conversions entre types. LINQ to XML fournit de bons exemples ... Il y a un implicite conversion de chaîne à XName, de sorte que vous pouvez écrire:

XName name = "element"; 

mais il y a une explicite conversion de XAttribute à int (et bien d'autres types) afin vous devez inclure un casting dans votre code:

int value = (int) element.Attribute("age"); 

Réfléchissez bien avant de fournir des conversions implicites - ils sont rarement une bonne idée; LINQ to XML les utilise très bien, mais ils peuvent être déroutants. Même les conversions explicites définies par l'utilisateur peuvent surprendre le lecteur non averti.

+0

Presque la plupart du temps, j'évite de les utiliser comme concepteur de bibliothèque (à moins que je ne sois sûr qu'ils ne seront pas mal utilisés et se plaindront). –

Questions connexes