В основном, когда вы хотите обеспечить преобразования между типами. LINQ to XML предоставляет хорошие примеры ... Существует неявное преобразование из строки в XName, поэтому вы можете написать:
XName name = "element";
, но есть явное преобразование из XAttribute
в int
(и многие другие типы), поэтому вы должны включить приведение в свой код:
int value = (int) element.Attribute("age");
Тщательно подумайте, прежде чем предоставлять неявные преобразования - они редко хорошая идея; LINQ to XML использует их с большим эффектом, но они могут сбивать с толку. Даже явные пользовательские преобразования могут удивить неосторожного читателя.