Невозможно передать объект со свойством Enum из проекта репозитория в сервисную службу Fabric - PullRequest
0 голосов
/ 08 марта 2019

У меня есть Gender Enum, и я пытаюсь передать его в объекте из уровня репозитория в сервисный метод. Тем не менее, я добавляю в него атрибут EnumMember и DataContract.

Ошибка ниже.

Введите 'MyNamespace.Gender' с именем контракта данных 'Пол: http://schemas.datacontract.org/2004/07/MyNamespace' не ожидается. Добавьте любые типы, которые не известны статически, в список известных типов - например, с помощью атрибута KnownTypeAttribute или добавив их в список известных типов, переданных в DataContractSerializer.

1 Ответ

1 голос
/ 08 марта 2019

Вам необходимо добавить атрибут KnownType в класс DataContract, который использует тип enum.

[DataContract]
[KnownType(typeof(Shape))]
public class CompanyLogo
{
    [DataMember]
    private Shape ShapeOfLogo;
    [DataMember]
    private int ColorOfLogo;
}

Это предоставит тип enum в WSDL, чтобы клиент службыпонимает тип, который вы используете.

В качестве альтернативы вы можете привести enum к его базовому типу и представить его как int вместо значения enum.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...