У меня есть объект, давайте назовем его UnSerializableObject, который я не могу, и изменим то, что мне нужно для сериализации.Поэтому я создал свой собственный объект с именем SerializableObject, который сериализуем и содержит все те же данные, что и исходный объект.который выглядит примерно так:
namespace test
[Serializable]
class SerializableObject
{
private int item1;
public int Item1
{
get;
set;
}
public SerializableObject()
{}
}
Затем я создал другой класс, который преобразует в и из SerializableObject и UnSerializableObject.на сервисной стороне все работает нормально.Метод в сервисе принимает SerializableObject в качестве параметра, и я преобразую его в UnSerializableObject.Проблема на стороне клиента.Я использовал svcutil для создания клиентского кода.Затем я беру Object, преобразовываю его в SerializableObject и использую SerializableObject в вызове службы.Например:
TTSServiceClient aClient = new TTSServiceClient();
UnSerializableObject loMMessage = new MostMessage();
SerializableObject loSMMessage = ObjectConverter.ToSerializableObject(loMMessage);
aClient.Allocate_OnStartResultAck(loSMMessage);
При компиляции клиента появляется ошибка:
Ошибка 59 Аргумент «1»: невозможно преобразовать из «test.Utilities.SerializableObject [c: \ Projects \Client \ Client \ test.Utilities.dll] 'to' test.Utilities.SerializableObject [C: \ Projects \ Client \ Client \ Service.cs (19)] '
static Class ObjectConverter
{
static public SerializableObject ToSerializableObject(UnSerializableObject usObject)
{
SerializableObject sObject = new SerializableObject();
sObject.Item1 = usObject.Item1;
return sObject;
}
}
почему это происходит?и как мне это исправить?Есть ли лучший способ справиться с этим?