mirror of
https://github.com/ZuneDev/MicrosoftIris.git
synced 2026-07-27 13:13:29 -07:00
Add debugger serialization and deserialization helpers
This commit is contained in:
@@ -1,4 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.IO;
|
||||||
|
using System.Runtime.Serialization;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
namespace Microsoft.Iris.Debug.Data;
|
namespace Microsoft.Iris.Debug.Data;
|
||||||
@@ -54,4 +56,10 @@ public class DebuggerMessageFrame
|
|||||||
}
|
}
|
||||||
|
|
||||||
public string GetDataAsString(Encoding encoding = null) => (encoding ?? Encoding.UTF8).GetString(Data);
|
public string GetDataAsString(Encoding encoding = null) => (encoding ?? Encoding.UTF8).GetString(Data);
|
||||||
|
|
||||||
|
public T DeserializeData<T>(IFormatter formatter)
|
||||||
|
{
|
||||||
|
using MemoryStream stream = new(Data);
|
||||||
|
return (T)formatter.Deserialize(stream);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Net.Sockets;
|
using System.Net.Sockets;
|
||||||
using System.Runtime.Serialization;
|
using System.Runtime.Serialization;
|
||||||
@@ -41,4 +40,11 @@ public static class DebugRemoting
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal static byte[] Serialize(this object obj, IFormatter formatter)
|
||||||
|
{
|
||||||
|
using MemoryStream dataStream = new();
|
||||||
|
formatter.Serialize(dataStream, obj);
|
||||||
|
return dataStream.ToArray();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user