Я решил создать функцию для инкапсуляции многих строк кода в 1 строку кода. Таким образом, этот пример скрипта. То, что я не мог получить, - получить класс Type
и передать его параметру ObjectContent
, чтобы он работал.Как получить тип объекта и передать его объекту ObjectContent
Посмотрите на xmlObjectType
переменных в ObjectContent<xmlObjectType>(....)
и System.Type
присвоении xmlObjectType
с использованием GetType()
на переданном в объекте В параметре. Что вы делаете, чтобы получить фактический тип объекта для работы с ObjectContent
?
public class XmlError
{
public string Message { get; set; }
}
public class XmlBuilderTools
{
public HttpResponseMessage ErrorResponse(object parmXmlErrorLayout)
{
HttpResponseMessage httpResponseMsg = new HttpResponseMessage();
Type xmlObjectType = parmXmlErrorLayout.GetType();
httpResponseMsg.StatusCode = HttpStatusCode.BadRequest;
httpResponseMsg.Content = new ObjectContent<xmlObjectType>(parmXmlErrorLayout, new XmlMediaTypeFormatter());
}
}
//Acutual scripts...
XmlBuilderTools xmlBuilderTools = new XmlBuilderTools();
XmlError xmlError = new XmlError();
xmlError.Message = "Foo";
return xmlBuilderTools.ErrorResponse(xmlError);
Edited
- Нашли обходной путь к этой проблеме. Вам не нужно вызывать его, вместо этого используйте другую перегрузку объектов, которая работает. Меня ду!
httpResponseMsg.Content = new ObjectContent(parmXmlErrorLayout.GetType(), parmXmlErrorLayout, new CustomXmlFormatter());
В отличие от форумов, мы не используем «Спасибо» или «Любая помощь оценена» или подписи на [so]. См. «[Должны ли« Привет »,« спасибо », теги и приветствия удалены из сообщений?] (Http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be –