Я создаю распределенное (клиент-сервер .NET) .NET-приложение, используя WCF
. Как вы можете видеть в приведенном ниже коде, я хотел бы использовать System.Type в одном из своих DataContrac для отправки типов параметров. Однако я всегда получаю исключение, когда я делаю это так. Все остальное работает, значит, когда я удаляю свойство System.Type, он работает хорошо.Использовать System.Type в WCF Datacontract
[DataContract]
public class PluginParametersItemDto
{
[DataMember]
public String Name { get; set; }
[DataMember]
public Type Type { get; set; }
[DataMember]
public Object Value { get; set; }
public PluginParametersItemDto(String name, Type type, Object value)
{
this.Name = name;
this.Type = type;
this.Value = value;
}
}
Кто-нибудь Идея, как я мог передать общие определения типов моему клиенту? Или это даже возможно?
Похоже, вы не можете: http://stackoverflow.com/questions/10500870/serialize-generic-type-over-wcf-service Поскольку под обложкой WCF отправляет XML через провод, наиболее общий тип будет XML или, может быть, просто сообщение. – MatthewMartin
Не могли бы вы опустить тип из контракта и установить его в своем конструкторе с помощью «this.Type = typeof (value)»? –
Обходной путь с typeof() не работает. – sharpy