Включить отображение номеров строк в Visual Studio

В дополнение к другим ответам, я попытаюсь добавить то, что знаю в этой теме. Короче говоря, они оба заменяют имя и пространство имен по умолчанию [DataContract] и [DataMember] (Name) тем, что вы предоставили этим свойствам. Согласно документации MS для свойства DataContractAttribute.Namespace (они называются свойствами атрибута, а не атрибута), в разделе «Совет» указывается ссылка ». Для того чтобы данные были успешно переданы, имя данных в контракте данных должно быть одинаковым как для клиента, так и для сервера. Проекты Visual Basic по умолчанию добавляют префикс к пространству имен, определенному в каждом файле (называемому «корневым пространством имен», названным в честь проекта) Добавление этого префикса приводит к тому, что пространства имен клиента и сервера будут отличаться для одного и того же типа. Решение состоит в том, чтобы установить для свойства Namespace значение «" или явно задать пространство имен контрактов данных в этом свойстве ». Из того, что я понял, для атрибута DataContract можно сериализовать / десериализовать данные, данные должны иметь соответствующее пространство имен как на стороне клиента, так и на стороне сервера, что всегда может быть не в реальной ситуации. Например, ваши данные на стороне сервера, если они называются читаемым и разумным способом, могут находиться под пространством имен, которое имеет имя, похожее на «NameOfTheSolution.Server.NameOfTheProject», тогда как на стороне клиента это может быть что-то вроде «NameOfTheSolution.Server.NameOfTheProject», NameOfTheSolution.Client.NameOfTheProject «. Из-за различного пространства имен DataContracts, атрибут [DataContract] не сможет сериализовать / десериализовать данные между клиентом и сервером. Я не уверен, но это может быть причиной того, что этот метод не разрешен в вашем случае из-за несоответствующего пространства имен. В ситуации, когда пространства имен не совпадают, свойство «Namespace» может использоваться при использовании атрибута [DataContract] и предоставлять классу с каждой стороны (клиент / сервер) те же пространства имен, хотя они физически лежат в разных пространствах имен.

[DataContract (Namespace = “Whatever you want, usually uri”)]
public class User
{}

Что касается свойства 'Name' атрибута [DataContract], оно переопределяет имя вашего datacontract с именем, которое вы предоставили этому свойству. Одно его использование в контексте атрибута DataMember - это перегрузка метода в рамках контракта данных. DataContract не позволяет использовать два имени DataMember с таким же именем, поэтому в таком сценарии полезно использовать свойство Name.

147
задан DavidRR 5 April 2016 в 13:46
поделиться

3 ответа

В Visual Studio есть нумерация строк:

Инструменты -> Параметры -> Текстовый редактор -> Все языки -> установите флажок «Номера строк».

218
ответ дан 23 November 2019 в 22:29
поделиться

Вы говорите о просмотре номеров строк или зная общее количество строк в проекте? Вот первая

1
ответ дан 23 November 2019 в 22:29
поделиться

Инструменты -> Параметры -> Показать все настройки -> Текстовый редактор -> Все языки -> Номера строк

25
ответ дан 23 November 2019 в 22:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: