CSharpUtils.StackTraceUtils.PreserveStackTrace C# (CSharp) Метод

PreserveStackTrace() публичный статический Метод

public static PreserveStackTrace ( Exception e ) : void
e System.Exception
Результат void
		public static void PreserveStackTrace(Exception e)
		{
			var ctx = new StreamingContext(StreamingContextStates.CrossAppDomain);
			var mgr = new ObjectManager(null, ctx);
			var si = new SerializationInfo(e.GetType(), new FormatterConverter());

			e.GetObjectData(si, ctx);
			mgr.RegisterObject(e, 1, si); // prepare for SetObjectData
			mgr.DoFixups(); // ObjectManager calls SetObjectData

			// voila, e is unmodified save for _remoteStackTraceString
		}
	}
StackTraceUtils