Клонирование экземпляра объекта в его базовый тип - PullRequest
1 голос
/ 25 января 2012

У меня есть следующий класс:

public class AddCouponInfoRequest : namespace.Request 
{

}

У меня есть экземпляр AddCouponInfoRequest в моей руке, и я хочу получить экземпляр namespace.Request с теми же значениями.

Это не работает нормально:

namespace.Request req = (namespace.Request)request;
string xml = req.SerializeToXml();

Значение xml после сериализации:

<<strong> AddCouponInfoRequest xmlns: xsd = \ "http://www.w3.org/2001/XMLSchema\" xmlns: xsi = \ "http://www.w3.org/2001/XMLSchema-instance\">\r\n \ r \ n \ r \ n ...

Мне нужен чистый объект namespace.Request.Каков наилучший способ сделать это?

Заранее спасибо,

1 Ответ

1 голос
/ 25 января 2012

SerializeToXml - это виртуальный метод, поэтому логично, что он всегда вызывает переопределенный метод.

Можно, например, создать новый метод для AddCouponInfoRequest

string SerializeToXmlAsParent()
{
    return base.SerializeToXml();
}
...