public static BaseMessagesFormatter Create (OperationDescription desc)
{
MethodInfo attrProvider = desc.SyncMethod ?? desc.BeginMethod;
object [] attrs;
#if !NET_2_1
attrs = attrProvider.GetCustomAttributes (typeof (XmlSerializerFormatAttribute), false);
if (attrs != null && attrs.Length > 0)
return new XmlMessagesFormatter (desc, (XmlSerializerFormatAttribute) attrs [0]);
#endif
attrs = attrProvider.GetCustomAttributes (typeof (DataContractFormatAttribute), false);
DataContractFormatAttribute dataAttr = null;
if (attrs != null && attrs.Length > 0)
dataAttr = (DataContractFormatAttribute) attrs [0];
return new DataContractMessagesFormatter (desc, dataAttr);
}