od.Messages.Add (GetMessage (od, mi, oca, true, isCallback, null));
if (!od.IsOneWay)
od.Messages.Add (GetMessage (od, mi, oca, false, isCallback, asyncReturnType));
- foreach (ServiceKnownTypeAttribute a in cd.ContractType.GetCustomAttributes (typeof (ServiceKnownTypeAttribute), false))
- foreach (Type t in a.GetTypes ())
- od.KnownTypes.Add (t);
- foreach (ServiceKnownTypeAttribute a in serviceMethod.GetCustomAttributes (typeof (ServiceKnownTypeAttribute), false))
+ var knownTypeAtts =
+ cd.ContractType.GetCustomAttributes (typeof (ServiceKnownTypeAttribute), false).Union (
+ mi.GetCustomAttributes (typeof (ServiceKnownTypeAttribute), false)).Union (
+ serviceMethod.GetCustomAttributes (typeof (ServiceKnownTypeAttribute), false));
+ foreach (ServiceKnownTypeAttribute a in knownTypeAtts)
foreach (Type t in a.GetTypes ())
od.KnownTypes.Add (t);
foreach (FaultContractAttribute a in mi.GetCustomAttributes (typeof (FaultContractAttribute), false)) {