diff options
| author | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2020-10-25 16:58:42 +0200 |
|---|---|---|
| committer | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2020-10-25 16:58:42 +0200 |
| commit | d530d39d7ed9b05e3e233adc62dceba2fd17e1fe (patch) | |
| tree | 2e042288fdeedd12e3ca0ee331743ebc115eb4b2 /Software/Visual_Studio/Tango.PMR | |
| parent | adaddad79352c156303e9178a6f172a18af50cd2 (diff) | |
| download | Tango-d530d39d7ed9b05e3e233adc62dceba2fd17e1fe.tar.gz Tango-d530d39d7ed9b05e3e233adc62dceba2fd17e1fe.zip | |
Improved extension methods support on procedures.
Drastically reduces procedure designer loading time.
DataStore proto support fully working and tested.
Diffstat (limited to 'Software/Visual_Studio/Tango.PMR')
| -rw-r--r-- | Software/Visual_Studio/Tango.PMR/ExtensionMethods/IMessageExtensions.cs | 27 | ||||
| -rw-r--r-- | Software/Visual_Studio/Tango.PMR/Tango.PMR.csproj | 3 |
2 files changed, 29 insertions, 1 deletions
diff --git a/Software/Visual_Studio/Tango.PMR/ExtensionMethods/IMessageExtensions.cs b/Software/Visual_Studio/Tango.PMR/ExtensionMethods/IMessageExtensions.cs new file mode 100644 index 000000000..84acb51d2 --- /dev/null +++ b/Software/Visual_Studio/Tango.PMR/ExtensionMethods/IMessageExtensions.cs @@ -0,0 +1,27 @@ +using Google.Protobuf; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + + +public static class IMessageExtensions +{ + /// <summary> + /// Serializes this PMR message to byte array. + /// </summary> + /// <typeparam name="T"></typeparam> + /// <param name="message">The message.</param> + /// <returns></returns> + public static byte[] ToBytes<T>(this T message) where T : IMessage<T> + { + using (MemoryStream ms = new MemoryStream()) + { + message.WriteTo(ms); + return ms.ToArray(); + } + } +} + diff --git a/Software/Visual_Studio/Tango.PMR/Tango.PMR.csproj b/Software/Visual_Studio/Tango.PMR/Tango.PMR.csproj index 7b3a7c397..bb44ef591 100644 --- a/Software/Visual_Studio/Tango.PMR/Tango.PMR.csproj +++ b/Software/Visual_Studio/Tango.PMR/Tango.PMR.csproj @@ -189,6 +189,7 @@ <Compile Include="Exports\JobFileLiquidVolume.cs" /> <Compile Include="Exports\JobFileSegment.cs" /> <Compile Include="ExtensionMethods.cs" /> + <Compile Include="ExtensionMethods\IMessageExtensions.cs" /> <Compile Include="ExtensionMethods\VersionPackageDescriptorExtensions.cs" /> <Compile Include="FirmwareUpgrade\ActivateVersionRequest.cs" /> <Compile Include="FirmwareUpgrade\ActivateVersionResponse.cs" /> @@ -482,7 +483,7 @@ </PropertyGroup> <ProjectExtensions> <VisualStudio> - <UserProperties BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UseGlobalSettings="False" BuildVersion_StartDate="2000/1/1" /> + <UserProperties BuildVersion_StartDate="2000/1/1" BuildVersion_UseGlobalSettings="False" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" /> </VisualStudio> </ProjectExtensions> </Project>
\ No newline at end of file |
