internal static FaultCodeData[] GetObjectData(FaultCode code) { FaultCodeData[] array = new FaultCodeData[FaultCodeData.GetDepth(code)]; for (int i = 0; i < array.Length; i++) { array[i] = new FaultCodeData(); array[i].name = code.Name; array[i].ns = code.Namespace; code = code.SubCode; } if (code != null) { Fx.Assert("FaultException.FaultCodeData.GetObjectData: (code != null)"); } return array; }
internal void AddFaultCodeObjectData(SerializationInfo info, string key, FaultCode code) { info.AddValue(key, FaultCodeData.GetObjectData(code)); }
internal static FaultCode Construct(FaultCodeData[] nodes) { FaultCode code = null; for (int i = nodes.Length - 1; i >= 0; i--) { code = new FaultCode(nodes[i].name, nodes[i].ns, code); } return code; }
internal FaultCode ReconstructFaultCode(SerializationInfo info, string key) { FaultCodeData[] data = (FaultCodeData[])info.GetValue(key, typeof(FaultCodeData[])); return(FaultCodeData.Construct(data)); }