Ну, есть две части к этому:
Они вызывают один и тот же Attribute
метод?
Да. Существует только один метод XElement.Attribute
с параметром XName
, что означает, что в последнем случае вы используете неявную строку для преобразования XName
.
Преобразует ли неявная строка в XName
то же самое, что и XName.Get
?
Это не гарантировано - документация не упоминает об этом. Но у меня нет оснований сомневаться в анализе SLaks, что текущая реализация *1023* такая же.
Лично я всегда либо использую преобразование из строки в XName
или оператор сложения между XNamespace
и строкой, чтобы получить XName
. Я не могу вспомнить, когда в последний раз я ссылался на это явно.
Доступные преобразования - одна из прекрасных вещей в LINQ to XML - игнорировать их, кажется, бессмысленно, IMO.